主要是处理Ceph的正确下电。
下电
操作前检查
确认Ceph集群状态健康
1 | ceph health detail |
返回必须且只能是HEALTH_OK
,严禁带错误下电集群。
如果是HEALTH_WARN
或HEALTH_ERR
必须先等待集群恢复或修复错误。
暂停所有可能的IO
将所有虚拟机和CT容器进行关机或暂停处理,防止节点下电后触发HA,也终止对Ceph的IO。
禁止自动恢复
在任一节点上执行如下操作:
- 防止 OSD 被标记为 out
1
ceph osd set noout
- 禁止重平衡和自动恢复
1
2ceph osd set norebalance
ceph osd set nobackfill - 禁止数据恢复
1
ceph osd set norecover
- 禁止将节点标记为down
1
ceph osd set nodown
- 暂停IO
1
ceph osd set pause
终止Ceph服务
- 在每个Monitor节点上停止Mon/Mgr:
1
2systemctl stop ceph-mon.target
systemctl stop ceph-mgr.target - 在每个节点上停止MDS(CephFS):
1
systemctl stop ceph-mds.target
- 在每个节点上停止OSD:
1
systemctl stop ceph-osd.target
硬件下电
- 服务器下电:
1
shutdown -h now
- 网络设备下电
建议一台一台下电,顺序依照 VM/CT → 纯计算节点 → OSD节点 → Monitor节点 → 网络 顺序进行下电。
上电
操作前检查
确认网络正常,路由可连通,线路连接牢固。
硬件上电
按照顺序依次对硬件进行上电:
网络设备 → Monitor节点 → OSD节点 → 纯计算节点
查看Ceph服务状态
- 查看服务是否正确启动:我这里看状态正常,服务因为都设置了
1
systemctl status ceph.target
enable
所以可以跟随系统启动。如果有异常需要先处理异常。 - 查看集群状态:此时可能会提示Warn,这是正常的。
1
ceph -s
- 解除防止自动恢复标志:
1
2
3
4
5
6ceph osd unset pause
ceph osd unset nodown
ceph osd unset noout
ceph osd unset nobackfill
ceph osd unset norebalance
ceph osd unset norecover - 查看集群状态:此时应该还是处于
1
ceph -s
HEALTH_WARN
,待一段时间后就会恢复正常。
待ceph状态恢复为HEALTH_OK
之后即可启动VM和CT。