qemu版本不一致造成热迁移失败问题

本文记录了一次Nova-Live Migration失败的排查过程,详细分析了日志中的错误信息,并通过对比QEMU版本、更新软件及重启物理机最终解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、查看 nova-compute 迁移失败log

2018-01-16 20:44:20.362 12778 ERROR nova.virt.libvirt.driver [req-0ca0ebd9-7cda-465a-b17e-85cc27603ae5 e35986cb7a5b46e2ab7f3941e2776373 ddcca2166db24766ad77aacbb6303f3f - - -] [instance: 31a6a6da-50dd-490f-90b4-62c91d54a2db] Live Migration failure: internal error: qemu unexpectedly closed the monitor: 2018-01-16T12:43:52.473918Z qemu-kvm: -chardev pty,id=charserial0,logfile=/dev/fdset/2,logappend=on: char device redirected to /dev/pts/1 (label charserial0)
2018-01-16T12:43:55.951735Z qemu-kvm: virtio-net: saved image requires TUN_F_UFO support
2018-01-16T12:43:55.951769Z qemu-kvm: Failed to load virtio-net-device:tmp
2018-01-16T12:43:55.951775Z qemu-kvm: Failed to load virtio-net:virtio
2018-01-16T12:43:55.951781Z qemu-kvm: error while loading state for instance 0x0 of device '0000:00:03.0/virtio-net'
2018-01-16T12:43:55.953751Z qemu-kvm: warning: TSC frequency mismatch between VM (2099998 kHz) and host (1699998 kHz), and TSC scaling unavailable
2018-01-16T12:43:55.953905Z qemu-kvm: warning: TSC frequency mismatch between VM (2099998 kHz) and host (1699998 kHz), and TSC scaling unavailable
2018-01-16T12:43:55.954026Z qemu-kvm: warning: TSC frequency mismatch between VM (2099998 kHz) and host (1699998 kHz), and TSC scaling unavailable
2018-01-16T12:43:55.954115Z qemu-

从以上log可以粗略看出是需要TUN_F_UFO的支持,这是什么鬼?  

 

2、于是查看两边qemu版本,发现只有小版本号不一样,大版本号是一样的。这个竟然还会造成热迁移失败。

源主机qemu版本:qemu-kvm-ev-2.9.0-16.el7_4.8.1.x86_64

目的主机qemu版本:qemu-kvm-ev-2.9.0-16.el7_4.13.1.x86_64

 

3、卸载qemu ,重新安装qemu

rpm -e qemu-kvm-common-ev qemu-kvm-ev --nodeps
rpm -e qemu-img-ev --nodeps
rmmod vhost_net
rmmod vhost
rmmod tun
rmmod tap
yum install qemu-kvm-common-ev-2.9.0-16.el7_4.8.1.x86_64 qemu-kvm-ev-2.9.0-16.el7_4.8.1.x86_64

统一为相同的版本号的qemu

4、重新热迁移,结果还是报相同的错误,这就绝望了。于是reboot重启物理机

5、重启完毕后,热迁移成功

 

源主机的 tun.ko 默认支持TUN_F_UFO。目的主机tun.ko没有, 这就是QEMU中止live migration的原因。 导致在热迁移时不能改变正在运行的virtio-net。

tun.ko 是从qemu中把网络包转发给tap设备的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值