问题现象

原因分析

ceph health detail 输出信息来看,是node3节点出现的异,导出无法完成quorum。经过信息核对,node3节点的IP地址和实际配置的IP地址是不匹配的。而通过在正常的节点node1上执行 ceph daemon mon.node1 mon_status 进行核实map信息,map中记录的node3的地址存在错误。

处理过程

1、停掉有问题的mon进程
    2、抽取map,命令如下:
    1. ceph-mon -i {id} --extract-monmap /tmp/monmap

    如:

    1. ceph-mon -i node3 --extract-monmap /tmp/monmap
    3、修改map,把有异常的map信息删除,命令如下:
    1. monmaptool --rm node3 /tmp/monmap
    4、可以通过print命令来验证一下是否已经删掉,命令如下:

    执行结果类似如下这样:

    1. monmaptool: monmap file /tmp/monmap
    2. epoch 3
    3. fsid 9a0ef35c-691a-4c3c-b242-c5a57e43e08a
    4. last_changed 2018-07-20 12:01:29.580779
    5. 1: 192.168.1.11:6789/0 mon.node2
    5、重新把正确的ip添加到monmap,命令如下:

    如:

    1. monmaptool --add node3 192.168.1.12:6789 /tmp/monmap
    6、注入monmap,命令如下:
    1. ceph-mon -i {id} --inject-monmap /tmp/monmap
      7、重启mon进程,命令如下:

      如:

      1. systemctl start ceph-mon@node3

      结果验证

      通过 ceph -s 或 确认集群状态为HEALTH_OK