mon故障
mon无法启动
- 现象描述
因为某些原因,导致ceph-mon无法启动。ceph-mon 无法启动,原因可能是mointor level db 损坏,数据的丢失等。在OS 正常的情况下(osd运行正常),只是ceph-mon 无法启动。
这种情况下,剔除节点然后再 加入,会导致数据的2次均衡,如果数据量大,耗时比较久。所以,可以通过重建ceph-mon的方式来实现
- 处理
1,在当前节点,停掉ceph-mon,导出monmap,然后通过monmaptool工具手动修改 monmap,修改完 再导入到 剩余的mon map里,最后通过ceph mon dump验证是否删除成功
ceph-mon -i {mon-id} --extract-monmap {map-path}
# for example,
ceph-mon -i a --extract-monmap /tmp/monmap
monmaptool {map-path} --rm {mon-id}
#for example
monmaptool /tmp/monmap --rm b
ceph-mon -i {mon-id} --inject-monmap {map-path}
# for example,
ceph-mon -i a --inject-monmap /tmp/monmap
2,删除成功后,开始重新添加 ,通过ceph-mon leader 导出 现有的monmap
ceph -m 10.10.10.62 mon getmap -o monmap
3,在/data/目录生成ceph-mon 目录,mon-id 是5个字符串,
ceph-mon -i wsgws --mkfs --monmap monmap
4,将新的ceph-mon 加入monmap
ceph mon add wsgws 10.10.10.61:6789
4,重启 ezs3-agent 会将 新的mon加入到 ceph.conf
OSD故障
FAILED assert(0 == "unexpected error")
- 现象描述
ceph 0.67版本,osd的日志中有 如下报错
-3> 2017-10-18 16:44:55.36