Xen直播运动

我正在从思杰(和2位同事)那里研究XenServer,并将其与VMware ESX和Microsoft HyperV进行比较。

在我们的testing中,似乎Xen的实时迁移比VMware的ESX使用更less的资源,我想知道这是为什么。 我发现去年的一篇文章引用了2005年的一篇论文,解释了实时迁移过程中实际发生的页面/内存问题。

这是关于内存传输的文章的摘录:

推送阶段 – 当某些页面通过networking推送到新的目的地时,源VM继续运行。 为确保一致性,在此过程中修改的页面必须重新发送。

停止和复制阶段源虚拟机停止,页面复制到目标虚拟机,然后启动新虚拟机。

Pull阶段新的VM执行,并且如果它访问尚未被复制的页面,则该页面在来自源虚拟机的networking中(“拉”)出现故障。

我想知道内存传输是否仍然像4年前一样发生。

我不是Xen迁移的专家,我使用的是开源Xen服务器。 根据我的经验,只要存储层速度很快,Xen服务器的迁移就非常高效。就我们的经验而言,ocfs2卷或(禁止)NFS挂载的磁盘映像比SAN上的块设备要慢得多NFS安装上的共享locking卷。 我们没有遇到磁盘损坏的问题,但是在我们开始在非常活跃的系统上迁移之前,确实倾向于快照(LVM2和VM状态)。

根据Mathews,Dow等人的“Running Xen:A Hand On Guide to the Art of Virutalization” Prentice Hall 2008,pg。 484,

Xen的实时迁移的实现涉及到新颖的迭代多通道algorithm,可以通过连续的步骤传输虚拟机客户内存。 在源虚拟机和目标虚拟机首先进行协商以确保接收机上的资源充足之后,将每个页面传输到目的地时执行客户机内存的初始传递。 在每个连续的迭代中,只发送在此期间被弄脏的客户存储器。 执行该过程,直到剩余的脏页数足够小(原文如此),以致可以快速传送其余页面,或者每次传送中剩余要传送的脏页数不减less。 在这一点上,系统实际上停顿了,并且最终状态被发送到新的主机并且控制权转移到新的物理机完成。

它看起来类似于上面描述的步骤列表,增加了迭代。 请注意,机器可能正在两个地方进行I / O操作,以及实时迁移的当前状态。

与VMWare和HyperV不同的是,XenServer的好处在于,有很多人在运行它,并且在非常严重的生产环境中努力地从星期天的十种方式中解脱出来。 实时迁移对我们来说是新的,而我们并不是在生产环境中这样做,因为我们有冗余问题(由于在ocfs2卷上拥有我们的共享数据分区,所以在这一点上可以扩展到n台机器),但是在我们的testing环境,我们一直在玩遍各地的弹跳机器。