虚拟化部署通常有两种形式:一种是寄居架构,将虚拟化软件运行在宿主机操作系统之上;另一种是裸机架构,虚拟化软件直接运行在物理主机上。
Hyper-V两种形式都能支持,两者的功能基本是一样的。至于两者的区别,主要有以下几点:
1、 前者有图形界面,管理更方便,后者管理主要用命令来管理,管理相对复杂些;
2、 前者成本非常高,因为要购买操作系统和虚拟化授权,后者是完全免费的,无论是软件还是授权都免费;
3、 前者系统资源占用大,稳定性稍差,后者只有核心安装,资源占用小,稳定性更好;
Hyper-V群集在图形界面的部署比较简单,网上的资料也较多,而命令行下部署的资料比较少,本文想系统的谈谈命令行部署Hyper-V群集。
一、 实验目的
部署Hyper-V群集,实现宿主机或虚拟机故障转移和自动迁移功能。
二、 网络架构和拓扑
本方案中共有三台物理服务器,其中一台安装Windows Server 2012 R2部署DC和ISCSI存储,另外两台群集节点HY01和HY02,安装Hyper-V Server 2012 R2,节点之间未部署专门的心跳网络。
主机名 |
IP地址 |
|
DC&ISCSI |
192.168.97.211 |
|
HY01 |
192.168.97.232 |
群集IP:192.168.97.212 |
HY03 |
192.168.97.233 |
拓扑图如下:
三、 实验准备
1、 三台服务器安装相应的系统,并配置IP地址,这里略过;
2、 DC服务器添加域控制器(同时安装DNS服务器)、ISCSI目标服务器、故障转移群集;
3、 配置Hyper-V主机
配置IP地址和DNS,DNS需指向DC服务器
把服务器加入域XX.com、更改计算机名
四、 实验配置
1、 DC服务器添加群集共享磁盘,包括仲裁盘和数据盘,分别分配2G和100G
2、 HY01主机在命令行下输入iscsicpl,运行iscsi发起程序
在发现-目标门户下输入ISCSI服务器地址192.168.97.211
连接共享磁盘
输入磁盘管理命令diskpart
显示磁盘list disk,可以看到两个脱机状态的磁盘
选择磁盘select disk 3
改成联机状态online disk
清除只读属性attr disk clear readonly
创建主分区create partition primary,必须为主分区,否则无法格式化
格式化分区format quick
显示卷list vol
分配一个未使用的盘符assign letter S:
仲裁盘分配盘符为S,
数据盘重复上述配置,并分配O
配置成功后,可以看到两个共享磁盘
HY02的配置基本与HY01相同,只需运行iscsi发起程序连接共享磁盘、并将共享磁盘联机即可
3、 节点配置群集
在两台节点服务器HY01和HY02,先关闭防火墙netsh f set op di
进入powershell模式
键入:get-windowsfeature,用来查看 windows组件。命令框中会显示所有的功能列表和安装情况
键入Add-windowsfeature failover-clustering,添加故障转移群集
键入Add-windowsfeature rsat-clustering,添加故障转移群集工具
4、 添加群集
在DC服务器上运行故障转移群集管理器
验证配置-
选择服务器,
添加HY01和HY02节点
运行所有测试
选择磁盘
开始测试
测试中…….
测试结果,只要没有明显提示说不成功就行,有些警告可以不理
勾选立即使用经过验证的节点创建群集
输入群集名称和IP地址
创建群集成功
点存储-磁盘-可用存储
右键-添加到群集共享卷
变成群集共享卷
点节点能看到两台节点服务器的状态
5、 虚拟机管理
打开Hyper-V管理器,连接至HY01和HY02
在安装虚拟机之前还需要做些准备工作。
首先,创建虚拟交换机,虚拟交换机上联到物理交换机的接口是trunk模式,因此可用在该主机上配置不同vlan的IP地址
必须选对正确的物理网卡,VLAN ID 97对应的就是管理地址对应的vlan号。
其次,Hyper-V设置里面更改默认的虚拟硬盘和虚拟机文件的存放位置
默认是这个
都要改为C:\ClusterStorage\volume1,这是群集共享磁盘地址
最后开始安装虚拟机系统, 必须安装在群集共享磁盘里才能实现故障转移和实时迁移等功能。
由于物理网卡是trunk模式,因此必须给每台虚拟机的虚拟网卡分配vlan号。
虚拟机右键-设置
选网络适配器-启用虚拟LAN标识,并填入该虚拟机要配置的IP地址相应的vlan号
配置IP地址
Ping网关通了
从外部ping该虚拟机也通
6、 群集角色
打开群集管理器-角色-右键配置角色
选中虚拟机
勾选虚拟机
配置成功
五、 测试
1、 实时迁移测试
打开群集管理器,角色下有虚拟机win2003原本部署在HY01主机上
右键移动-实时迁移-选择节点
从外部ping虚拟机ip,只丢一个包,就迁移到主机HY02上了
2、 快速迁移测试
打开群集管理器,角色下的win2003目前部署在HY02上
右键移动-快速迁移-选择节点
迁移后,虚拟机暂时停机,丢包数量取决于是否手动恢复网卡状态
3、 故障迁移测试
Win2003运行在HY01上,重启HY01主机
只丢一个包,自动切换到HY02上
4、 移动虚拟机存储
Win2003运行在HY01上,虚拟硬盘的默认位置是C:\ClusterStorage\volume1,点击“检查”
右键-移动-虚拟机存储
将上方的虚拟机文件拖动到右下方的目标位置,点启动
正在启动虚拟机存储迁移,网络不会中断
六、 总结
1、 群集技术非常成熟,用虚拟化的高可用性非常不错;
2、 实时迁移和快速迁移差别还是挺大的,前者不会造成停机,后者会短暂停机,感觉后者似乎没有存在的必要;
3、 DC可以部署在虚拟机上,也可以部署在单独的物理服务器上,或者和ISCSI存储服务器部署在一台物理服务器上;
4、 ISCSI存储服务器似乎是整个虚拟化的一个单点故障,如果该服务器故障,可能所有的虚拟机都无法运行;
5、 为了提高存储服务器性能,可以考虑启用多路径I/O,具体测试情况可参看我的实验一。