问题说明
本文用于排查“存储迁移 / 根盘真实容量 / 任务残留”类问题。
适用环境
- 产品:ZCF
- 组件:Cloud
- 涉及对象:云主机根盘/系统盘
- 版本:4.x、5.x
- 场景:存储迁移 / 根盘真实容量 / 任务残留
问题现象
- 云主机根盘、系统盘、RootVolume、快照、迁移、容量或性能链路出现异常。
- 平台状态、底层卷状态和 Guest OS 内部分区/文件系统结果不一致。
- 根盘相关任务完成状态、迁移状态或监控指标存在残留或缺失。
可能原因
- 根盘所在主存储与集群、物理机、镜像仓库或调度关系不满足条件。
- Guest OS 分区、LVM、文件系统或驱动变化导致容量/启动/监控异常。
- 快照、迁移、重置或任务取消后平台状态与底层对象未完全收敛。
排查步骤
- 记录 vmUuid、rootVolumeUuid、primaryStorageUuid、hostUuid、clusterUuid、任务 uuid 和失败时间。
- 核对平台 RootVolume size/actualSize/installPath 与 Guest OS 内部分区、LVM、文件系统状态。
- 检查 management-server 日志、任务日志和底层存储对象,确认快照、迁移、重置或监控链路失败点。
- 如需修复根盘链路,先确认备份、快照、镜像链、业务停机窗口和回滚路径。
关键命令
zstack-cli QueryVmInstance uuid=<vmUuid>
zstack-cli QueryVolume vmInstanceUuid=<vmUuid> type=Root
zstack-cli QueryPrimaryStorage uuid=<psUuid>
lsblk -f
df -h
grep -a -nE "<rootVolumeUuid>|<taskUuid>|snapshot|migrate|trash|actualSize" /usr/local/zstack/apache-tomcat/logs/management-server.log*
解决方案
- 按具体案例修复根盘调度关系、容量识别、快照链、迁移残留或监控链路。
- 根盘涉及云主机启动能力,处理前优先保留现场和可回滚副本。
验证方法
- 复核本文所述现象是否消失。
- 平台 UI、API、管理节点日志和底层命令输出能够相互印证。
- 至少观察一个相关任务周期或告警周期,确认问题不再复现。
风险与回滚
- 不要直接删除根盘底层文件、快照链或修改卷状态。
- 根盘修复失败可能导致云主机无法启动或数据不可恢复。
注意事项
- 涉及快照链、云盘、主存储、镜像仓库、LV/RBD/qcow2 文件或数据库记录时,应先完成备份和只读核对;未确认依赖关系前不要删除底层对象。
- 涉及云主机启动、迁移、HA、Unknown 状态或强制停止时,必须先确认云主机实际运行位置,防止脑裂、双写或误停业务。
- 若需要数据库修改、底层文件处理、锁释放、服务重启、驱动/固件升级或批量资源变更,应联系 ZStack 官方技术支持确认后再执行。
