Mon失效处理方法
假设环境为三个mon,主机名为mon1、mon2、mon3,现在mon3上面的系统盘损坏,mon的数据完全丢失,现在需要对mon3进行恢复处理
1、停止所有mon进程,可以不停其他进程,需要停止内核客户端以及对外的服务,防止卡死
在mon1机器上执行
/etc/init.d/ceph stop mon
在mon2机器上执行
/etc/init.d/ceph stop mon
2、分别在mon主机上获取当前的monmap
在mon1机器上执行
ceph-mon -i mon1 --extract-monmap /tmp/monmap
备份原始monmap
cp /tmp/monmap /tmp/monmapbk
在mon2机器上执行
ceph-mon -i mon2 --extract-monmap /tmp/monmap
备份原始monmap
cp /tmp/monmap /tmp/monmapbk
3、处理monmap,去掉损坏的mon3的map信息
在mon1机器上执行
monmaptool /tmp/monmap --rm mon3
在mon2机器上执行
monmaptool /tmp/monmap --rm mon3
4、导入修改后的monmap信息
在mon1机器上执行
ceph-mon -i mon1 --inject-monmap /tmp/monmap
在mon2机器上执行
ceph-mon -i mon2 --inject-monmap /tmp/monmap
5、启动mon进程
在mon1机器上执行
/etc/init.d/ceph start mon
在mon2机器上执行
/etc/init.d/ceph start mon
6、检查当前的mon信息,应该显示的是只有两个mon,再新加mon即可
ceph -s
写于:2015年11月1日