Hyper-V 2.0动态迁移功能测试
特别策划
微软在Windows Server 2008 R2中增加了Live Migration(动态迁移)功能,这绝对是Windows Server 2008 R2最令人期待的改进之一。Live Migration允许在故障转移集群中将Hyper-V虚拟机从一个节点动态迁移到另一个节点,在迁移的过程中虚拟机仍然可以不间断地对外提供网络服务。
测试平台和测试步骤
Live Migration可以很好地平衡虚拟机的资源消耗,如果服务器上的负载较轻,我们可以把多数服务器上的虚拟机迁移到少数服务器上,这样就可以关闭一些服务器,以节省电力资源。如果服务器的负载越来越重,我们可以把虚拟机迁移到另一台更“健壮”的服务器上。在Windows Server 2008 R2之前,Hyper-V只能提供虚拟机的Quick Migration(快速迁移),Quick Migration在迁移虚拟机时需要中断一段时间的服务,时间长短视网络速度和内存容量而定,需要几秒到几十秒。Quick Migration的表现让微软在和老对手VMware的较量中处于下风,VMware的Vmotion可以提供非常成熟的虚拟机实时迁移解决方案,Quick Migration与Vmotion相比要逊色不少。好在现在微软有了Live Migration,终于有了一件可以和Vmotion竞争的武器了。Live Migration的诱惑确实无法阻挡,笔者忙里偷闲搭建了一个实验环境测试了一下,下面把测试结果和大家分享一下,供大家参考。

测试的拓扑如图所示,笔者使用了3台计算机:WSS2008是一台Dell XPS1210笔记本(2GB内存、500GB硬盘、英特尔T5600处理器),充当域控制器、DNS服务器以及模拟iSCSI存储设备;Server1是一台台式机(Athlon64 X2 5200+、8GB内存、2TB硬盘),充当故障转移集群内的第一个节点;Server2也是一台台式机(Athlon64 X2 3600+、4GB内存、1TB硬盘),充当故障转移集群内的第二个节点。测试步骤大致如下:
1.部署Active Directory
a.在WSS2008上安装Windows Storage Server 2008 X64;
b.在WSS2008上运行Dcpromo,把WSS2008提升为contoso.com域的域控制器兼DNS服务器。
小提示:Windows Storage Server 2008的默认口令是“WSS2008!”(双引号内的所有字符),安装Windows Storage Server 2008的目的是要利用这个操作系统构建集群使用的iSCSI存储,应该安装Windows Storage Server 2008的64位版本。
2.部署Windows Server 2008 R2
a.在Server1和Server2上安装Windows Server 2008 R2;
b.把Server1和Server2加入域。
小提示:Windows Server 2008 R2只有64位版本,要确保物理机的CPU支持64位运算,支持DEP,支持AMD-V或Intel-VT。
3.创建iSCSI存储
a.在WSS2008上安装iSCSI Target;
b.在iSCSI Target中创建SCSI目标,允许Server1和Server2访问iSCSI存储;
c.在iSCSI Target中创建两块iSCSI硬盘,一块用于存储集群虚拟机,一块用于集群仲裁。
小提示:MSDN或Technet的订阅用户可以从微软网站下载iSCSI Target,iSCSI Target只支持在64位的Windows Storage Server 2008上创建iSCSI硬盘。
4.配置iSCSI存储
a.在Server1上启动iSCSI Initiator,连接到WSS2008上的iSCSI存储;
b.在Server1的磁盘管理器中对两块iSCSI硬盘进行分区格式化,负责存储集群虚拟机的iSCSI硬盘盘符设定为S,负责集群仲裁的iSCSI硬盘盘符设定为Q;
c.在Server2上重复Server1的操作。
小提示:通过Windows Server 2008 R2内置的iSCSI Initiator,Windows Server 2008 R2可以把WSS2008视为一个iSCSI存储设备。按照惯例,负责集群仲裁的磁盘盘符为Q。
5.部署Hyper-V角色
a.在Server1上部署Hyper-V角色;
b.在Server2上部署Hyper-V角色。
6.创建故障转移集群
a.在Server1上添加“Failover Clustering”功能;
b.在Server1上打开“Failover Cluster Manager”,选择“Create a cluster”;
c.把Server1和Server2作为集群内的两个节点;
d.为集群配置计算机名及IP地址。
小提示:Server1和Server2都有两块网卡,一块网卡用于对外提供网络服务,还有一块网卡用于检测集群内节点的信号。
7.配置故障转移集群
a.在Server1上打开“Failover Cluster Manager”,选择“Configure Cluster Quorum Settings”;
b.选择仲裁方式为“Node and Disk Majority”,把Q盘配置为集群仲裁盘;
c.在“Failover cluster Manager”中选择“Enable Cluster Shared Volumes”,启用集群共享卷;
d.在“Failover Cluster Manager”中右键单击“Cluster Shared Volumes”,选择“Add Storage”,把Q盘配置为集群共享卷;
e.检查集群共享卷是否已经被映射到Server1和Server2的C:\ClusterStorage\Volume1。
小提示:要注意集群共享卷应该被映射到C:\ClusterStorage\Volume1。如果Windows Server 2008 R2安装在其他盘符下,如D盘,那么集群共享卷就会被映射到D:\ClusterStorage\Volume1。如果两个节点映射集群共享卷的路径不同,迁移虚拟机就会失败。我们可以考虑通过mklink创建一个符号链接,把d:\clusterstorage映射到c:\storagecluster。
8.配置高可用性虚拟机
a.在Server1上打开“Hyper-V Manager”,创建一个虚拟机,虚拟机的存储路径为C:\ClusterStorage\Volume1,即存储在集群共享卷上;
b.在Server1上打开“Failover Cluster Manager”,选择“Configure a Service or Applicaton”;
c.配置故障转移集群支持“Virtual Machine”服务;
d.把Hyper-V中刚创建的虚拟机配置为高可用性虚拟机。
9.安装高可用性虚拟机
a.在Server1上打开“Failover Cluster Manager”,定位到Server1节点下的高可用性虚拟机,选择“start virtual machines”;
b.在高可用性虚拟机中安装操作系统;
c.在高可用性虚拟机中安装虚拟机集成工具。
小提示:安装Hyper-V虚拟机后需要安装集成工具,否则虚拟机无法找到网卡。
10.测试Live Migration
a.在Server1上打开“Failover Cluster Manager”,定位到Server1节点下的高可用性虚拟机,选择“LiveMigrate virtual machine to another node”,测试把虚拟机从Server1节点实时迁移到Server2节点;
b.测试虚拟机在迁移过程中是否还可以不间断地对外提供服务;
c.测试高可用性虚拟机是否被转移到Server2节点。
小提示:可以用Ping测试虚拟机在迁移过程中是否能持续提供网络连接。
测试完毕后,笔者对Live Migration的表现还是很满意的。用Ping测试,虚拟机在迁移的过程中只丢了一个包,基本达到了动态实时迁移的要求,和之前的快速迁移相比已经不是一个档次的表现了。看看Live Migration的进步,我们再把它和VMware的Vmotion做个对比,看看谁能在竞争中占得先机。
Live Migration和Vmotion争雄
VMware的Vmotion使用的迁移技术非常成熟。当节点A上的虚拟机向节点B迁移时,Vmotion会首先把虚拟机上的内存映像从A节点复制到B节点上。在复制内存映像的过程中,虚拟机内存发生的任何更改,都会被保存到一个内存位表上,在此期间,虚拟机仍然可以对外提供服务。当内存映像全部复制到B节点后,内存位表也被复制到节点B,然后虚拟机开始在B节点启动,在此期间,虚拟机服务会有一个非常短的中断。虚拟机在B节点启动时,Vmotion会利用内存位表修改复制到B节点的内存映像,使B节点上的虚拟机内存和A节点上的虚拟机内存内容一致。
Live Migration的迁移技术与Vmotion有类似之处。当节点A上的虚拟机迁移到节点B时,虚拟机上的工作区内存(被称为工作组内存)需要从A复制到B。在复制的过程中,任何对工作组内存的修改都会被记录到修正的页面清单中。当工作组内存复制到B节点后,B节点将利用修正的页面清单修改内存数据,使它与A节点的内容相同。接下来虚拟机上的存储句柄被转移到B节点上,然后虚拟机就可以从B节点启动了。在迁移的过程中也只有极其短暂的网络中断,基本上可以保证在迁移的过程中提供不间断的服务。
Vmotion技术是动态资源调度的基础,系统可以根据优先级和性能监控的结果,自动通过Vmotion在不同物理主机之间迁移虚拟机,以便平衡数据中心的可用资源,这是VMware引以为傲的技术。Live Migration则是基于集群的迁移方案,集群最多支持16台主机,一次最多可以同时迁移8台,在这一点上微软更有优势。Vmotion需要付费获得,而Live Migration已经包含在Windows Server 2008 R2之内,无需额外付费。Vmotion的管理界面简洁,而Live Migration有SCVMM(系统中心虚拟机管理器)助阵,功能更加强大……总体来看,Vmotion在技术上仍稍微领先,但Live Migration也在多个领域体现出自己的优势。也许公正的评价是:各有千秋,各有特长!作为用户,真心希望微软和VMware能够继续进行良性竞争,把更好的产品奉献给消费者。