探讨微软Hyper-V实时迁移的底层技术

日期: 2014-08-11 作者:Nirmal Sharma翻译:王学强 来源:TechTarget中国 英文

Hyper-V可以实现两种类型的实时迁移:使用共享存储的实时迁移和不使用共享存储的实时迁移。不论哪种实时迁移方式都可以在不产生任何中断时间的情况下将虚拟机移动到另外一个地方。 但是在没有共享存储的环境中,只能通过手动初始化的方式来移动虚拟机(VM),在拥有共享存储的环境中进行自动或者手动虚拟机迁移之前,需要安装Windows故障转移集群特性。通常我们讨论的Hyper-V实时迁移是指拥有共享存储的实时迁移。

这篇文章介绍了在共享存储环境中,实时迁移技术如何将虚拟机从一台Hyper-V服务器移动到另外一台上。 微软Hyper-V实时迁移使用TCP/IP网络来将虚拟机内存数据移动到Hyper-V集群中……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

Hyper-V可以实现两种类型的实时迁移:使用共享存储的实时迁移和不使用共享存储的实时迁移。不论哪种实时迁移方式都可以在不产生任何中断时间的情况下将虚拟机移动到另外一个地方。

但是在没有共享存储的环境中,只能通过手动初始化的方式来移动虚拟机(VM),在拥有共享存储的环境中进行自动或者手动虚拟机迁移之前,需要安装Windows故障转移集群特性。通常我们讨论的Hyper-V实时迁移是指拥有共享存储的实时迁移。这篇文章介绍了在共享存储环境中,实时迁移技术如何将虚拟机从一台Hyper-V服务器移动到另外一台上。

微软Hyper-V实时迁移使用TCP/IP网络来将虚拟机内存数据移动到Hyper-V集群中的另外一个节点上。

当自动或者手动触发实时迁移时,源和目的Hyper-V服务器之间会建立一个TCP连接。在目的Hyper-V服务器上创建虚拟机框架,按照源虚拟机的配置进行内存分配。

之后,源虚拟机的内存开始被移动到目的Hyper-V服务器上。在这个过程中,有两种内存页文件被复制:原始内存页和发生变化的内存页。

这个过程当中源Hyper-V服务器执行了以下操作:

  • Hyper-V源服务器在向目的Hyper-V服务器发送初始内存页的过程中,会持续记录发生变化的内存页。
  • 源服务器重复内存页复制操作,每一次,内存页中被更改的部分也会被复制。

这之后虚拟机继续运行在源服务器上。在源服务器复制完原始内存页文件之后,就开始向目的Hyper-V服务器复制发生变化的内存页文件。复制过程完成之后,源服务器在目的Hyper-V服务器上注册虚拟机及其状态。

之后,源服务器将存储控制权限移交给目的服务器,包括VHD文件和直通磁盘。接着,虚拟机就可以在目的服务器启动了。

这时,虚拟机已经在目的服务器开始运行了,但是其在目的服务器获取了一个新的MAC地址。为了确保实时迁移的虚拟机可以和其他网络设备成功通信,目的服务器会向物理网络交换机发送消息来学习虚拟机的新MAC地址。

实时迁移过程可以在几秒或者几分钟之内完成,这依赖于如下几个因素:

  • 如果在迁移过程中内存页文件正在被使用,那么迁移过程就将花费更长的时间。
  • 如果虚拟机正在访问网络,或者虚拟机内存页文件正在发生快速变化,迁移的时间将会增长。
  • 用于实时迁移的网络速度同样会影响迁移时间。推荐使用1GB或者快速以太网来加速实时迁移过程。

作者

Nirmal Sharma
Nirmal Sharma

TechTarget投稿作者

翻译

王学强
王学强

TechTarget特邀编辑,毕业于计算机专业,现任职于外企IT分析师,负责网络、防火墙和服务器等系统运维工作,对虚拟化、网络安全和渗透测试拥有浓厚兴趣,工作外热爱旅行、汽车和健身。

相关推荐

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

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

  • 从Azure VM到Hyper-V:想想这些技巧

    多年来,IT行业已经推动IT人员把工作负载转到云中。虽然在公有云中有一些好处,但有些工作负载更适合运行云本地数据中心中。

  • 功能多样的Get-VM PowerShell cmdlet,你知道多少?

    Hyper-V管理员能够使用Get-VM PowerShell cmdlet查看并调整一系列虚拟机配置信息。微软花费大量精力对PowerShell进行优化,以提升其对本地或者远程服务器的管理功能。

  • 支持Linux虚拟机:新版Hyper-V来帮忙

    大家都知道,Linux虚拟机无法利用Hyper-V针对Windows虚拟机提供的众多特性。幸运的是,情况已经发生变化,Hyper-V现在能够为Linux提供更多的支持。