作为VMM2012SP1的一种商业价值体现,管理高可用的虚拟机是VMM的一项重要功能,同时在商业环境部署中,我们在设计架构的时候,必然要考虑到对重要业务实施高可用。

这次的内容分两部分,手工构造一个高可用的HyperV环境、使用VMM从无到有的创建高可用的HyperV环境。

=======我是分割线====================

来看一下我们之前所搭建的工作环境,由于需要搭建HyperV的群集环境,所以我们需要添加两台硬件配置一致的硬件服务器(文中红色字部分),经过了这么多个章节,终于又要新加服务器了,呵呵。

操作系统

安装应用

功能

WindowsServer2012

DC+DHCP+DNS+CA

域控制器+DHCP+DNS域名解析+证书

WindowsServer2012

MSSQL2012SP1

SystemCenter数据库环境

WindowsServer2012

SCVMM2012SP1

虚拟化和私有云管理平台+SCAC

WindowsServer2012

ISCSI-HA

ISCSI存储服务器

WindowsServer2012

Contoso2k13a

物理机,准备加入群集

WindowsServer2012

Contoso2k13b

物理机,准备加入群集

按照之前章节介绍的方法,正常添加主机,我们把两台contoso2k13的机器加入到VMM的管理当中,需要注意的是,这两台物理机只要加入域就可以完成这个操作,甚至不需要安装HyperV角色!如果没有HyperV角色,在VMM添加这两台机器的过程中,可以自动安装角色。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_工作环境

=======我是分割线====================

买不起硬件存储的看过来

如果手头没有硬件存储,可以先看一下这个环节,WindowsServer2012提供了ISCSI存储的功能,简言之,在WindowsServer2012下,可以通过一些设置搭建出一台服务器,使之为其他任意平台的服务器提供ISCSI接口的网络共享存储服务。如果你这里是测试环境,或者暂时没有硬件存储可用,那么这项功能确实会非常有用,值得说明的是,它的配置实在是太简单了。

首先我们搭建一台WindowsServer2012的服务器,并加域(这步不是必须,仅为管理方便),命名为ISCSI-HA。使用添加角色和功能想到,添加"ISCSI目标服务器"角色即可。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_虚拟机_02

记得勾选自动重启目标服务器,否则无法继续进行下去。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_数据库_03

这个过程很快,安装完成之后,我们就可以使用服务器管理器,对它进行配置了。如果是本机操作,那么这一步也可以省略,WindowsServer2012这种管理其他服务器的功能真的是非常方便。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_虚拟机_04

依次进入文件和存储服务→服务器→在这里可以看到我们新加的服务器 ISCSI-HA

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_工作环境_05

点击ISCS→右侧点击"要创建ISCSI虚拟磁盘,请启动新建ISCSI虚拟磁盘向导"。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_控制器_06

接下来一步一步跟具体提示来操作,首先定义我们的虚拟存储的保存位置,我们按卷来选择。这里的意思不是将整个分区都变成虚拟存储了,而是默认在选中的分区下的\iSCSIVirtualDisk目录下进行创建。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_数据库_07

这里为虚拟磁盘起个名字吧,简单好记即可,需要注意的是,为了给接下来要做的群集使用,我们需要重复这个操作两次,创建两个磁盘。其中一个稍小,作为仲裁磁盘,一个稍大,作为数据存储磁盘。首先我们创建一个数据存储盘

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_数据库_08

大小定义为100G,当然多大都可以,只要不超过当前所在分区大小即可。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_服务器_09

然后我们创建ISCSI目标。(新建第二块虚拟磁盘的时候,我们就可以直接选择现有ISCSI目标了)

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_虚拟机_10

这个时候先指定一个目标名称,我们可以根据需要,定义一个好记且容易理解的名称。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_控制器_11

然后选择连接到哪一台服务器(也就是说,我们这个虚拟存储是给谁用的),点击添加即可。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_工作环境_12具体来说,有4种连接方式,分别为IQN、DNS、IP、MAC。常用的我们一般会采用IP地址来输入

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_工作环境_13

当然,使用第一个,输入域内的计算机名字,一样可以添加,但是更多的,我们是建议使用IP添加。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_数据库_14

如果是采用添加计算机名的方式,那么在添加完成之后,会有如下图所示的服务器信息展示。反之则是IP地址。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_控制器_15

接下来配置这个连接过程是否加密,可以根据需要进行设定。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_工作环境_16

最后检查摘要,如无问题就开始创建吧。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_数据库_17

创建速度很快,不到30秒即可完成。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_服务器_18

然后同样的方法创建第二块磁盘即可。

=======我是分割线====================

手动准备HyperV群集

存储已经准备好了,那么我们就可以开始部署群集了,登录到其中一台contoso2k13的服务器上(两台服务器都要进行同样的操作),我们进入控制面板→ISCSI发起程序

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_虚拟机_19

在目标处输入ISCSI存储的FQDN或者IP地址,点击"连接"。出现提示后确认即可。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_虚拟机_20

OK,上面这个步骤就是把ISCSI存储连接到本地服务器上,我们进入到磁盘管理,就可以看到之前添加的挂载在ISCSI上的两块新磁盘了。

在这两块磁盘的左侧,右键点一下,选择"联机",然后格式化成NTFS格式一下。(同样的方法,在另外一台contoso2k13的服务器上进行同样操作

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_控制器_21

OK,接下来为两台机器添加群集服务。我们进入添加角色和功能想到,选中contoso2k13的服务器(依然是两台服务器依次操作)


SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_工作环境_22

在"功能"处选择"故障转移群集"

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_服务器_23

检查一下所添加的组件,开始安装即可。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_虚拟机_24

这个过程很快,同时,也不需要重启服务器。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_控制器_25

=======我是分割线====================

配置HyperV群集

准备工作也做完了,我们开始配置HyperV群集,进入任意一台contoso2k13的服务器,运行Metro上的故障转移群集管理器。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_服务器_26

在主界面我们可以看到三个按钮,分别是验证配置、创建群集、和连接到群集。

其中验证配置是创建群集所必须要做的第一步。这一步我们可以检测系统、网络、硬件、存储各方面是否符合群集的要求,可以理解为是baseline,完全符合要求后,方可创建群集。

而连接到群集则相当于我们常用的"服务器管理器",是一个远程管理其他群集的工具。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_虚拟机_27

首先我们验证群集配置,输入两台需要加入到群集的服务器的FQDN

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_数据库_28

选择运行所有测试

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_虚拟机_29

这个时候点击下一步开始耐心等待。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_虚拟机_30

如果有错误,在这里会发现,我们可以点击每一条细节,具体查看故障原因,因为群集要求所有的准备条件都必须通过,所以我们不管遇到何种问题,都必须全部解决掉。

很明显这里报错了,是一个虚拟交换机的错误。"

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_数据库_31

我们点击查看报告,检查一下错误的详细信息。很明显,这个错误很简单,仅仅是两台服务器上的虚拟交换机没有使用同一个名称造成的

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_数据库_32要解决也很简单,回到SCVMM,修改相应的虚拟交换机属性就可以了。当然了,在创建群集的时候可能会遇到很多问题,那么我们只要根据体会是,一条一条处理就可以了。


SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_工作环境_33

好了,再次运行群集验证,这次没有任何问题,完整通过。我们勾选立即使用经过验证的节点创建群集。并点击完成。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_服务器_34

现在进入创建群集的阶段,注意这里有一个提示,要求创建群集的用户必须拥有每一台服务器的本地管理员权限,默认的情况下,"域管理员"是拥有此权限的。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_服务器_35

接下来我们为群集设定一个名称,这里就叫做HypervHA吧,这个名称会在DNS中有所反应。

接下来,我们需要进行一些网络配置,比如对这个群集设定IP地址,如果网络内开启了DHCP,那么是可以DHCP获得IP的,建议在生产环境中手动配置IP地址。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_服务器_36

在我的实验中,为了部署快捷,我选择了DHCP,当然这种方法在绑定MAC地址之后依然没什么问题,我们只是建议你,最好用固定IP。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_虚拟机_37

由于之前我们的验证已经全部通过了,所以这一步也是没任何问题的。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_工作环境_38

我们手动创建完这个群集,那么在SCVMM2012SP1中,它会自动变成如下所示的结构排列,可以看到,我的两台contoso2k13的服务器已经位于群集HypervHA下了

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_服务器_39

我们返回群集中看一下。这里会有一个自动的原则:ISCSI挂载的两块盘中,小盘作为仲裁盘、大盘作为"可用存储"(切记,至少要挂载两块盘),右键点击"可用存储"可以转化为"群集共享卷(CSV)",这是一个非常有意思的功能。如果仅仅是可用存储,那么它在服务器上将会体现为一个磁盘,一个盘符,而群集共享卷呢?它会自动映射到"c:\ClusterStorage\Volume1\"下,如果还有多块磁盘,那么这个volume1的数字会增加。

这种做法有什么好处呢?因为我们的盘符可能有很多个,在每一个群集上,挂载的磁盘的盘符不一定是我们预期的那个,但是如果采用"c:\ClusterStorage\Volume1\"这种形式,则必然是唯一的,因为不管怎么说,我们的磁盘都会有一个C盘。

集群共享卷不是一个新技术,但是这种做法,让我们对集群下的存储的管理更加简单,也更直接。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_数据库_40


我们有多张网卡,但是很明显,实时迁移的时候必然不希望流量从业务端口流出,这样会极大的占用我们宝贵的带宽。事实上,对于实时迁移,一般我们会保留一个单独的网卡为其使用。在这里,我们可以调整,哪些网卡不参与群集流量。比如管理口。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_数据库_41

实时迁移从哪个端口走,这是一个很严肃的问题。前后顺序也要有讲究,归根结底就是不能影响线上业务,这不属于技术问题,而是规划问题。

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_服务器_42

我们搭建一个群集环境是为了什么?当然是为了实时迁移,以及故障转移。当某一台物理机挂掉的时候,虚拟机可以快速的迁移到另外一台运行正常的物理机上。下图是我做的一个很正常的实时迁移,耗时11秒,期间ping只丢了一个包。

(下一章我们将介绍如何使用VMM快速创建HyperV群集,以及创建高可用的虚拟机

SystemCenter2012SP1实践(25)VMM下HyperV的高可用(上)_服务器_43


本文出自 “九叔-企业信息化进程” 博客,请务必保留此出处http://jiushu.blog.51cto.com/972756/1206304