适用场景
- 产品:ZCF
- 组件:ZCE-X
- 涉及对象:ZCE-X / ZStack Cloud;Ceph、Postgres、ES/ETCD、ant-queen、隔离 OSD
- Versions: ZCE-X
6.4.100.3,ZStack Cloud5.3.28 kylin sp3 - 触发条件: 生产环境中存在被隔离的 OSD 磁盘,需要在确认环境健康和数据恢复策略后解除隔离并恢复数据平衡。
问题现象
- 环境存在被隔离的 OSD 磁盘。
- 当前场景中有 3 块隔离盘,可一次性全部解除隔离。
- 操作过程中需要持续观察 Ceph 状态,避免影响业务和数据一致性。
判断方法
- 确认 Ceph 集群处于 OK 状态。
- 检查 Postgres 主备同步状态,要求 LSN 一致、Diff=0。
- 检查 ES / ETCD 集群健康状态正常。
- 通过
ant-queen manage dump-isolated-disk确认被隔离磁盘的 wwid 和数量。 - 在 UI 界面观察数据盘恢复健康,且数据平衡已重新开始。
原因说明
当前环境存在隔离 OSD,需要按标准的 OSD 解除隔离方案执行,确保在生产环境中恢复这些磁盘时不影响业务并保持数据一致性。
解决方案
1. 执行前准备
- 风险等级:中风险
- 操作前需要确认集群环境健康。
- 变更前关闭云平台高可用,并在存储平台开启“禁止数据恢复”。
- 整个操作过程中持续观察
ceph -s。
2. 处理步骤
- 检查集群状态与云平台环境。
- 确认 Ceph 集群为 OK 状态。
- 预期结果:环境满足恢复隔离 OSD 的前置条件。
- 检查 Postgres 主备同步状态。
xms-manage db show-replication-info
- 要求:LSN 一致、Diff=0。
- 预期结果:数据库同步状态正常。
- 检查 ES 和 ETCD 集群健康状态。
xms-manage -s
- 预期结果:ES / ETCD 集群健康状态正常。
- 新开一个窗口持续观察存储状态。
watch -n 1 ceph -s
- 预期结果:能够实时监控 Ceph 状态变化。
- 登录存储平台,在“系统设置 -> 全局设置”中打开“禁止数据恢复”。
- 预期结果:在解除隔离前暂停自动数据恢复行为。
- 查找主 ant-queen 节点并查看隔离磁盘信息。
ant-queen manage dump-princess
ant-queen manage dump-isolated-disk
dump-isolated-disk用于查看被隔离磁盘的wwid和当前隔离数量。- 预期结果:获得待恢复磁盘的
wwid列表。
- 在主 ant-queen 节点执行解除隔离命令。
ant-queen manage unset-isolate --wwid <wwid>
- 由于当前场景有 3 块隔离盘,可按方案一次性全部解除隔离。
- 预期结果:目标隔离盘被解除隔离。
- 在 UI 界面观察数据盘是否恢复健康。
- 预期结果:被隔离数据盘恢复正常状态。
- 恢复数据平衡。
- 在存储 UI 中将 QoS 恢复为低速,并开启数据恢复。
- 预期结果:开始数据平衡恢复。
- 云平台侧重新开启云主机全局高可用。
- 预期结果:平台恢复正常高可用状态。
验证方法
- 使用
watch -n 1 ceph -s持续确认存储状态正常。 - 检查
xms-manage db show-replication-info中 LSN 一致、Diff=0。 - 检查 UI 中数据盘已恢复健康。
- 检查数据平衡已开始恢复,高可用已重新开启。
风险与回滚
- 风险:若在环境不健康或数据恢复策略不正确的情况下解除隔离,可能影响业务与数据一致性。
- 风险等级:中。
- 回滚:重点要求严格按标准方案执行,并在异常时立即停止后续操作,转入应急处理。
异常处理建议
如变更过程中出现异常,应立即停止后续操作,并按回退方案进行恢复;必要时根据现场需求完成回退操作。
