将虚拟机从一台微软Hyper-V主机移动到另一台并不是惊天动地的消息,但是你做到了吗?微软Server 2012和2012 R2通过图形Hyper-V管理器就能轻易实现这个迁移过程。如果你像我一样想加速迁移过程——甚至自动化该过程——PowerShell可以帮助你。你还可以通过使用SMB 3.0文件共享来加速迁移过程。 将虚拟机从一台主机迁移到另一台主机的动机很多,从负载平衡到老主机退役。
过去的一个挑战就是在漫长的迁移过程中遭遇停机,但以后再也不会出现了。动态迁移保障了整个虚拟机及其存储的迁移过程顺利进行。 微软动态迁移有三种方式: 无共享实时迁移——在这种迁移过程中,你将虚拟机及其存储从一台……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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共享提升你的迁移速度。
相关推荐
-
寻找完美数据:找到最佳服务器整合率
新手要知道一件重要的事实就是服务器整合不是一个单一的静态数字——没有正确的服务器整合率。那么服务器整合率多少合适?较高的服务器整合率有风险吗?
-
KVM支持动态迁移功能吗?
动态迁移就是在不离线的情况下把虚拟机从一个主机移到另一个主机上。现在kvm支持非动态迁移, 当内存数据需转移的 […]
-
Citrix虚拟化动态迁移技术XenMotion的系统要求?
XenMotion的系统要求 1. XenServer中的处理器必须具有相同的类型。 尽管XenMotion允 […]
-
Citrix虚拟化动态迁移技术XenMotion会用到XenMotion与Resource Pools(资源池) 吗?
XenMotion与Resource Pools协同工作。Resource Pools的功能是收集在一组资源中 […]