适用场景
- 产品:
ZCF - 组件:
ZStack Cloud、ZStone - ZStack Cloud 版本:
4.8.x - ZStone 版本:
5.2.x - 操作系统:
h84r - 部署形态:3 节点超融合、双管理节点
- 触发条件:管理节点因 RAID 卡故障,需要重装系统并恢复管理与存储角色。
问题现象
- 超融合节点中的一个管理节点发生 RAID 卡故障。
- 该节点既承担管理节点角色,也关联存储 mon / OSD / 缓存资源。
- 需要先剥离旧节点,再重装并重新纳管。
判断方法
- 确认故障节点需要重装系统恢复。
- 重装后确认 Cloud、ZStone、高可用和存储角色全部恢复。
- 检查新节点重新加入后平台和存储状态正常。
原因说明
这是由于管理节点 RAID 卡故障导致的恢复场景,因此需要通过完整重装、角色重建和双管理重组来恢复环境。
解决方案
- 执行前准备
- 风险等级:中风险
- 先关闭平台高可用和存储数据恢复。
- 先备份 Cloud 与 ZStone 数据库。
- 在 UI 和存储平台上先清理故障节点相关资源。
- 清理故障节点旧资源
- 关闭全局高可用开关。
- 关闭数据恢复开关。
- 备份数据库:
zstack-ctl dump_mysql
mysqldump -uroot -p<数据库密码> zstone > /var/lib/zstack/mysql-backup/zstone-backup.sql
- 预期结果:Cloud 与存储数据库备份完成。
- 在 Cloud UI 上移除需要变更的 mon 节点和计算节点。
- 预期结果:平台侧不再引用故障节点。
- 在存储平台移除对应节点的 OSD、缓存分区并删除对应节点。
- 如 UI 无法删除,可通过 API 强制删除:
DELETE /api/v1/block/osdDELETE /api/v1/block/host- 预期结果:故障节点的存储资源记录被清理。
- 在底层删除故障节点 down 掉的 OSD:
ceph osd --force purge osd.X
- 预期结果:残留 OSD 记录被移除。
- 在正常节点数据库中删除异常节点授权记录:
mysql -uroot -p<数据库密码> zstone
delete from LicenseAppIdVO where hostIp='<故障节点管理IP>';
- 预期结果:旧节点授权绑定关系被清理。
- UI 重新 reload License。
- 再次备份数据库。
- 预期结果:进入重装前的干净状态。
- 重装故障节点
- 对故障节点重装系统并配置网络。
- ISO:
ZStack-x86_64-DVD-4.8.18-h84r.iso - 网络:
br_bond0: <管理网网段>br_bond2: <存储网网段>- 预期结果:节点基础网络恢复。
- 配置服务器时间并写入硬件时间。
- 预期结果:时间同步正常。
- 安装云平台管理服务,并申请临时授权。
- 预期结果:Cloud 管理能力恢复。
- 修改新节点数据库密码:
zstack-ctl change_mysql_password --root-password <当前数据库_root_密码> --user-name root --new-password <新数据库_root_密码>
- 预期结果:数据库密码与现网统一。
- 修改
zstack.properties。
- 预期结果:Cloud 配置指向正确环境。
- 在故障节点重新安装
ZStone 5.2.x。
- 配置文件只写故障节点地址。
- 提示:一定要先安装存储,再去正常节点安装高可用,否则 zstone 数据库可能会被覆盖。
- 预期结果:故障节点的 ZStone 服务恢复。
- 重组双管理与高可用
- 在存活管理节点执行高可用安装:
tar zxvf ZStack-Multinode-HA-Suite.tar.gz
chmod +x zsha2 zstack-hamoo
./zsha2 sample-config > zs-install.config
- 配置关键项:
gatewayvirtualIpmyIppeerIpdbRootPassinterfacetimeServer- 预期结果:双管理高可用配置就绪。
- 在故障节点按 VIP 重写 ZStone 配置。
- 从存活管理节点搜索包含各管理 IP/VIP 的配置项,并在故障节点按需改写为 VIP。
- 预期结果:双管理配置统一。
- 重启相关服务:
zstone-masterzstnmonzstone-uitemporal-history / frontend / matching / worker / webpostgresql-9.6.xzstone-prometheuszstone-alertmanagerzstone-pushgatewaythanos-querythanos-sidecar- 预期结果:管理与监控服务恢复。
- 恢复纳管
- 在存储 UI 添加原节点,并添加缓存盘、数据盘。
- 添加 OSD 到存储内,并开启数据恢复。
- 在 Cloud 添加对应节点、mon 节点和计算节点。
- 最后重新打开高可用开关。
- 预期结果:故障节点重新纳管完成,环境恢复到双管理状态。
验证方法
- 检查 Cloud 与 ZStone 数据库恢复正常。
- 检查故障节点恢复后的网络、时间、授权和管理服务正常。
- 检查存储 UI 中缓存盘、数据盘、OSD 和 mon 恢复。
- 检查双管理高可用恢复正常。
风险与回滚
- 风险:这是管理节点重建 + 存储角色重组,若顺序错误可能影响 Cloud 与 ZStone 数据一致性。
- 风险:警告若先装高可用再装存储,可能覆盖 zstone 数据库。
- 风险等级:中。
- 回滚:重建服务无法回退,若出现问题需要按报错逐项解决,而不是执行标准回滚。
