随着数据中心虚拟化技术的高速发展,同时对虚拟化的灾备技术的要求也越来越高。虚拟机迁移是灾备技术的一部分,某个虚拟机的硬件出问题时,就需要将这台物理机内的虚拟机迁移到别处,而在这迁移的过程中如何保持整个业务不中断呢?这种技术就叫做虚拟机实时迁移,它的作用就是保证虚拟机在从一台物理机迁移到另一台物理时整个业务不中断,对于外部用户而言,根本不知道有进行迁移的操作。
一、下面就讲讲实时迁移过程是怎么进行的,进行了什么样的操作:
1. 实时迁移设置
在实时迁移的第一阶段(见下图 1),源物理主机创建与目标物理主机之间的 TCP 连接。此连接用于将虚拟机配置数据传输到目标物理主机。在目标物理主机上设置主干虚拟机,然后为目标虚拟机分配内存,也就是在目标物理机上创建新VM配置文件。
2. 内存页面从源节点传输到目标节点
在实时迁移的第二阶段(见下图 2),分配给迁移虚拟机的内存通过网络复制到目标物理主机。这部分内存被认为是正在迁移的虚拟机的当前工作集。内存页的大小为 4K 字节。
例如,假设名称为 SERER2003 的虚拟机配置了 1024MB 的内存,迁移到另一台 Hyper-V™ 物理主机。分配给此虚拟机的整个 1024MB 内存组成 SERER2003的工作集。SERER2003 工作集中使用的内存被复制到目标 Hyper-V™ 物理计算机。
除了将 SERER2003 工作集复制到目标物理主机,源物理主机上的 Hyper-V™ 还监控 SERER2003 工作集中页面的修改。在 SERER2003 中被修改的页面,将会被跟踪并打上标记。被修改的页面的列表实际就是当复制 SERER2003 的工作集开始之后被更改的内存页面的列表。 在这一迁移阶段中,迁移的虚拟机继续运行。Hyper-V™ 多次重复内存复制过程,每次需要将少量修改的页面复制到目标物理计算机。 将工作集复制到目标物理主机后,下一阶段的实时迁移就会开始。
3. 修改内存页被传输
最后的内存复制过程将 SERER2003 其余修改的内存页复制到目标物理主机。源物理主机将虚拟机的注册状态和设备状态复制到目标物理主机。 在实时迁移的这一阶段中,源和目标物理主机之间的可用网络带宽对实时迁移的速度至关重要。因此,建议使用 千兆以太网。源物理主机可从迁移虚拟机工作集传输被修改页面的速度越快,完成实时迁移就越迅速。
请务必注意,此阶段中传输的页面数量取决于虚拟机的访问和内存页面的活动情况。被修改的页面越多,虚拟机迁移过程允许所有页面传输到目标物理主机的时间就越长。 被修改的内存页完全复制到目标物理主机后,目标物理主机就有了SERER2003 的最新工作集。这表示 SERER2003 的工作集已按 SERER2003 开始迁移过程时所处状态完全相同的状态存在于目标物理主机上。
注意:在迁移的这一阶段之前的任何时刻,可以取消实时迁移过程。
4. 将存储句柄从源位置移到目标位置
在实时迁移的第四阶段中(下图 4),与 SERER2003 相关联的存储(如 VHD 文件或传递磁盘)的控制权被转移到目标物理主机。
5. 虚拟机在目标服务器上处于联机状态
在实时迁移的第五阶段(下图 5),目标服务器现在具有SERER2003 的最新工作集,并且能访问SERER2003 使用的任何存储内容。这时将恢复SERER2003,同时更新网络路由表。
6. 进行网络清理
在实时迁移的最后一个阶段,被迁移的虚拟机在目标服务器上运行。这时会向物理网络交换机发送一则消息,使其重获所迁移虚拟机的 MAC 地址,以便与 SERER2003之间的网络流量可使用正确的交换机端口。
实时迁移过程的完成时间将不会超过待迁移虚拟机的 TCP 超时间隔。TCP 超时间隔随网络拓扑和
其他因素而改变。以下变量会影响实时迁移速度:
• 虚拟机上待迁移的修改页面数量:被修改的页数越多,虚拟机保持迁移状态的时间就越长
• 源和目标物理计算机之间的网络可用带宽
• 源和目标物理计算机的硬件配置
• 源和目标物理主机的负荷
• Hyper-V™ 物理主机与共享存储之间的可用带宽(网络或光纤)
二、实时迁移要求

2012年5月18日 下午12:40 沙发
好复杂, 看不懂
2012年5月18日 下午12:49 1层
@艾伦 随着数据中心的高速发展,虚拟化是个趋势,如果有兴趣可以了解了解。我会时常更新一些我学习到的虚拟化知识,和我平时的工作总结。
2012年5月18日 下午8:23 板凳
对技术人员表示羡慕
2012年5月20日 上午10:15 1层
@Dale 行行出状元,你们的行来也一样。
2012年5月18日 下午9:01 地板
我真的看不太懂!!!!!!!@激劉勇靖
2012年5月18日 下午9:23 1层
@站长 这个是虚拟化,将来的企业肯定往这个方面发展。多了解对你以后从事这方面的工作有好处。
2012年5月18日 下午9:25 1层
@站长 你不是想学习网络么,网桥那篇文章是基础知识,是整个网络的基础。有兴趣可以学学。
2012年5月18日 下午9:14 4楼
上个月刚给客户部署的这套东西VMM…. 叫 system center 2012
2012年5月18日 下午9:24 1层
@SpookZang 看来也是同行啊。以后多交流。
2012年5月18日 下午9:25 5楼
@激劉勇靖
交换下链接,我给你留言了。我做的很杂,什么都做,这个是属于临时上阵。公司缺人了,我正好又无视干….
这套东西 很难部署的…..
2012年5月18日 下午9:34 6楼
你的链接在哪???@SpookZang
2012年5月18日 下午9:47 7楼
虚拟云管理工具,windows叫system center 2012。VMware 的ESX的管理工具叫vcenter。其他的几个虚拟机操作系统的相应集成管理工具也叫xxcener.@SpookZang
2012年5月18日 下午9:50 8楼
接下几篇文章中我会分享一下如何选择这几种虚拟机操作系统,和怎样安装hyper-v等等,如果有兴趣的话可以留意一下。顺便帮我也宣传宣传,你们的支持就是我分享的最大动力。呵呵 @SpookZang
2012年5月18日 下午10:20 9楼
这是云计算的内容吗?
2012年5月18日 下午11:49 1层
@互联网战 是的,云计算构想的一部分,将来数据中心发展,虚拟化是很重要的部分。有兴趣的近期可以关注下我的博客,我会更新新的虚拟化相关文章。