Live Migration即动态迁移是Windows Server R HyperV其中一项最备受期待的新功能以下将详细描述Windows Server R HyperV的动态迁移的信息包括动态迁移如何运行虚拟机动态迁移在几种特定情况下的突出作用和执行动态迁移的要求 概况 Live Migration动态迁移是Windows Server R HyperV与Microsoft HyperV Server R新增的特性利用HyperV动态迁移可以将一个运行中的虚拟机在没有任何服务中断或者任何停机时间从一个HyperV物理主机移动到另外一个上面 由于HyperV可以在没有停机的情况下将运行的虚拟机搬移这将带来更大的灵活性和价值 提供更好的敏捷性数据中心与多个HyperV物理主机将可以在用户使用的性能缩放和最优合并不受影响的情况下把运行的虚拟机们移动到最好的物理主机上 降低成本提高生产效率数据中心与多个HyperV物理主机将可以用更可控的方式维护这些系统将它们的维护安排在正常的运营时间内动态迁移可以保持虚拟机在线这样大大的为用户和管理员提高了生产效率数据中心也将能够在需求下降时期通过强有力的增加合并比率和关闭闲置的物理主机来降低能耗 动态迁移Live Migration与快速迁移Quick Migration的比较 快速迁移(Quick Migration)也是Windows Server HyperV和Windows Server R HyperV的一个共同的特点动态迁移与快速迁移都可以将运行的虚拟机从一个HyperV物理主机上移动到另外一个他们最主要的区别是快速迁移Quick Migration移动存储和恢复虚拟机是需要停机的而动态迁移Live Migration是使用不同的机制来移动虚拟机到新的物理计算机的 所有的虚拟机内存页都是从源HyperV物理主机转移到目标HyperV物理主机在这些执行过程中任何虚拟机内存页的修改都是被追蹤的 当第一步执行过程中Pages被修改到目标地的物理计算机上 虚拟机上VHD文件的存储句柄被移动到目标的物理计算机上 目标虚拟机在HyperV服务器上是联机的 动态迁移大大的减少了虚拟机的迁移的停机时间这使动态迁移成了用户在需要不间断工作时迁移虚拟机的首选由于动态迁移的完成时间要大大的小于虚拟机迁移过程中的TCP间歇时间所以用户可以在完全不被影响下完成迁移的第步到第步 年发布的Windows Server HyperV已经支持快速迁移而Windows Server 的R版本同时支持快速迁移与动态迁移所以说动态迁移的R版本的主要革新的地方 动态迁移架构 HyperV动态迁移是被设计成不影响用户使用虚拟机情况下移动运行的虚拟机通过预复制迁移的虚拟机中的内存到目标物理主机动态迁移在一个移动虚拟机过程中大量的减少了转移时间同时管理员或者脚本在启动动态迁移的时候可以控制哪台计算机会成为此次迁移的目标计算机在客户操作运行系统的过程中是不会感到迁移在进行的所以无特殊配置对于客户操作系统是很必要的 要求 HyperV动态迁移与HyperV快速迁移有着相似的要求对于已经在使用快速迁移的组织来说转为使用动态迁移是很简单的在动态迁移中物理主机参与需要配置微软故障转移群集服务作为故障转移群集而且必须使用共享存储此外物理主机必须使用相同类型的处理器例如要使用动态迁移将虚拟机从HyperV物理主机迁移到另外一个两台物理主机必须使用相同制造商的处理器在这点上动态迁移与快速迁移要求都是一样的 以下是HyperV动态迁移的一个完整的要求列表 HyperV动态迁移支持以下版本的Windows Server R Windows Server R x Enterprise Edition Windows Server R x Datacenter Edition HyperV Server R也支持动态迁移 动态迁移时所有的物理主机都需要被设置为微软故障转移群集 故障转移群集支持个节点每群集 群集应为动态迁移配置专用网络 物理主机服务器必须使用相同制造商的处理器 物理主机上必须配置相同的TCP/IP子网 物理主机必须能够访问共享存储 建议 建议在动态迁移中虚拟机存储使用群集共享卷 一个动态迁移在任何时间任何两个群集节点间可以很活跃的这就意味着一个群集将同时支持节点数/个动态迁移例如一个节点群集将在不超过群集内每个节点间一个动态迁移激活的时间同时支持个动态迁移 为虚拟机在一个群集节点间传输大量的存储页的动态迁移配置专门的千兆以太网络 动态迁移如何工作 动态迁移过程的目标是尽快尽可能的将一个运行的虚拟机从一个源物理主机移动到目标物理主机一个动态迁移是管理员通过一下列表中其一的方法启动的这一过程完成的速度取决于源头计算机和目标计算机的硬件使用以及网络容量以下是一个动态迁移启动的三种方式 A管理员可以通过故障转移群集管理控制台启动一个动态迁移 B虚拟机管理者是管理物理主机那么当它们被设置成支持移动迁移时虚拟机管理器的管理控制台可以启动一个动态迁移 C一个WMI或PowerShell脚本可以启动一个动态迁移 HyperV动态迁移支持的任何客户操作系统在一个动态迁移启动后下面的过程将发生 动态迁移启动 启动是动态迁移的第一阶段源物理主机与目标物理主机建立一个TCP的连接这个连接被用来传送虚拟机设置数据给目标物理主机依据设置数据在目标地物理主机上建立基干虚拟机是建立的内存分配给目标虚拟机 图 动态迁移的安装 内存页从源节点转移到目标节点 分配给迁移的虚拟机的内存是通过网络复制到目标物理主机的这种内存是指迁移的虚拟主机的工作区一个内存页为K字节的大小比如假设一个命名为NYCSVR的虚拟机迁移到另外一个HyperV物理主机上被设置了MB的内存整个MB的内存将被分配给这台虚拟机来组成NYCSVR的工作组利用的NYCSVR工作组内的内存页复制到目标HyperV物理主机 除了复制NYCSVR的工作组到目标物理主机源物理主机上HyperV会监控NYCSVR工作组内的内存页被NYCSVR修改的内存页它们将被追蹤并标记为正在被修改中修正的页面清单仅仅是内存页的清单在NYCSVR的工作组开始修正后NYCSVR即修改在迁移的这一阶段迁移的虚拟机持续运转HyperV会经历好几次复制内存过程每次需要复制到目标物理计算机的内存页数量减少在工作组被复制到目标物理主机后动态迁移开始下一步 图 内存页转移 内存页的转移 最终的内存复制过程是将NYCSVR剩余修改完毕的内存页面复制到目标物理主机源物理主机将虚拟机的注册表和设备状态传送到目标物理主机在动态迁移的这一步中源物理主机与目标物理主机间的网络宽带可利用性对于动态迁移来说是至关重要的由于这一原因建议使用千兆以太网源物理主机传送迁移中的虚拟机工作组的修改页面越快动态迁移完成的也越快 重要的是要注意到在这一阶段所有页面传输到目标物理主机的迁移过程长短和传输量多少是基于虚拟机访问及其修改内存页的活跃程度在修改的内存页被完全的复制到目标物理主机之后目标物理开始更新NYCSVR的工作组这意味着NYCSVR开始迁移过程后NYCSVR的工作组就开始存在于目标物理主机上了 但要注意在这个阶段动态迁移过程可能随时被取消 图 修正的页面传输 源到目标存储句柄的移动 在动态迁移的第四步中NYCSVR联合存储控制如任何的VHD文件或者磁盘传递一样被传送到目标物理主机 图 存储句柄移动 目标服务器上虚拟机联机 在动态迁移的第五步中目标服务器对NYCSVR的工作组进行更新NYCSVR也可以访问存在的存储器这个时候NYCSVR被恢复 图 虚拟机恢复 执行网络清理 在动态迁移的最后步骤迁移的虚拟机已经在目标服务器上运行这个时侯信息发送到物理网络交换器促使重新获取迁移虚拟机的MAC地址以发送到或者来自NYCSVR的网络通信量可以使用正确的交换机端口动态迁移过程的完成时间大大的小于迁移虚拟机的TCP间歇时间TCP间歇时间取决于网络拓扑结构和其他因素下面的这些变量可能会影响到动态迁移的速度 A虚拟机上大量修正的页面文件迁移大量的修正页面使VM将保持迁移状态 B源和目标物理计算机之间的网络可用带宽较少 C源和目标计算机的硬件配置较低 DHyperV物理主机和共享存储间的可用宽带(网络或光线通道) 利用动态迁移实现动态数据中心 利用HyperV动态迁移组织可以实现动态的IT环境动态的IT环境根据实际使用和服务要求提供便利服务器而不是根据呆板的标准如预期的需求动态IT环境的管理逻辑根据实际的使用和需求分配虚拟机到HyperV物理主机 由于负载波动虚拟机可以在保持硬件利用率的情况下在进行物理主机间进行传输闲置的物理主机被关闭这样就减少了了能耗与散热的需求因此有助于减少运行成本物理主机容量与虚拟机需求不匹配的问题可以更容易的解决因为虚拟机移动到另外一个物理主机上时不需要为停机提供更多的可用处理容量如果虚拟机在放置到服务器上后物理主机性能或使用更改虚拟机可以很容易的被迁移到拥有更多自由容量的服务器上虚拟机管理器可以方便的用来报告当前物理主机的利用率并可以在发生问题时帮助虚拟机选择理想的候选目标 图 工作量搬移到更强有力的服务器 部署动态迁移 因为Windows Server 缓解了配置过程中的故障转移群集所以部署动态迁移很容易首先完成必要的规划以确定有多少群集节点会执行下一步确保物理主机和共享存储可以满足微软故障转移群集使用时的要求这个过程包括以下高级别步骤 配置Windows Server R的故障转移群集 连接物理主机到网络和内存 安装HyperV和故障转移群集到物理主机上 启动群集共享卷 使虚拟机有高的可用性 测试动态迁移 管理动态迁移 使用HyperV动态迁移为组织增加了巨大的价值微软SCVMM R虚拟机管理器的虚拟机管理和报告功能与动态迁移相结合可以用于减少需要管理的虚拟化数据中心虚拟机管理器与动态迁移的结合可以提高组织应对不断变化的使用程度和要求的能力虚拟机管理器在管理同一组织中的不同HyperV物理主机时非常的有用如位于远程站点的HyperV物理主机 当虚拟机管理器管理管理一个被设置成高可用性的HyperV主机时虚拟机管理器可以从虚拟机管理器管理控制台发起快算迁移或者动态迁移这将为所有的虚拟机管理任务提供了一个独立的管理工具包括动态迁移 由于虚拟机管理器的管理控制台可以为每个任务任意的输出PowerShell脚本未来的共同任务迭代可以很容易的以最小的编程技术要求自动执行当然这也延伸到了动态迁移使用虚拟机管理器启动一个动态迁移在不停机的状态下来将运行的虚拟机迁移到另外一个物理主机上这样在以后可以产生 PowerShell脚本来启动一个同样的任务或轻易的修改在不同的虚拟机上或不同的源与目标物理主机的动态迁移 虚拟机管理器可以全面的提供虚拟主机的利用率和虚拟机的位置这些报告可以被用于决策新的虚拟机位置的过程中或者现有的虚拟机迁移特别是在像很多数据中心的密集的环境中或者是像远程站点的分散的环境中良好的虚拟性能信息对于会议的正常运行时间和要求的可用性非常的重要虚拟机管理器便利的为有效的管理多个HyperV物理主机或虚拟机提供所需信息由于HyperV动态迁移使虚拟机由一个物理主机移动到另外一个变的简单了获得关于 HyperV物理主机的良好信息在环境中尤其的重要 总的来说Windows Server R HyperV动态迁移的特点就是为HyperV大大的增加了灵活性对HyperV物理主机间的运行虚拟机无停机的迁移能力不仅使用户更容易的维护物理主机而且它也为动态缩放的服务器资源开辟了新的可能性以便有效地满足不断变化的需求 |