虚拟机热迁移是指将正在运行的虚拟机从一台主机迁移到另一台主机,迁移过程中业务不中断,用户无感知。
在华为fusion compute上虚拟机热迁移步骤分为一下三步:
1.将虚拟机的配置和虚拟机的设备信息传送到目标主机上
2.将虚拟机迁移时的初始内存(迁移开始前内存里的数据)及内存变更分片(迁移开始后写入的内存)同步到目标主机上
3.暂停源虚拟机并传送状态,在原主机上暂停虚拟机,将最后的变更内存传到目标主机上
4.在目标主机上恢复虚拟机,并在原主机上停止虚拟机
使用的技术有:迭代迁移+内存分片
迭代迁移是指一次一次的去迁移类似于你手机应用一次一次去迭代更新
内存分片就是:
拿第一个内存分片举例:在迁移开始的瞬间将这个时间点已使用的内存进行锁定为只读权限,然后同时开辟一个新的内存空间用来写新的内存数据,权限为读写。
第二个内存分片:在初始内存(迁移开始前写入的内存数据)迁移完成后将第一个内存分片进行锁定为只读,然后同时创建第二个内存分片去写入新的数据,权限为读写。
......
一直到最后一个内存分片很小的时候暂停数据下写(因为时间太短所以不会造成业务中断,用户也没有感知),将最后一个内存迁移过去,然后将业务映射改到新的虚拟机上就完成了热迁移。