深度分析Hyper-V的实时迁移过程机制,让你更深的了解虚拟机迁移

随着数据中心虚拟化技术的高速发展,同时对虚拟化的灾备技术的要求也越来越高。虚拟机迁移是灾备技术的一部分,某个虚拟机的硬件出问题时,就需要将这台物理机内的虚拟机迁移到别处,而在这迁移的过程中如何保持整个业务不中断呢?这种技术就叫做虚拟机实时迁移,它的作用就是保证虚拟机在从一台物理机迁移到另一台物理时整个业务不中断,对于外部用户而言,根本不知道有进行迁移的操作。
一、下面就讲讲实时迁移过程是怎么进行的,进行了什么样的操作:
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™ 物理主机与共享存储之间的可用带宽(网络或光纤)
二、实时迁移要求

1.以下版本的 Windows Server 2008 R2 上支持 Hyper-V™ 实时迁移:Windows Server 2008 R2 x64 Enterprise Edition和Windows Server 2008 R2 x64 Datacenter Edition
2.Microsoft® Hyper-V™ Server 2008 R2 上也支持实时迁移。
3.在将使用实时迁移的所有物理主机上,必须配置 Microsoft 故障转移群集
4.故障转移群集支持每个群集最多 16 个节点
5.群集应配置专用网络,用于实时迁移流量
6.物理主机服务器必须使用由同一制造商生产的处理器
7.物理主机必须配置在同一 TCP/IP 子网内
8.物理主机必须能访问共享存储
建议和注意事项:

1.在将要使用实时迁移的群集中,建议为虚拟机存储使用群集共享卷(CSV)。CSV 使多台 Windows 服务器可以为所有主机上的所有卷以一个始终不变的名称空间访问 SAN 存储。多台主机可以访问 SAN 存储上的同一个逻辑单元号 (LUN)。
2.一次实时迁移,可以在任何时刻,任意两个群集节点之间主动进行。这表示该群集将支持节点数/2 个并发实时迁移。例如,一个 16 节点的群集将支持 8 个并发实时迁移,群集的每个节点不超过一个活动的实时迁移会话。
3.建议为网络群集节点之间的实时迁移网络采用千专用以太网连接,为虚拟机传输大量的内存页。
三、故障转移群集
故障转移群集是一组独立的计算机,这些计算机相互协作以提高服务和应用程序的可用性。多台群集服务器(称为节点)之间由物理电缆和软件连接,如果其中一个节点出现故障,另外一个节点就会通过称为故障转移的进程替代开始提供服务。
1.检测故障:每台处于工作状态的活动服务器都固定地跟一台备用服务器相连接。系统使用某个常规类型的心跳监视机制来实现两台服务器的通话,监控活动服务器的工作状态以及判断备用服务器是否启动。
2.同步状态:在备用服务器确认活动服务器出现了故障,就会启动故障转移程序,做好接管活动服务器工作的准备。备用服务器首先必须将自身的状态与发生故障的活动服务器的状态保持一致,然后才能开始处理事务。
3.确定活动服务器:对于指定的一组应用程序,只能存在一个活动的服务器。为了避免出现因多台服务器都处于活动状态而导致数据损坏或死锁的情况,系统使用“活动令牌概念”的某个变体。对应于一指定应用程序的多太服务器,只有一台服务器持有“活动令牌”,则该服务器就是活动服务器,其他的服务器均属于备用。所以当服务器由备用状态转化成活动状态时,故障转移程序就会将“活动令牌”转交给该备用服务器,从而激活它的活动状态。
四、实时迁移场景
1.物理计算机维护:能够将运行中的虚拟机从一台 Hyper-V™物理主机迁移到另一台主机,而不需要停机时间,这意味着在为 Hyper-V™ 物理主机提供服务前可从它回迁虚拟机。
2.动态数据中心:有了 Hyper-V™ 实时迁移,单位就可以实现动态 IT 环境。动态 IT 环境便于根据实际利用率和服务需求而不是根据欠缺灵活的标准(如预期需求)进行服务器配置。动态 IT 环境的管理逻辑根据实际利用率和需要将虚拟机分配给 Hyper-V™ 物理主机。
3.绿色 IT:许多数据中心33%的能耗用于制冷和基础架构的需求。Hyper-V™ 实时迁移灵活可扩展的负载平衡,可以降低数据中心的功耗。
五、实战测试实时迁移
经过实际测试实时迁移,得到以下结论:
1.Hyper-V的实时迁移实际是依赖故障转移集群的服务和应用程序高可用性功能。
2.虚拟机的镜像磁盘都是放在共享存储里面。
3.Hyper-V的实时迁移功能只能在同一网段同一集群内进行。
4.Hyper-V的实时迁移的速度与源和目标物理计算机之间的网络可用带宽有关,切换主机的暂停时间不会超过待迁移虚拟机的 TCP 超时间隔.
weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:15   其中:访客  6   博主  9

    • avatar 艾伦 1

      好复杂, 看不懂

        • 激劉勇靖 激劉勇靖 Admin

          @艾伦 随着数据中心的高速发展,虚拟化是个趋势,如果有兴趣可以了解了解。我会时常更新一些我学习到的虚拟化知识,和我平时的工作总结。

        • avatar Dale 0

          对技术人员表示羡慕

            • 激劉勇靖 激劉勇靖 Admin

              @Dale 行行出状元,你们的行来也一样。

            • avatar 站长 5

              我真的看不太懂!!!!!!!@激劉勇靖

                • 激劉勇靖 激劉勇靖 Admin

                  @站长 这个是虚拟化,将来的企业肯定往这个方面发展。多了解对你以后从事这方面的工作有好处。

                  • 激劉勇靖 激劉勇靖 Admin

                    @站长 你不是想学习网络么,网桥那篇文章是基础知识,是整个网络的基础。有兴趣可以学学。

                  • avatar SpookZang 5

                    上个月刚给客户部署的这套东西VMM…. 叫 system center 2012

                    • avatar SpookZang 5

                      @激劉勇靖
                      交换下链接,我给你留言了。我做的很杂,什么都做,这个是属于临时上阵。公司缺人了,我正好又无视干….
                      这套东西 很难部署的…..

                      • 激劉勇靖 激劉勇靖 Admin

                        你的链接在哪???@SpookZang

                        • 激劉勇靖 激劉勇靖 Admin

                          虚拟云管理工具,windows叫system center 2012。VMware 的ESX的管理工具叫vcenter。其他的几个虚拟机操作系统的相应集成管理工具也叫xxcener.@SpookZang

                          • 激劉勇靖 激劉勇靖 Admin

                            接下几篇文章中我会分享一下如何选择这几种虚拟机操作系统,和怎样安装hyper-v等等,如果有兴趣的话可以留意一下。顺便帮我也宣传宣传,你们的支持就是我分享的最大动力。呵呵 @SpookZang

                            • avatar 互联网战 2

                              这是云计算的内容吗?

                                • 激劉勇靖 激劉勇靖 Admin

                                  @互联网战 是的,云计算构想的一部分,将来数据中心发展,虚拟化是很重要的部分。有兴趣的近期可以关注下我的博客,我会更新新的虚拟化相关文章。