论文部分内容阅读
虚拟机技术将操作系统与硬件资源隔离开来,在很多方面极大的方便了人们对计算机软硬件资源的管理。虚拟机在线迁移技术,是基于虚拟机技术的典型应用,能够将操作系统实例透明地在物理主机之间转移,并且在迁移过程中保持虚拟机服务的可用性,成为集群管理中硬件系统维护,调节资源负载均衡等的有力工具。
XEN是英国剑桥大学开发的著名开源虚拟机平台,其在线迁移工具能够在共享外存设备的物理主机之间迁移虚拟机的内存执行状态,期间只有极为短暂的停机时间,保持了迁移过程中虚拟机服务的持续可用。为了拓宽XEN在线迁移机制的应用范围,使之能够应用于分散式外部存储的环境,本文在XEN在线迁移的基础上加入了对虚拟机外存状态的迁移,形成了一个虚拟机全系统迁移方案。
XEN迁移的核心机制在于:在迁移前期阶段循环预拷贝内存脏页至目的主机,在停机阶段,只需非常短暂的时间同步剩余的内存脏页。我们在预拷贝虚拟机内存之前,循环地预拷贝其外存数据至目的主机,以减少后续阶段需要同步的外存数量。在停机阶段,仅传输外存的同步状态记录至目的主机,仍然保证非常短暂的停机时间。虚拟机在目的主机上激活之后,访问尚未同步的外存时,从源主机请求数据:同时,源主机依次将未同步的外存数据发送至目的主机,直到目的主机获得完整的最新外存状态。通过在虚拟机管理器中用bitmap记录虚拟机的外存访问,我们仅传输外存数据中发生更新的部分,这就是增量的外存迁移。
我们的实验表明迁移过程的停机时间在300毫秒以内,较好地保持了迁移过程中虚拟机服务的可用性;通过增量的外存迁移,大大缩短了迁移的总体时间。