4.7. 从不健康的存储集群中移除 Ceph Monitor
您可以从不健康的存储集群中删除 ceph-mon
守护进程。不健康的存储集群是,其持续具有没有处于 active + clean
状态的放置组。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- Ceph 监控节点的根级别访问权限.
- 至少一个运行 Ceph Monitor 节点。
流程
识别 Surviving 监控器并登录到主机:
语法
ssh root@MONITOR_ID
示例
[root@admin ~]# ssh root@host00
登录到每个 Ceph Monitor 主机并停止所有 Ceph Monitor:
语法
cephadm unit --name DAEMON_NAME.HOSTNAME stop
示例
[root@host00 ~]# cephadm unit --name mon.host00 stop
设置适合扩展守护进程维护的环境,并以交互方式运行守护进程:
语法
cephadm shell --name DAEMON_NAME.HOSTNAME
示例
[root@host00 ~]# cephadm shell --name mon.host00
提取
monmap
文件的副本:语法
ceph-mon -i HOSTNAME --extract-monmap TEMP_PATH
示例
[ceph: root@host00 /]# ceph-mon -i host01 --extract-monmap /tmp/monmap 2022-01-05T11:13:24.440+0000 7f7603bd1700 -1 wrote monmap to /tmp/monmap
删除非可见的 Ceph 监控器:
语法
monmaptool TEMPORARY_PATH --rm HOSTNAME
示例
[ceph: root@host00 /]# monmaptool /tmp/monmap --rm host01
将 surviving monitor map 与已删除 monitor 注入 surviving Ceph Monitor:
语法
ceph-mon -i HOSTNAME --inject-monmap TEMP_PATH
示例
[ceph: root@host00 /]# ceph-mon -i host00 --inject-monmap /tmp/monmap
仅启动 Surviving 监控器:
语法
cephadm unit --name DAEMON_NAME.HOSTNAME start
示例
[root@host00 ~]# cephadm unit --name mon.host00 start
验证 monitor 形成仲裁:
示例
[ceph: root@host00 /]# ceph -s
-
可选:在
/var/lib/ceph/CLUSTER_FSID/mon.HOSTNAME
目录中归档已删除的 Ceph Monitor 的数据目录。