文档目录

适用场景

  • 产品:ZCF
  • 组件:ZCE-X
  • 涉及对象:ZCE-X / ZStack Cloud;Ceph、Postgres、ES/ETCD、ant-queen、隔离 OSD
  • Versions: ZCE-X 6.4.100.3,ZStack Cloud 5.3.28 kylin sp3
  • 触发条件: 生产环境中存在被隔离的 OSD 磁盘,需要在确认环境健康和数据恢复策略后解除隔离并恢复数据平衡。

问题现象

  • 环境存在被隔离的 OSD 磁盘。
  • 当前场景中有 3 块隔离盘,可一次性全部解除隔离。
  • 操作过程中需要持续观察 Ceph 状态,避免影响业务和数据一致性。

判断方法

  1. 确认 Ceph 集群处于 OK 状态。
  2. 检查 Postgres 主备同步状态,要求 LSN 一致、Diff=0。
  3. 检查 ES / ETCD 集群健康状态正常。
  4. 通过 ant-queen manage dump-isolated-disk 确认被隔离磁盘的 wwid 和数量。
  5. 在 UI 界面观察数据盘恢复健康,且数据平衡已重新开始。

原因说明

当前环境存在隔离 OSD,需要按标准的 OSD 解除隔离方案执行,确保在生产环境中恢复这些磁盘时不影响业务并保持数据一致性。

解决方案

1. 执行前准备

  • 风险等级:中风险
  • 操作前需要确认集群环境健康。
  • 变更前关闭云平台高可用,并在存储平台开启“禁止数据恢复”。
  • 整个操作过程中持续观察 ceph -s。

2. 处理步骤

  1. 检查集群状态与云平台环境。
  • 确认 Ceph 集群为 OK 状态。
  • 预期结果:环境满足恢复隔离 OSD 的前置条件。
  1. 检查 Postgres 主备同步状态。
   xms-manage db show-replication-info
  • 要求:LSN 一致、Diff=0。
  • 预期结果:数据库同步状态正常。
  1. 检查 ES 和 ETCD 集群健康状态。
   xms-manage -s
  • 预期结果:ES / ETCD 集群健康状态正常。
  1. 新开一个窗口持续观察存储状态。
   watch -n 1 ceph -s
  • 预期结果:能够实时监控 Ceph 状态变化。
  1. 登录存储平台,在“系统设置 -> 全局设置”中打开“禁止数据恢复”。
  • 预期结果:在解除隔离前暂停自动数据恢复行为。
  1. 查找主 ant-queen 节点并查看隔离磁盘信息。
   ant-queen manage dump-princess
   ant-queen manage dump-isolated-disk
  • dump-isolated-disk 用于查看被隔离磁盘的 wwid 和当前隔离数量。
  • 预期结果:获得待恢复磁盘的 wwid 列表。
  1. 在主 ant-queen 节点执行解除隔离命令。
   ant-queen manage unset-isolate --wwid <wwid>
  • 由于当前场景有 3 块隔离盘,可按方案一次性全部解除隔离。
  • 预期结果:目标隔离盘被解除隔离。
  1. 在 UI 界面观察数据盘是否恢复健康。
  • 预期结果:被隔离数据盘恢复正常状态。
  1. 恢复数据平衡。
  • 在存储 UI 中将 QoS 恢复为低速,并开启数据恢复。
  • 预期结果:开始数据平衡恢复。
  1. 云平台侧重新开启云主机全局高可用。
  • 预期结果:平台恢复正常高可用状态。

验证方法

  • 使用 watch -n 1 ceph -s 持续确认存储状态正常。
  • 检查 xms-manage db show-replication-info 中 LSN 一致、Diff=0。
  • 检查 UI 中数据盘已恢复健康。
  • 检查数据平衡已开始恢复,高可用已重新开启。

风险与回滚

  • 风险:若在环境不健康或数据恢复策略不正确的情况下解除隔离,可能影响业务与数据一致性。
  • 风险等级:中。
  • 回滚:重点要求严格按标准方案执行,并在异常时立即停止后续操作,转入应急处理。

异常处理建议

如变更过程中出现异常,应立即停止后续操作,并按回退方案进行恢复;必要时根据现场需求完成回退操作。

分布式存储恢复隔离 OSD | 技术方案 · KB | ZStack 资源中心