您的位置:首页 > 其它

透视微软LiveMigration动态迁移技术

2012-01-17 22:35 302 查看
Live Migration即动态迁移是Windows Server 2008 R2 Hyper-V其中一项最备受期待的新功能。以下将详细描述Windows Server 2008 R2 Hyper-V的动态迁移的信息,包括动态迁移如何运行虚拟机,动态迁移在几种特定情况下的突出作用和执行动态迁移的要求。

概况
Live Migration,动态迁移是Windows Server 2008 R2 Hyper-V与Microsoft Hyper-V Server R2新增的特性。利用Hyper-V动态迁移,可以将一个运行中的虚拟机在没有任何服务中断或者任何停机时间从一个Hyper-V物理主机移动到另外一个上面。
由于Hyper-V可以在没有停机的情况下将运行的虚拟机搬移,这将带来更大的灵活性和价值:
提供更好的敏捷性:数据中心与多个Hyper-V物理主机将可以在用户使用的性能,缩放和最优合并不受影响的情况下把运行的虚拟机们移动到最好的物理主机上。
降低成本,提高生产效率:数据中心与多个Hyper-V物理主机将可以用更可控的方式维护这些系统,将它们的维护安排在正常的运营时间内。动态迁移可以保持虚拟机在线。这样大大的为用户和管理员提高了生产效率。数据中心也将能够在需求下降时期通过强有力的增加合并比率和关闭闲置的物理主机来降低能耗。
动态迁移Live Migration与快速迁移Quick Migration的比较
快速迁移(Quick Migration)也是Windows Server 2008 Hyper-V和Windows Server 2008 R2 Hyper-V的一个共同的特点。动态迁移与快速迁移都可以将运行的虚拟机从一个Hyper-V物理主机上移动到另外一个,他们最主要的区别是快速迁移Quick Migration移动、存储和恢复虚拟机是需要停机的。而动态迁移Live Migration是使用不同的机制来移动虚拟机到新的物理计算机的。
1、所有的虚拟机内存页都是从源Hyper-V物理主机转移到目标Hyper-V物理主机。在这些执行过程中,任何虚拟机内存页的修改都是被追踪的。
2、当第一步执行过程中Pages被修改到目标地的物理计算机上。
3、虚拟机上VHD文件的存储句柄被移动到目标的物理计算机上。
4、目标虚拟机在Hyper-V服务器上是联机的。
动态迁移大大的减少了虚拟机的迁移的停机时间。这使动态迁移成了用户在需要不间断工作时迁移虚拟机的首选。由于动态迁移的完成时间要大大的小于虚拟机迁移过程中的TCP间歇时间,所以用户可以在完全不被影响下完成迁移的第3步到第4步。
08年发布的Windows Server 2008 Hyper-V已经支持快速迁移,而Windows Server 2008的R2版本同时支持快速迁移与动态迁移。所以说动态迁移的R2版本的主要革新的地方。
动态迁移架构
Hyper-V动态迁移是被设计成不影响用户使用虚拟机情况下移动运行的虚拟机。通过预复制迁移的虚拟机中的内存到目标物理主机,动态迁移在一个移动虚拟机过程中大量的减少了转移时间,同时管理员或者脚本在启动动态迁移的时候可以控制哪台计算机会成为此次迁移的目标计算机。在客户操作运行系统的过程中是不会感到迁移在进行的,所以无特殊配置对于客户操作系统是很必要的。
要求:
Hyper-V动态迁移与Hyper-V快速迁移有着相似的要求。对于已经在使用快速迁移的组织来说,转为使用动态迁移是很简单的。在动态迁移中,物理主机参与需要配置微软故障转移群集服务作为故障转移群集,而且必须使用共享存储。此外,物理主机必须使用相同类型的处理器。例如,要使用动态迁移将虚拟机从Hyper-V物理主机迁移到另外一个,两台物理主机必须使用相同制造商的处理器。在这点上动态迁移与快速迁移要求都是一样的。
以下是Hyper-V动态迁移的一个完整的要求列表:
Hyper-V动态迁移支持以下版本的Windows Server 2008 R2:

Windows Server 2008 R2 x64 Enterprise Edition

Windows Server 2008 R2 x64 Datacenter Edition
Hyper-V Server 2008 R2也支持动态迁移

动态迁移时所有的物理主机都需要被设置为微软故障转移群集

故障转移群集支持16个节点每群集

群集应为动态迁移配置专用网络

物理主机服务器必须使用相同制造商的处理器

物理主机上必须配置相同的TCP/IP子网

物理主机必须能够访问共享存储
建议:
建议在动态迁移中虚拟机存储使用群集共享卷

一个动态迁移在任何时间任何两个群集节点间可以很活跃的。这就意味着一个群集将同时支持节点数/2个动态迁移。例如,一个16节点群集将在不超过群集内每个节点间一个动态迁移激活的时间同时支持8个动态迁移。

为虚拟机在一个群集节点间传输大量的存储页的动态迁移配置专门的千兆以太网络。
动态迁移如何工作[/b]
动态迁移过程的目标是尽快尽可能的将一个运行的虚拟机从一个源物理主机移动到目标物理主机。一个动态迁移是管理员通过一下列表中其一的方法启动的。这一过程完成的速度取决于源头计算机和目标计算机的硬件使用以及网络容量。以下是一个动态迁移启动的三种方式:
A、管理员可以通过故障转移群集管理控制台启动一个动态迁移
B、虚拟机管理者是管理物理主机,那么当它们被设置成支持移动迁移时,虚拟机管理器的管理控制台可以启动一个动态迁移。
C、一个WMI或PowerShell脚本可以启动一个动态迁移。
Hyper-V动态迁移支持的任何客户操作系统,在一个动态迁移启动后,下面的过程将发生:
1、动态迁移启动
启动是动态迁移的第一阶段,源物理主机与目标物理主机建立一个TCP的连接。这个连接被用来传送虚拟机设置数据给目标物理主机。依据设置数据在目标地物理主机上建立基干虚拟机是建立的,内存分配给目标虚拟机。



图1 动态迁移的安装
2、内存页从源节点转移到目标节点
分配给迁移的虚拟机的内存是通过网络复制到目标物理主机的。这种内存是指迁移的虚拟主机的工作区。一个内存页为4K字节的大小。比如,假设一个命名为NYC-SVR2的虚拟机,迁移到另外一个Hyper-V物理主机上被设置了1024MB的内存。整个1024MB的内存将被分配给这台虚拟机来组成NYC-SVR2的工作组。利用的NYC-SVR2工作组内的内存页复制到目标Hyper-V物理主机。
除了复制NYC-SVR2的工作组到目标物理主机,源物理主机上Hyper-V会监控NYC-SVR2工作组内的内存页。被NYC-SVR2修改的内存页,它们将被追踪并标记为正在被修改中。修正的页面清单仅仅是内存页的清单,在NYC-SVR2的工作组开始修正后NYC-SVR2即修改。在迁移的这一阶段,迁移的虚拟机持续运转。Hyper-V会经历好几次复制内存过程,每次需要复制到目标物理计算机的内存页数量减少。在工作组被复制到目标物理主机后,动态迁移开始下一步。



图2 内存页转移
3、内存页的转移
最终的内存复制过程是将NYC-SVR2剩余修改完毕的内存页面复制到目标物理主机。源物理主机将虚拟机的注册表和设备状态传送到目标物理主机。在动态迁移的这一步中,源物理主机与目标物理主机间的网络宽带可利用性对于动态迁移来说是至关重要的。由于这一原因,建议使用千兆以太网。源物理主机传送迁移中的虚拟机工作组的修改页面越快,动态迁移完成的也越快。
重要的是要注意到,在这一阶段,所有页面传输到目标物理主机的迁移过程长短和传输量多少是基于虚拟机访问及其修改内存页的活跃程度。在修改的内存页被完全的复制到目标物理主机之后,目标物理开始更新NYC-SVR2的工作组。这意味着NYC-SVR2开始迁移过程后,NYC-SVR2的工作组就开始存在于目标物理主机上了。
但要注意:在这个阶段,动态迁移过程可能随时被取消。



图3 修正的页面传输
4、源到目标存储句柄的移动
在动态迁移的第四步中,NYC-SVR2联合存储控制,如任何的VHD文件或者磁盘传递一样,被传送到目标物理主机。



图4 存储句柄移动
5、目标服务器上虚拟机联机
在动态迁移的第五步中,目标服务器对NYC-SVR2的工作组进行更新,NYC-SVR2也可以访问存在的存储器。这个时候,NYC-SVR2被恢复。



图5 虚拟机恢复
6、执行网络清理
在动态迁移的最后步骤,迁移的虚拟机已经在目标服务器上运行。这个时侯,信息发送到物理网络交换器促使重新获取迁移虚拟机的MAC地址,以发送到或者来自NYC-SVR2的网络通信量可以使用正确的交换机端口。动态迁移过程的完成时间大大的小于迁移虚拟机的TCP间歇时间。TCP间歇时间取决于网络拓扑结构和其他因素。下面的这些变量可能会影响到动态迁移的速度:
A、虚拟机上大量修正的页面文件迁移:大量的修正页面使VM将保持迁移状态。

B、源和目标物理计算机之间的网络可用带宽较少

C、源和目标计算机的硬件配置较低

D、Hyper-V物理主机和共享存储间的可用宽带(网络或光线通道)
利用动态迁移实现动态数据中心[/b]
利用Hyper-V动态迁移,组织可以实现动态的IT环境。动态的IT环境根据实际使用和服务要求提供便利服务器,而不是根据呆板的标准,如预期的需求。动态IT环境的管理逻辑根据实际的使用和需求分配虚拟机到Hyper-V物理主机。
由于负载波动,虚拟机可以在保持硬件利用率的情况下在进行物理主机间进行传输。闲置的物理主机被关闭,这样就减少了了能耗与散热的需求,因此有助于减少运行成本。物理主机容量与虚拟机需求不匹配的问题可以更容易的解决。因为虚拟机移动到另外一个物理主机上时不需要为停机提供更多的可用处理容量。如果虚拟机在放置到服务器上后,物理主机性能或使用更改,虚拟机可以很容易的被迁移到拥有更多自由容量的服务器上。虚拟机管理器可以方便的用来报告当前物理主机的利用率,并可以在发生问题时帮助虚拟机选择理想的候选目标。



图6 工作量搬移到更强有力的服务器
部署动态迁移[/b]
因为Windows Server 2008缓解了配置过程中的故障转移群集,所以部署动态迁移很容易。首先,完成必要的规划,以确定有多少群集节点会执行。下一步,确保物理主机和共享存储可以满足微软故障转移群集使用时的要求。这个过程包括以下高级别步骤:
配置Windows Server 2008 R2的故障转移群集

连接物理主机到网络和内存

安装Hyper-V和故障转移群集到物理主机上

启动群集共享卷

使虚拟机有高的可用性

测试动态迁移
管理动态迁移[/b]
使用Hyper-V动态迁移为组织增加了巨大的价值。微软SCVMM2008 R2虚拟机管理器的虚拟机管理和报告功能与动态迁移相结合可以用于减少需要管理的虚拟化数据中心。虚拟机管理器与动态迁移的结合可以提高组织应对不断变化的使用程度和要求的能力。虚拟机管理器在管理同一组织中的不同Hyper-V物理主机时非常的有用,如位于远程站点的Hyper-V物理主机。
当虚拟机管理器管理管理一个被设置成高可用性的Hyper-V主机时,虚拟机管理器可以从虚拟机管理器管理控制台发起快算迁移或者动态迁移。这将为所有的虚拟机管理任务提供了一个独立的管理工具,包括动态迁移。
由于虚拟机管理器的管理控制台可以为每个任务任意的输出PowerShell脚本,未来的共同任务迭代可以很容易的以最小的编程技术要求自动执行。当然这也延伸到了动态迁移。使用虚拟机管理器启动一个动态迁移在不停机的状态下来将运行的虚拟机迁移到另外一个物理主机上,这样在以后可以产生 PowerShell脚本来启动一个同样的任务或轻易的修改在不同的虚拟机上或不同的源与目标物理主机的动态迁移。
虚拟机管理器可以全面的提供虚拟主机的利用率和虚拟机的位置。这些报告可以被用于决策新的虚拟机位置的过程中或者现有的虚拟机迁移。特别是在像很多数据中心的密集的环境中或者是像远程站点的分散的环境中。良好的虚拟性能信息,对于会议的正常运行时间和要求的可用性非常的重要。虚拟机管理器便利的为有效的管理多个Hyper-V物理主机或虚拟机提供所需信息。由于Hyper-V动态迁移使虚拟机由一个物理主机移动到另外一个变的简单了,获得关于 Hyper-V物理主机的良好信息在环境中尤其的重要。
总的来说,Windows Server 2008 R2 Hyper-V动态迁移的特点就是为Hyper-V大大的增加了灵活性。对Hyper-V物理主机间的运行虚拟机无停机的迁移能力不仅使用户更容易的维护物理主机而且它也为动态缩放的服务器资源开辟了新的可能性,以便有效地满足不断变化的需求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: