«

OpenStack热迁移失败

指尖二进制 • 1 年前 • 730 次点击 • OPENSTACK


热迁移虚拟机失败,检查计算节点nova-compute.log日志发现一直再迁移内存字节数

[instance: 26d5b002-50a3-4ac5-ae80-00695750300a] Migration running for 480 secs, memory 0% remaining; (bytes processed=767259180360, remaining=103018496, total=34494414848)

虚拟机热迁移过程中,在源节点和目标节点会有同步虚拟机内存的操作,查看nova-compute.log日志发现问题memory 基本0% remaining,问题应该在最后一刻同步内存

于是尝试使用nova live-migration-force-complete 命令,在热迁移操作中,同步查看nova-compute日志,在日志显示虚拟机在源节点 memory 接近0% remaining时执行,强制在源节点暂停下虚拟机,发现热迁移顺利完成。

[root@XC-tstack-con01 ~]# nova server-migration-list 26d5b002-50a3-4ac5-ae80-00695750300a

[root@XC-tstack-con01 ~]# nova live-migration-force-complete 26d5b002-50a3-4ac5-ae80-00695750300a 952


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

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

但是也需要和业务部沟通好,以确保业务不出现中断为目标进行迁移。或者寻找业务不忙时间进行pause迁移。

还没收到回复