文档目录

适用场景

  • 产品:ZCF
  • 组件:ZCE-X、ZStone
  • 版本:5.2.x
  • 部署形态:三台服务器超融合、双管理节点
  • 触发条件:cube-4 上一块缓存盘故障掉盘,系统无法识别,关联多个 OSD 异常,需要更换该缓存盘。

问题现象

  • cube-4 的一块缓存盘已故障掉盘。
  • 操作系统无法识别该缓存盘。
  • 关联 5 个 OSD 异常。

判断方法

  1. 用 casadm -L 确认故障缓存盘关联的磁盘。
  2. 用 lsblk 确认盘符与 OSD ID 的对应关系。
  3. 更换完成后检查新缓存盘、OSD、存储池和集群状态恢复健康。

原因说明

故障节点的一块缓存盘掉盘且不可识别,导致多个 OSD 异常,因此需要先解除缓存盘与 OSD 的关系,再进行缓存盘更换和重建。

解决方案

  1. 执行前准备
  • 风险等级:中风险
  • 先关闭云平台全局高可用。
  • 在变更节点上持续观察 ceph -s。
  • 在存储平台先开启“禁止数据恢复”。
  1. 处理步骤
  2. 云平台关闭全局高可用。
  • 预期结果:避免变更期间平台误触发高可用动作。
  1. SSH 登录存储节点,持续观察存储状态:
   watch -n 1 ceph -s
  • 预期结果:实时掌握存储健康状态变化。
  1. 在存储平台开启“禁止数据恢复”。
  • 预期结果:变更期间避免自动恢复导致额外扰动。
  1. 识别故障缓存盘关联关系:
   casadm -L
   lsblk
  • 预期结果:明确故障缓存盘对应的 disk 与 OSD 数据盘关系。
  1. 在存储池中移除该缓存盘关联的 OSD 数据盘。
  • 在“存储池”页面执行“移除数据盘”。
  • 勾选目标服务器上待更换缓存盘关联的全部 OSD 数据盘。
  • 预期结果:关联 OSD 从存储池中安全移出。
  1. 删除 OSD 数据盘。
  • 在“数据盘”页面删除已从存储池移除的 OSD。
  • 若为混合存储,OSD 删除后还需删除 SSD 缓存分区。
  • 在“硬盘”页面执行“清理缓存”。
  • 预期结果:缓存盘上的旧缓存关系和 OSD 关系清理完成。
  1. 定位并更换故障 SSD 缓存盘。
  • 在“硬盘”页面执行“硬盘点灯”定位盘位。
  • 若服务器支持热插拔,则直接替换新盘。
  • 预期结果:新缓存盘物理替换完成。
  1. 添加新的 SSD 缓存盘。
  • 在“硬盘管理”中设置缓存分区,分区个数保持与更换前一致。
  • 预期结果:新缓存盘初始化完成。
  1. 添加 OSD 数据盘。
  • 在“数据盘管理”页面创建数据盘,并启用缓存分区。
  • 预期结果:与新缓存盘关联的 OSD 数据盘重新创建完成。
  1. 在存储池中重新添加 OSD 数据盘。
  • 预期结果:OSD 重新纳入存储池。
  1. 开启数据恢复,并等待集群恢复健康。
  • 预期结果:存储数据重新平衡并恢复正常。
  1. 做存储健康检查。
  • 预期结果:集群状态恢复健康。
  1. 云平台恢复全局高可用。
  • 预期结果:平台恢复正常运行。

验证方法

  • 检查新缓存盘已被识别并完成分区。
  • 检查 OSD 重新创建并加入存储池。
  • 检查 ceph -s / 存储平台状态恢复健康。
  • 检查云平台恢复高可用后资源状态正常。

风险与回滚

  • 风险:更换缓存盘前若未先移除关联数据盘,可能带来更高的存储数据风险。
  • 风险:数据恢复期间可能增加 IO 延迟,影响高 IO 业务云主机。
  • 风险等级:中。
  • 回滚:无标准命令级回退链路;若出现问题,应立即停止操作、内部同步风险并讨论后续方案。
ZStone 存储节点缓存盘更换 | 技术方案 · KB | ZStack 资源中心