KVM Block Migrate

本文详细介绍了使用KVM进行虚拟机迁移的底层状态操作,包括使用qemu-kvm命令进行迁移,并通过infomigrate查看迁移状态。同时,对比了libvirt迁移的实现方式,阐述了其在目标机器上创建相同配置虚拟机,通过数据块迁移的过程,最终实现虚拟机的平滑迁移。

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

qemu-kvm-0.12 adds block migration feature

虽然都是root.img 但是在不同的目录上,因为是测试调试,所以直接将qmp输出到标准输出。

VM1:/usr/libexec/qemu-kvm --enable-kvm -name VM1 -drive file=root.img,if=virtio,boot=on -monitor stdio -vnc 0.0.0.0:0

VM1已经启动,正常进入系统。可以通过5900端口连接到VM1中

VM2:/usr/libexec/qemu-kvm --enable-kvm -name VM2 -drive file=root.img,if=virtio,boot=on -monitor stdio -vnc 0.0.0.0:1 -incoming tcp:localhost:10010

VM2是监听虚拟机,只有进程单虚拟机并没有启动,vnc的连接状态是僵死,可能描述不正确,端口在,也不拒绝连接,就是挂起。

在VM1上执行:migrate -d -b tcp:localhost:10010

使用info migrate查看当前状态

(qemu) info migrate
Migration status: active
transferred ram: 74028 kbytes
remaining ram: 74252 kbytes
total ram: 147840 kbytes
transferred disk: 10484736 kbytes
remaining disk: 1024 kbytes
total disk: 10485760 kbytes

在VM2上的状态:

(qemu) Receiving block device images
Completed 100 %

在VM1上的状态:

(qemu) info migrate
Migration status: completed

当在VM2中达到100%时,VM2的vnc5901就可以连接了,而5900就挂起,可以kill掉VM1的进程,因为虚拟机现在已经迁移到VM2中。

这个就是KVM迁移相对比较底层的状态操作。

同理,使用libvirt迁移的时候,其实也是在目标机器上创建一个完全相同配置的虚拟机,开启一个监控监听,然后源机器将数据块(包括ram和disk)迁移到目标机器上,达到100%时,destroy source。

转载于:https://www.cnblogs.com/fengrenzw/p/3339910.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值