Xen的Live Migration可以使得一个虚拟机在不停止服务的情况下从一台服务器迁移到另一台服务器上,该功能的好处不言而喻。
当然Live Migration的执行过程很复杂,这里,我们研究一下内存是如何迁移到另一台服务器上的,实际上这相当于在不同的物理机器之间进行进程上下文的切换,这是该“Migration”被誉为“Live”的核心。
那就是内存热拷贝,见下图:
(1)源主机中内存的使用情况
(2)将源主机的内存拷贝到目标主机,在此过程中源主机的内存发生了改变,但不会所有内存都发生改变。
(3)将发生改变的内存拷贝到目标主机,在此过程中源主机继续改变。
(4)这样重复的对发生改变的内存进行拷贝,直到两边内存一致,完成迁移。 这里有一个假设,那就是拷贝内容会越来越少,因为拷贝时间越来越短,从而达到最终两边内容的一致。所以拷贝次数和迁移时间是随机的,但它确实收敛的。
原文:http://www.newlinetech.cn/article/t3.html