微软LiveMigration动态迁移技术分析(上)

日期: 2009-03-24 作者:庞伟明 来源:TechTarget中国 英文

  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是使用不同的机制来移动虚拟机到新的物理计算机的。

  • 所有的虚拟机内存页都是从源Hyper-V物理主机转移到目标Hyper-V物理主机。在这些执行过程中,任何虚拟机内存页的修改都是被追踪的。
  • 当第一步执行过程中Pages被修改到目标地的物理计算机上。
  • 虚拟机上VHD文件的存储句柄被移动到目标的物理计算机上。
  • 目标虚拟机在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个动态迁移。

  为虚拟机在一个群集节点间传输大量的存储页的动态迁移配置专门的千兆以太网络。

  动态迁移如何工作

  动态迁移过程的目标是尽快尽可能的将一个运行的虚拟机从一个源物理主机移动到目标物理主机。一个动态迁移是管理员通过一下列表中其一的方法启动的。这一过程完成的速度取决于源头计算机和目标计算机的硬件使用以及网络容量。以下是一个动态迁移启动的三种方式:

  A、管理员可以通过故障转移群集管理控制台启动一个动态迁移

  B、虚拟机管理者是管理物理主机,那么当它们被设置成支持移动迁移时,虚拟机管理器的管理控制台可以启动一个动态迁移。

  C、一个WMI或PowerShell脚本可以启动一个动态迁移。

  Hyper-V动态迁移支持的任何客户操作系统,在一个动态迁移启动后,下面的过程将发生:

  1、动态迁移启动

  启动是动态迁移的第一阶段,源物理主机与目标物理主机建立一个TCP的连接。这个连接被用来传送虚拟机设置数据给目标物理主机。依据设置数据在目标地物理主机上建立基干虚拟机是建立的,内存分配给目标虚拟机。

Hyper-V动态迁移

图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 内存页转移

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐

  • VMware快照工作原理以及如何运用

    当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么 […]

  • 回顾年度9大虚拟化技术

    虚拟化管理员从未放弃追寻更好虚拟化技术,以使他们的工作更快、更易于管理以及更好地优化。 我们看到,虚拟化工具在 […]

  • 配置ESXi Autostart,自动打补丁

    顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。

  • 推荐一款好的虚拟主机提供商

    推荐一款好的虚拟主机提供商 推荐理由:   第一:种类多:有经济型,全能型,功能型等   […]