CEPH集群MON全部挂掉后恢复方法
2017/11/14 恩松
本文介绍ceph集群中所有mon服务均无法启动或者说mon节点所在服务器os全部无法启动情况下的恢复方法,当然,这种极端情况出现的概率非常低,这里前提是要做好mon节点的配置文件和元数据备份,不然就没办法恢复了。我的环境是使用kolla部署的,恢复方法也都是基于kolla工具下才有效,如果采用物理机部署,具体操作上会有所区别,但大致的思路和原理是一样的。
备份配置文件及元数据
采用kolla部署,默认的元数据存储路径如下
[root@node01 mon]# cd /var/lib/docker/volumes/ceph_mon/_data/mon/ceph-172.21.196.11/
[root@node01 ceph-172.21.196.11]# ls
keyring store.db
将该目录完整备份
[root@node01 ~]# cp -r /var/lib/docker/volumes/ceph_mon/_data/ /root/ceph-mon-bak/
另外还有 配置文件,里面保存了key,默认路径如下:
[root@node01 ~]# cd /etc/kolla/ceph-mon/
[root@node01 ceph-mon]# ls
ceph.client.admin.keyring ceph.client.mon.keyring ceph.client.radosgw.keyring ceph.conf ceph.monmap config.json
同样,将该目录完整备份
[root@node01 ceph-mon]# cp -r /etc/kolla/ceph-mon /root/ceph-mon-bak/
我这里所有的相关进程都是跑在docker里,删除mon服务和数据之前先看下集群的整体状态
[root@node01 kolla]# docker exec -ti ceph_mon /bin/bash
(ceph-mon)[root@node01 /]# ceph -s
cluster 84ff3941-2337-40ca-bd76-fb3be71b0fdd
health HEALTH_OK
monmap e4: 2 mons at {
172.21.196.11=172.21.196.11:6789/0,172.21.196.12=172.21.196.12:6789/0}