问题现象
原因分析
从 ceph health detail
输出信息来看,是node3节点出现的异,导出无法完成quorum。经过信息核对,node3节点的IP地址和实际配置的IP地址是不匹配的。而通过在正常的节点node1上执行 ceph daemon mon.node1 mon_status
进行核实map信息,map中记录的node3的地址存在错误。
处理过程
1、停掉有问题的mon进程
2、抽取map,命令如下:
ceph-mon -i {id} --extract-monmap /tmp/monmap
如:
ceph-mon -i node3 --extract-monmap /tmp/monmap
3、修改map,把有异常的map信息删除,命令如下:
monmaptool --rm node3 /tmp/monmap
4、可以通过print命令来验证一下是否已经删掉,命令如下:
执行结果类似如下这样:
monmaptool: monmap file /tmp/monmap
epoch 3
fsid 9a0ef35c-691a-4c3c-b242-c5a57e43e08a
last_changed 2018-07-20 12:01:29.580779
1: 192.168.1.11:6789/0 mon.node2
5、重新把正确的ip添加到monmap,命令如下:
如:
monmaptool --add node3 192.168.1.12:6789 /tmp/monmap
6、注入monmap,命令如下:
ceph-mon -i {id} --inject-monmap /tmp/monmap
7、重启mon进程,命令如下:
如:
systemctl start ceph-mon@node3
结果验证
通过 ceph -s
或 确认集群状态为HEALTH_OK