技术博客

虚拟机热迁移前检查清单:为什么迁移不是简单点一下

虚拟机热迁移依赖共享存储、网络带宽、CPU 兼容性和内存脏页收敛,生产环境迁移前要做检查。

热迁移虚拟机KVM运维检查

虚拟机热迁移看起来很方便:业务不停机,把虚拟机从一台宿主机迁到另一台宿主机。但它不是没有成本,也不是所有虚拟机都适合随时迁移。

迁移前先确认共享存储或磁盘复制方式。如果目标节点访问不到虚拟磁盘,迁移一定失败。

第二看 CPU 兼容性。不同代 CPU 指令集差异可能导致迁移失败。生产集群通常会使用统一 CPU model,牺牲一点性能换取可迁移性。

第三看网络带宽。大内存虚拟机迁移会传输大量内存页。业务写内存频繁时,脏页不断产生,迁移可能长时间不收敛。

第四看业务特性。数据库、高延迟敏感业务、大流量网关,迁移时要观察连接、延迟和错误率。

检查清单:

热迁移是高可用工具,不是随意搬家的玩具。越是关键业务,越要在低峰期执行,并准备回退方案。

迁移失败时看什么

热迁移失败通常不是单一原因。建议按资源、兼容性、网络、存储、虚拟机状态五个方向排查。

资源检查:

free -h
uptime
df -h

目标节点 CPU、内存、存储空间不足,会导致迁移开始前就失败,或迁移后业务性能下降。

兼容性检查:

lscpu
virsh capabilities

不同 CPU 代际、不同 CPU flags、不同虚拟化平台配置,都可能影响迁移。生产集群要尽量统一 CPU model。

网络检查:

ip -s link
ethtool -S <interface>
ping <target-migration-ip>

迁移网络有丢包或错误包时,大内存虚拟机迁移最容易失败。

存储检查:

iostat -xz 1

如果迁移同时伴随快照、备份、Ceph recovery,存储延迟可能成为瓶颈。

实操建议

先迁移低风险虚拟机,再迁移关键虚拟机。迁移前记录业务基线,迁移后验证服务端口、日志和监控指标。不要只相信平台显示“迁移成功”。