KVM虚拟机迁移原理与实践

本文深入探讨了KVM虚拟机的迁移技术,包括静态迁移和动态迁移的实践步骤,以及设备迁移的原理。通过实例展示了KVM静态迁移的QEMU命令行操作,动态迁移的详细过程,并提到了图形界面下的热迁移方法。此外,还强调了热迁移成功所需的条件和可能遇到的问题。

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

虚拟机迁移

虚拟机迁移是一项非常酷的技术,迁移(migration)包括系统整体的迁移和某个工作负载的迁移,系统整体迁移是将系统上的所有软件,包括操作系统,完全复制到另一台物理硬件机器上,而工作负载迁移仅仅迁移特定的工作负载。

虚拟化技术的出现,丰富了迁移技术的内涵和实践,在传统的应用环境中,没有虚拟化技术的支持,系统整体迁移主要是静态迁移,静态迁移主要考系统备份和恢复技术,将系统的软件完全复制到另一台机器上,可以通过先做出来系统的镜像文件,然后复制到其他机器上,或者直接使用硬盘复制达到迁移的目的。早些年网吧常用的GHOST备份恢复技术,就是这种类型的迁移。

在虚拟化环境中的迁移,又分为静态迁移和动态迁移,或者冷迁移和热迁移,也可以叫离线迁移和在线迁移。静态迁移和动态迁移最大的区别就是,静态迁移有一段明显的时间客户机中的服务不可用,而动态迁移则没有明显的服务暂停时间。

虚拟化中的静态迁移也可以分为两种,一种是关闭客户机后,将其硬盘镜像复制到另一台宿主机上然后恢复启动,这种迁移不能保留客户机中运行的工作负载,另一种是两台宿主机共享存储系统,只需在暂停(不是完全关闭)客户机后,复制其内存镜像到另一台宿主机中恢复启动即可,这种迁移可以保持客户机迁移前的内存状态和系统的系统运行的工作负载。

动态迁移是指在保证客户机上应用服务正常运行的同时,让客户机在不同的宿主机之间进行迁移,为了保证迁移过程中客户机服务的可用性,迁移过程仅有非常短暂的停机时间,动态迁移允许系统管理员将客户机在不同的物理机上迁移,同时不会断开访问客户机中服务的客户端或应用程序的连接。迁移后保证客户机的内存,硬盘存储,网络连接在迁移到目标的主机后依然保持不变,而且迁移过程的服务暂停时间较短。

另外,虚拟化的底层技术有多种,比如常见的kvm, virtualbox, Xen等,对于虚拟化环境的迁移,不仅包括相同Hypervisor之间的客户机迁移,比如KVM迁移到KVM, Xen迁移到Xen,还包括不同的Hypervisor之间客户机的迁移,比如Xen迁移到KVM,VMware迁移到KVM等等。

不同的迁移技术可以总结如下图表示:

KVM静态迁移实践

step1:启动源虚拟机

$ sudo qemu-system-x86_64 -m 4096 -smp 4 --enable-kvm -drive file=./ps.img -monitor stdio

这一步需要注意两点:

1.启动QEMU虚拟机中不能不能带有透传的PCIE设备,如果虚拟机安装的时候包含PCIE设备的透传,则需要将透传参数删掉后再启动虚拟机。

2.最好运行一个负载应用,比如top程序,以便验证迁移后业务是否能正常运行。

step2:备份虚拟机

在qemu的monitor控制台中,输入如下命令保存完整的虚拟机快照:

savevm czl.vm.tag

这里的"savem"命令保存的完整客户机状态包括CPU,内存,设备状态,磁盘内容等。这种方法需要使用qcow2格式的磁盘映像文件,目前只有这种格式的文件才支持快照特性。

然后关闭源虚拟机,同时将虚拟机安装镜像(本例中是ps.img)通过网络或者离线磁盘拷贝到目标机器环境下。

step3:在目标机恢复虚拟机快照

在目标机中,首先用源主机一样的命令启动拷贝过来的虚拟机镜像(本例是上一步拷贝过来的ps.img)

sudo qemu-system-x86_64 -m 4096 -smp 4 --enable-kvm -drive file=/media/zlcao/7CC840FCC840B5E4/out/ps.img -monitor stdio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papaofdoudou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值