一次虚拟机热迁移失败处理,使用nova live-migration-force-complete强制暂停下虚拟机

         客户反馈2台虚拟机热迁移失败,检查源计算节点的nova-compute日志,均发现live migration  stuck xxx  sec的错误信息。

虚拟机热迁移的过程,在源节点和目标节点会有同步虚拟机内存的操作,查看stuck日志之前的输出,问题memory 基本0% remaining,问题应该在最后一刻同步内存。于是尝试使用nova  live-migration-force-complete  <serverID>  <migrationID>命令,在热迁移操作中,同步查看nova-compute日志,在日志显示虚拟机在源节点 memory 接近0% remaining时执行,强制在源节点暂停下虚拟机,发现热迁移顺利完成。

如上图,先用nova  server-migration-list  <serverID>找出此次迁移热任务ID,然后执行nova   live-migration-force-complete  <serverID>  <migrationID>

如上图,执行nova  live-migration-force-complete 命令,日志显示虚拟机在源计算节点立马被paused,源计算节点和目标计算节点进入_post_migration状态,pause时间大概在2s以内。

注意:为了避免对业务的影响,应尽量避免执行nova  live-migration-force-complete 命令,此命令会强制暂停虚拟机。应让热迁移操作的2个计算节点,利用libvirt的自身算法来控制最后虚拟机的暂停操作。即使对于能容忍此种pause时间的虚拟机,也要实时查看日志,只能在最后一刻虚机内存remaining接近0%操作。

原文地址:https://www.cnblogs.com/360linux/p/13062076.html