Windows 故障转移+Hyper-V 虚机自动迁移高

可用 

  

Windows 故障转移+Hyper-V 虚机自动迁移高... 1

一、系统原理... 3

1.1 高效率的 VMbus 架构... 3

1.2 完美支持 Linux 系统... 4

二、架构拓朴... 5

2.1 网络及系统架构拓朴... 5

2.2 域结构拓朴... 5

 三、实验资源列表... 6

3.1 网络设备... 6

3.2 服务器设备... 6

四、Hyper-v 故障转移群集配置过程... 6

4.1 AD 域... 7

4.1.1 AD 域的安装过程... 7

4.1.2 AD 配置过程... 13

4.2ISCSI 存储... 18

4.2.1 ISCSI 存储... 18

4.2.2 配置 ISCSI 并创建 ISCSI 19

4.2.3 加入域组... 27

4.3Hyper 安装... 29

4.3.1 ISCSI 发起程序... 29

4.3.2 Hyper-V 安装流程... 31

4.3.3 故障转移群集管理... 34

4.3.4 新建虚拟机... 40

五、验证结果... 44

5.1  实时迁移... 44

5.2  故障转移... 45

六、实验结果... 47

6.1  注意事项... 47

6.2  总结... 47

 

一、系统原理  

Hyper-V采用微内核的架构,兼顾了安全性和性能的要求。Hyper-V底层的 Hypervisor运行在最高的特权级别下,微软将其称为ring -1(而Intel则将其

称为root mode),而虚拟机的OS内核和驱动运行在ring 0应用程序运行在 ring 3下,这种架构就不需要采用复杂的BT(二进制特权指令翻译)技术,可以进一步提高安全性。  

1.1 高效率的 VMbus 架构 

由于Hyper-V底层的Hypervisor代码量很小,不包含任何第三方的驱动,

非常精简,所以安全性更高。Hyper-V采用基于VMbus的高速内存总线架构,来自虚机的硬件请求(显卡、鼠标、磁盘、网络),可以直接经过VSC,通过

VMbus总线发送到根分区的VSP,VSP调用对应的设备驱动,直接访问硬件,中间不需要Hypervisor的帮助。  

这种架构效率很高,不再像以前的Virtual Server,每个硬件请求,都需

要经过用户模式、内核模式的多次切换转移。更何况Hyper-V现在可以支持

Virtual SMP,Windows Server 2008虚机最多可以支持4个虚拟CPU;而

Windows Server 2003最多可以支持2个虚拟CPU。每个虚机最多可以使用

64GB内存,而且还可以支持X64操作系  

1.2 完美支持 Linux 系统 

和很多朋友的想法不同,Hyper-V可以很好地支持Linux,我们可以安装支

持Xen的Linux内核,这样Linux就可以知道自己运行在 Hyper-V之上,还可以安装专门为Linux设计的Integrated Components,里面包含磁盘和网络适http://baike.baidu.com/view/7756.htm配器的VMbus驱动,这样Linux虚机也能获得高性能。下图所示的就是Novell  

SUSE Linux 10 SP1,其中的网卡驱动,其总线类型就是VMbus。  

这对于采用Linux系统的企业来说,是一个福音,这样我们就可以把所有服务器,包括Windows和Linux,全部统一到最新的Windows Server 2008 平台下,可以充分利用Windows Server 2008带来的最新高级特性,而且还可以保留原来的Linux关键应用不会受到影响。  

和之前的Virtual PC、Virtual Server类似,Hyper-V也是微软的一种虚拟化技术解决方案,但在各方面都取得了长足的发展。  

Hyper-V可以采用半虚拟化(Para-virtualization)和全虚拟化

(Fullvirtualization)两种模拟方式创建虚拟机。半虚拟化方式要求虚拟机与物理主机的操作系统(通常是版本相同的Windows)相同,以使虚拟机达到高的性能;全虚拟化方式要求CPU支持全虚拟化功能(如Inter-VT或AMD-V),以便能够创建使用不同的操作系统(如LinuxMac OS虚拟机。  

从架构上讲Hyper-V只有“硬件-Hyper-V虚拟层,本身非常小

巧,代码简单,且不包含任何第三方驱动,所以安全可靠、执行效率高,能充分利用硬件资源,使虚拟机系统性能更接近真实系统性能。  

二、架构拓朴  2.1 网络及系统架构拓朴 Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windowsWindows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_02

 

2.2 域结构拓朴 

 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_03Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_04 三、实验资源列表
3.1 网络设备 

一台华为 5752-SI  

3.2 服务器设备 

两台 G6S  

两台 xenserver 的虚机  

四、Hyper-v 故障转移群集配置过程 

以下截图每一步细节都有,重复性的截图我就略过了,如若无图,可直接下一步,

或者默认即可。

4.1 AD 域 

域的简介:在一个作用域里面的成员,它们的会默认同步域控制器的时间,群集及故障转移对时间的要求也能满足。

4.1.1 AD 域的安装过程 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_05

 添加角色和功能向导

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_06

或基于功能的安装(默认下一步及可)

 Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_07

选择本地服务器

 Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_08

由于AD域需要DNS服务的组件,所以我们需要选中DNS服务。

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_09 

选择功能(默认下一步)

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_10

添加角色和功能

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_11

 确认安装服务

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_12 

DNS 服务安装完成

 Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_13

AD 域的安装

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_14 

AD 域安装完成,并将此服务器提升为域控制器

4.1.2 AD 配置过程 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_15 

创建一个新的域,并指定根域名(这时候就已经用到 DNS 服务了) 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_16

 配置目录还原模式密码

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_17 

DNS 选项(无视,下一步即可)

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_18 

域名的配置

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_19

 域配置的条件检查(正常如图所示)

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_20 

进入AD域的管理界面,并开始配置AD域

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_21

新建一个组织单位(OU)

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_22

新建组织单位并且命名

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_23

添加域组成员

 4.2ISCSI 存储 

4.2.1 ISCSI 存储

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_24 

重复的已跳过,选择安排 ISCSI 服务器

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_25 

默认安装到完成即可

4.2.2 配置 ISCSI 并创建 ISCSI 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_26 

创建 ISCSI 目标

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_27 

选择分区将新建成 ISCSI 虚拟磁盘 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_28 

给虚拟磁盘命名

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_29 

创建 Hyper-v 的仲裁磁盘

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_30

 新建 ISCSI 目标

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_31 

指定目标主机名称

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_32

 指定哪台主机有访问权限

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_33 

将需要连接的主要都给权限

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_34

 是否需要 CHAP 安全认证

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_35 

确认相关信息是否无误,并开始创建

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_36

等待进度条读取完成,关闭当前菜单

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_37

再新建一块磁盘

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_38 

磁盘命名为 Date(数据盘)

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_39

 给磁盘分配大小 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_40

 其它的与仲裁磁盘创建相似,所以省略,直接按照上图设置即可(至此两块磁盘都创建完成)

4.2.3 加入域组 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_41

 将首先 DNS 设置为域控制器 IP(因为它也是 DNS 服务提供者)

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_42 

在系统,更改计算机名里面修改。需要与前面你创建的根域名对应上(DNS 也要设置为域控服务器 IP,不然无法加入到域)

 Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_43

输入域服务的用户名和密码即可(后面的 Hyper-v1 v2 也需要相同的方式加入到域)

4.3Hyper 安装 

4.3.1 ISCSI 发起程序 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_44

 在仪表盘里面选中 ISCSI 发起程序,需要注意的事, 必须先加入到域,加域会重启,

ISCSI 服务器必须先加入到域并开始运行服务后,其它客户端才可使用(客户端也必须加入到域)

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_45

 

 选择发现选项卡,输入 ISCSI 服务提供 IP

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_46

 选择连接到目标 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_47

 会出现两个磁盘,选择自动配置即可

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_48

 打开计算机管理里面的磁盘管理,将 ISCSI 磁盘联机并格式化,(格式化只需要一台做就可以了)

4.3.2 Hyper-V 安装流程 

两台的步骤基本相同,就不细分了

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_49

 选择安装 Hyper-V 服务

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_50

 添加角色里面将故障转移群集选中

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_51

 选择下一步继续

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_52

 选中一块网卡充当虚拟交换机的网卡,需要两块网卡命名一致,不然迁移会出故障 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_53

 允许交换机实时迁移

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_54 

默认即可,后续故障转移的共享磁盘设置完毕后还需要修改此项

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_55 

安装完成即可

4.3.3 故障转移群集管理 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_56

 开始设置故障转移群集

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_57

 验证故障转移群集配置,配置完毕并正常的话,会自动创建群集的。 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_58

 默认下一步

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_59

 所有服务器,从图所示可看见两台服务器都已经加入域

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_60

 选择运行所有测试

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_61 

确认所需要验证的配置,即可下一步。(默认下一步即可)

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_62

 这个验证过程大概在 5 分钟左右

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_63

 如图所示,配置通过。

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_64

 开始创建群集

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_65

 创建群集的向导,并且为群集命名和设置群集的 Vip,并且在域组内会添加自动添加该成员。

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_66

 确认创建

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_67

 创建群集完成

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_68

创建群集共享卷,创建完成后,它会自动生成到 C 盘的 ClusterStorage\Volume1\目录下

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_69

 将虚拟硬盘和虚机存放到共享存储目录下

4.3.4 新建虚拟机 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_70 

新建虚机

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_71

 为虚机分配内存

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_72

 分配网络,还是一样,强调两台母机的网卡名一致

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_73

 为虚机分配硬盘大小

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_74

镜像引导

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_75

虚机创建完成,我在每台母机上按照命名创建了一台测试机,后面就开始验证了。

五、验证结果      5.1  实时迁移

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_76

从图中可知,迁移是从 2200 分开始,采用的是实时迁移 

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_77

从图中 从图中所示,时间是可以吻合的,在 Ping 的截图中可以发现,没有掉一个包,在实时迁移的一瞬间,延迟会有点大,可能会掉一个包。

5.2  故障转移

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_78

从图中可知 Hyper-v2 2149 分虚机是正常运行的,并且已经正常运行 4 天多。

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_hyper-v_79 

我在 2152 的时候重启了 Hyper-v2 的服务器,模仿故障发生时的场景。

Windows 故障转移+Hyper-V 虚机自动迁移高 可用_windows_80 

Hyper-V2 处于掉线状态,虚机也正常迁移,迁移过程会有将近二十个包的掉包,但在现在的大环境下,一分钟的业务中断时间虽长,但相对还是较好的。在 Hyper-V 的商业产品中,有数据中心虚拟化的概念,一个数据中心的虚拟群集挂了,另一个数据中心的群集会相应开启,如果以这个视角去看待的话,Hyper-V 的一分钟中断就是极好的一个数据。

六、实验结果

从上述的的验证结果来看,本次实验的 Windows 故障转移+Hyper-V 虚机自动迁移高可用是成功的,

6.1  注意事项

Hyper-v windows 2008 R2 就已经有这个服务,但在 windows 2012 的时候有一次大幅度的更新,所以建议在一项新的群集项目中,采用 windows 2012 及以上版本的操作系统,这样系统的稳定性,业务的可用性和服务可操作性都有的很大的保障。

故障转移中的所有角色必须都是同一个作用域下才行。在域下面的服务器角色默认

是会自动同步时间的,默认为 45 分钟同步一次,而且加入域后的服务器,无法同步

Inter 上的时间。

6.2  总结

本文档的适用范围在 windows 2012 windows 2012 R2,无法适用于其它版本的操作系统。