Windows Server 2012 R2和SMB 3.0:加速动态迁移过程

日期: 2013-11-04 作者:Jason Helmick翻译:杨旭 来源:TechTarget中国 英文

将虚拟机从一台微软Hyper-V主机移动到另一台并不是惊天动地的消息,但是你做到了吗?微软Server 2012和2012 R2通过图形Hyper-V管理器就能轻易实现这个迁移过程。如果你像我一样想加速迁移过程——甚至自动化该过程——PowerShell可以帮助你。你还可以通过使用SMB 3.0文件共享来加速迁移过程。 将虚拟机从一台主机迁移到另一台主机的动机很多,从负载平衡到老主机退役。

过去的一个挑战就是在漫长的迁移过程中遭遇停机,但以后再也不会出现了。动态迁移保障了整个虚拟机及其存储的迁移过程顺利进行。 微软动态迁移有三种方式: 无共享实时迁移——在这种迁移过程中,你将虚拟机及其存储从一台……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

将虚拟机从一台微软Hyper-V主机移动到另一台并不是惊天动地的消息,但是你做到了吗?微软Server 2012和2012 R2通过图形Hyper-V管理器就能轻易实现这个迁移过程。如果你像我一样想加速迁移过程——甚至自动化该过程——PowerShell可以帮助你。你还可以通过使用SMB 3.0文件共享来加速迁移过程。

将虚拟机从一台主机迁移到另一台主机的动机很多,从负载平衡到老主机退役。过去的一个挑战就是在漫长的迁移过程中遭遇停机,但以后再也不会出现了。动态迁移保障了整个虚拟机及其存储的迁移过程顺利进行。

微软动态迁移有三种方式:

无共享实时迁移——在这种迁移过程中,你将虚拟机及其存储从一台服务器迁移到另一台服务器。

动态存储迁移——虚拟机设置留在当前主机上,但是虚拟机的存储(虚拟硬盘)迁移到其他位置。

动态迁移——允许将虚拟机从一个集群节点在线迁移到另一个集群结点。

本文中,我将重点介绍无共享实时迁移,也是三种类型中最耗费时间的一种。虽然你可以使用System Center虚拟机管理器执行此类迁移,但我将通过Server 2012中的Hyper-V cmdlet实现。

Hyper-V cmdlet实现动态迁移

实验室准备

我喜欢在实验室环境中尝试新的想法和技术,在生产之前你也应该尝试一下。我的实验室环境由一个域控制器和两个Hyper-V主机(名为S1和S2)构成。S1上已经运行了一台虚拟机(名为Server1)。我的目标是在不影响客户正常活动下迁移虚拟机。

简单地说,无共享实时迁移是指将虚拟机及其存储顺利从一个Hyper-V主机迁移到另一个Hyper-V主机,不会产生停机时间。这是一个复杂的后台过程,但微软已经改进了方法使之变得相当简单。

我在客户端计算机使用PowerShell remoting或RSAT完成所有的管理。如果你的实验室环境中没有执行这些任务的客户端,可以使用运行虚拟机的Hyper-V主机。

检查VM状态

快速检查虚拟机状态以确保一切正常。检查当前Hyper-V主机的状态和存储位置:

Get-VM -Name server1 | Format-Table -Property Name, Path, State

PS C:> Get-VMHardDiskDrive -VMName Server1 | Format-Table -Property VMName, Path

启用和执行动态迁移

设置迁移的基本设置很简单。你需要启用迁移功能并选择一个移动网络。在生产环境中,最好有多个网络接口卡并且在独立网络中推动迁移进程。对于实验室测试来说,是可以使用现有的网络的,因为没有最终用户会受到影响。

为了启动虚拟机迁移,在两个Hyper-V服务器中输入下面的命令或在客户端使用PowerShell remoting。

PS C:> Enable-VMMigration

在两个Hyper-V主机上添加虚拟机迁移网络:

PS C:> Add-VMMigrationNetwork 192.168.3.0/24

将虚拟机及其存储迁移到另一个Hyper-V主机现在只是一个命令。我现在要将虚拟机移动到S2主机上并将存储放到“C:HyperV”这里。为了测试,我在迁移过程中ping到虚拟机看看通信情况。命令如下:

PS C:> Move-VM –Name Server1 -DestinationHost s2 -DestinationStoragePath c:HyperV

使用SMB 3.0共享执行迁移

如果你真的想加速移动过程,不管虚拟机是在单独的还是在集群中,你都可以使用新的SMB 3.0文件共享。我们之前有介绍过SMB 3.0包括很多功能,但最重要的是,它提升了性能。

首先在虚拟机存储的目标位置设置SMB 3.0共享和权限。你需要为管理员和两台主机创建共享权限,并将这些权限分配给NTFS。我在两台Hyper-V主机上都创建了,因此我可以来回移动虚拟机。

PS C:> New-SmbShare -Name Share1 -Path C:hyperv -FullAccess Companyadministrator, CompanyS1, CompanyS2

PS C:> Set-SmbPathAcl -ShareName Share1

使用SMB共享执行迁移的过程和之前相似:

PS C:> Move-VM –Name Server1 -DestinationHost s2 -DestinationStoragePath \S2Share1

可能会遇到一些权限问题,尤其是从客户端执行时。你可以通过启用主机和客户端之间的委托约束解决。

使用动态迁移来移动虚拟机设置非常简单,而且如果了解PowerShell cmdlet的话会很容易自动化。另外可以考虑使用新的SMB 3.0共享提升你的迁移速度。

相关推荐