KVM 的预拷贝在线迁移过程详解,摘自:虚拟机迁移技术漫谈
1.系统验证目标服务器的存储器和网络设置是否正确,并预保留目标服务器虚拟机的资源。
图 1. 源服务器和目标服务器
2.当虚拟机还在源服务器上运转时,第一个循环内将全部内存镜像复制到目标服务器上。在这个过程中,KVM 依然会监视内存的任何变化。
图 2. 内存镜像复制示意图
3.以后的循环中,检查上一个循环中内存是否发生了变化。 假如发生了变化,那么 VMM 会将发生变化的内存页即 dirty pages 重新复制到目标服务器中,并覆盖掉先前的内存页。在这个阶段,VMM 依然会继续监视内存的变化情况。
图 3. 进行有变化的内存复制
4.VMM 会持续这样的内存复制循环。随着循环次数的增加,所需要复制的 dirty pages 就会明显减少,而复制所耗费的时间就会逐渐变短,那么内存就有可能没有足够的时间发生变化。最后,当源服务器与目标服务器之间的差异达到一定标准时,内存 复制操作才会结束,同时暂停源系统。
图 4. 所需复制的数据在减少
5.在源系统和目标系统都停机的情况下,将最后一个循环的 dirty-pages 和源系统设备的工作状态复制到目标服务器。
图 5. 状态信息的复制
6.然后,将存储从源系统上解锁,并锁定在目标系统上。启动目标服务器,并与存储资源和网络资源相连接。
图 6. 停止源服务器,启动目标服务器
转载于:https://blog.51cto.com/yang19890314/1163624