Hyper-V动态迁移原理详解

日期: 2012-09-04 作者:吴炫国 来源:TechTarget中国

为了追赶上VMware虚拟化霸主的脚步,微软从Hyper-V 2.0开始支持物理机与虚拟机之间的动态迁移。动态迁移对于实验室来说,需求可能并不高;但对于企业来说,这却是虚拟化成熟度的一个分水岭。   在开始之前,需要明确一个概念。   动态迁移(Hyper-V Live Migration)并非故障状态下的非计划宕机。

  该应用场景仅用于升级、硬件更换等计划宕机。   动态迁移步骤:   ? 在源和目标计算机之间建议连接   ? 传送虚拟机配置及设备信息   ? 传送虚拟机内存   ? 暂停(挂起)源虚拟机并传送状态   ? 恢复目标虚拟机   一、在源和目标计算机之间建议连接   该部分的……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

为了追赶上VMware虚拟化霸主的脚步,微软从Hyper-V 2.0开始支持物理机与虚拟机之间的动态迁移。动态迁移对于实验室来说,需求可能并不高;但对于企业来说,这却是虚拟化成熟度的一个分水岭。

  在开始之前,需要明确一个概念。

  动态迁移(Hyper-V Live Migration)并非故障状态下的非计划宕机。

  该应用场景仅用于升级、硬件更换等计划宕机。

  动态迁移步骤:

  ? 在源和目标计算机之间建议连接

  ? 传送虚拟机配置及设备信息

  ? 传送虚拟机内存

  ? 暂停(挂起)源虚拟机并传送状态

  ? 恢复目标虚拟机

  一、在源和目标计算机之间建议连接

  该部分的通信涉及到两个WMI对群集中两个dll的调用:

  clusres.dll

  群集资源管理dll(基本的网络、存储、WINS、DHCP、脚本。。)

  vmclusres.dll

  虚拟机群集资源管理dll

  Live Migration从本质上来说还是群集的一种实现方式。

  通信的速度与效率与源服务器和目标服务器的负载有关。

  在源服务器或目标服务器负载过高情况下会出现WMI调用clusres.dll超时失败的情况。

  该场景出现在PRO调用Live Migration过程中,将会造成第4步,即暂停(挂起)源虚拟机并传送状态卡死,导致虚拟机长时间处于挂起状态。

  错误信息如下:

  错误 (12711)

  由于出现错误 [MSCluster_Resource.Name="SCVMM XXX01 Configuration"] ,找不到元素,VMM 无法在服务器 HOST01.contoso.com 上完成 WMI 操作。

  详细信息 (找不到元素(0x490))

  微软提供的相关的补丁,需要在所有节点上部署:

  http://support.microsoft.com/kb/974930
 
  二、传送虚拟机配置及设备信息

  这里值得注意的是,该部分传送的并非虚拟机目录中的XML配置文件,仅仅是注册表中的信息。

  以上两步完成的是迁移的准备工作,告知了目标服务器虚拟机所需的资源,并分配所需资源。

  三、传送虚拟机内存

  该部分是迁移的核心技术部分。不论是VMware还是Hyper-V来做迁移,都是无法逃避的问题。

  那些销售所谓的服务不会断线,不过是传说。从技术的角度来说只是断线的时间由秒这个级别降低到了毫秒级而已。

  我们来详细描述一下内存传送的过程:

  1、锁定Guest主机内存,并将该部分的信息传送到目标服务器。

Hyper-V 动态迁移原理详解

  2、Guest主机继续运行,在Host主机中开启一个新的内存分区为Guest主机提供服务。该区域仅保存变更的内容。

Hyper-V 动态迁移原理详解


  3、新内存分区将继续分片锁定,并传送。

Hyper-V 动态迁移原理详解


  4、重复2~3,保证原HOST服务器与目标HOST服务器变更内存的差异在一个极小的时钟周期之内,直至操作1中的内存传送完成。

  四、暂停(挂起)源虚拟机并传送状态

  这部分包含3个操作:

  1、挂起源虚拟机

  2、传送最后的源虚拟机内存变更片段

  3、通知存储,将存储挂载至目标服务器

  第四步是迁移时间消耗的关键。

  而关键的关键是实时内存状态的保存。

  在Hyper-V 1.0中Quick Migration采取的方式是挂起源虚拟机,再处理内存的方式。

  所以在迁移过程中会发现宕机的时间与虚拟机所消耗的内存量成正比。

  而在Live Migration中,宕机时间不再由所迁移虚拟机消耗的内存来决定。

  决定宕机时间的关键点内存大小是一个相对较小的变更内存片段。

  根据实测,在Live Migration操作中,ping包监视根据系统负载不同在丢包为2~6之间。

  完全可以满足一般企业高可用的需求。

  五、恢复目标虚拟机

  这个部分与普通的恢复相同。不做详细说明。

作者

吴炫国
吴炫国

吴炫国,在网络管理领域有丰富经验,专注硬件、服務器、WiFi等方面。强烈爱好虚拟化,TechTarget中国虚拟化论坛版主。

相关推荐

  • 提高Hyper-V动态迁移五大技巧

    停机时间曾经是虚拟机迁移过程中令人痛苦的荆棘。但动态迁移改变了这种情况。现在,动态迁移消除了停机时间,除此之外仍然有一些方法可以来改善将虚拟机从一个物理主机移动到其他地方的方法。速度和安全是提高Hyper-V动态迁移的两大焦点。其中包括加快和自动化保护迁移过程的方法和策略。下面我们提供了提升Hyper-V动态迁移速度和安全的五种不同方式。

  • 对比vMotion与动态迁移之间的细微差异

    你能分清VMware的vMotion与微软的动态迁移之间的细微差异吗?这也许是初学者的难题。让我们一起来看如何解决vMotion与动态迁移之间的争议。

  • Hyper-V动态迁移失败的常见原因

    动态迁移失败可能带来毁灭性的结果,而一些配置错误可能导致动态迁移的失败。了解导致Hyper-V动态迁移失败的常见因素能够将问题扼杀在摇篮里。

  • Hyper-V动态迁移过程中需要注意什么?