关注微软私有云、公有云,虚拟化,项目经验丰富。商业合作请通过邮件联系,邮件地址a9y#foxmail.com(请替换#为@)。
全部博文(94)
分类: 云计算
2013-07-08 13:45:19
作为VMM2012SP1的一种商业价值体现,管理的虚拟机是VMM的一项重要功能,同时在商业环境部署中,我们在设计架构的时候,必然要考虑到对重要业务实施高可用。
这次的内容分两部分,手工构造一个高可用的HyperV环境、使用VMM从无到有的创建高可用的HyperV环境。
=======我是分割线====================
来看一下我们之前所搭建的工作环境,由于需要搭建HyperV的群集环境,所以我们需要添加两台硬件配置一致的硬件服务器(文中红色字部分),经过了这么多个章节,终于又要新加服务器了,呵呵。
操作系统 |
安装应用 |
功能 |
|
DC+DHCP+DNS+CA |
域控制器+DHCP+DNS域名解析+证书 |
WindowsServer2012 |
MSSQL2012SP1 |
数据库环境 |
WindowsServer2012 |
2012SP1 |
虚拟化和私有云管理平台+SCAC |
WindowsServer2012 |
ISCSI- |
ISCSI存储服务器 |
WindowsServer2012 |
Contoso2k13a |
物理机,准备加入群集 |
WindowsServer2012 |
Contoso2k13b |
物理机,准备加入群集 |
按照之前章节介绍的方法,正常添加主机,我们把两台contoso2k13的机器加入到VMM的管理当中,需要注意的是,这两台物理机只要加入域就可以完成这个操作,甚至不需要安装HyperV角色!如果没有HyperV角色,在VMM添加这两台机器的过程中,可以自动安装角色。
=======我是分割线====================
买不起硬件存储的看过来
如果手头没有硬件存储,可以先看一下这个环节,WindowsServer2012提供了ISCSI存储的功能,简言之,在WindowsServer2012下,可以通过一些设置搭建出一台服务器,使之为其他任意平台的服务器提供ISCSI接口的网络共享存储服务。如果你这里是测试环境,或者暂时没有硬件存储可用,那么这项功能确实会非常有用,值得说明的是,它的配置实在是太简单了。
首先我们搭建一台WindowsServer2012的服务器,并加域(这步不是必须,仅为管理方便),命名为ISCSI-HA。使用添加角色和功能想到,添加"ISCSI目标服务器"角色即可。
记得勾选自动重启目标服务器,否则无法继续进行下去。
这个过程很快,安装完成之后,我们就可以使用服务器管理器,对它进行配置了。如果是本机操作,那么这一步也可以省略,WindowsServer2012这种管理其他服务器的功能真的是非常方便。
依次进入文件和存储服务→服务器→在这里可以看到我们新加的服务器 ISCSI-HA
点击ISCS→右侧点击"要创建ISCSI虚拟磁盘,请启动新建ISCSI虚拟磁盘向导"。
接下来一步一步跟具体提示来操作,首先定义我们的虚拟存储的保存位置,我们按卷来选择。这里的意思不是将整个分区都变成虚拟存储了,而是默认在选中的分区下的\iSCSIVirtualDisk目录下进行创建。
这里为虚拟磁盘起个名字吧,简单好记即可,需要注意的是,为了给接下来要做的群集使用,我们需要重复这个操作两次,创建两个磁盘。其中一个稍小,作为仲裁磁盘,一个稍大,作为数据存储磁盘。首先我们创建一个数据存储盘
大小定义为100G,当然多大都可以,只要不超过当前所在分区大小即可。
然后我们创建ISCSI目标。(新建第二块虚拟磁盘的时候,我们就可以直接选择现有ISCSI目标了)
这个时候先指定一个目标名称,我们可以根据需要,定义一个好记且容易理解的名称。
然后选择连接到哪一台服务器(也就是说,我们这个虚拟存储是给谁用的),点击添加即可。
具体来说,有4种连接方式,分别为IQN、DNS、IP、MAC。常用的我们一般会采用IP地址来输入
当然,使用第一个,输入域内的计算机名字,一样可以添加,但是更多的,我们是建议使用IP添加。
如果是采用添加计算机名的方式,那么在添加完成之后,会有如下图所示的服务器信息展示。反之则是IP地址。
接下来配置这个连接过程是否加密,可以根据需要进行设定。
最后检查摘要,如无问题就开始创建吧。
创建速度很快,不到30秒即可完成。
然后同样的方法创建第二块磁盘即可。
=======我是分割线====================
手动准备HyperV群集
存储已经准备好了,那么我们就可以开始部署群集了,登录到其中一台contoso2k13的服务器上(两台服务器都要进行同样的操作),我们进入控制面板→ISCSI发起程序
在目标处输入ISCSI存储的FQDN或者IP地址,点击"连接"。出现提示后确认即可。
OK,上面这个步骤就是把ISCSI存储连接到本地服务器上,我们进入到磁盘管理,就可以看到之前添加的挂载在ISCSI上的两块新磁盘了。
在这两块磁盘的左侧,右键点一下,选择"联机",然后格式化成NTFS格式一下。(同样的方法,在另外一台contoso2k13的服务器上进行同样操作)
OK,接下来为两台机器添加群集服务。我们进入添加角色和功能想到,选中contoso2k13的服务器(依然是两台服务器依次操作)
在"功能"处选择"故障转移群集"
检查一下所添加的组件,开始安装即可。
这个过程很快,同时,也不需要重启服务器。
=======我是分割线====================
配置HyperV群集
准备工作也做完了,我们开始配置HyperV群集,进入任意一台contoso2k13的服务器,运行Metro上的故障转移群集管理器。
在主界面我们可以看到三个按钮,分别是验证配置、创建群集、和连接到群集。
其中验证配置是创建群集所必须要做的第一步。这一步我们可以检测系统、网络、硬件、存储各方面是否符合群集的要求,可以理解为是baseline,完全符合要求后,方可创建群集。
而连接到群集则相当于我们常用的"服务器管理器",是一个远程管理其他群集的工具。
首先我们验证群集配置,输入两台需要加入到群集的服务器的FQDN
选择运行所有测试
这个时候点击下一步开始耐心等待。
如果有错误,在这里会发现,我们可以点击每一条细节,具体查看故障原因,因为群集要求所有的准备条件都必须通过,所以我们不管遇到何种问题,都必须全部解决掉。
很明显这里报错了,是一个虚拟交换机的错误。"
我们点击查看报告,检查一下错误的详细信息。很明显,这个错误很简单,仅仅是两台服务器上的虚拟交换机没有使用同一个名称造成的
要解决也很简单,回到SCVMM,修改相应的虚拟交换机属性就可以了。当然了,在创建群集的时候可能会遇到很多问题,那么我们只要根据体会是,一条一条处理就可以了。
好了,再次运行群集验证,这次没有任何问题,完整通过。我们勾选立即使用经过验证的节点创建群集。并点击完成。
现在进入创建群集的阶段,注意这里有一个提示,要求创建群集的用户必须拥有每一台服务器的本地管理员权限,默认的情况下,"域管理员"是拥有此权限的。
接下来我们为群集设定一个名称,这里就叫做HypervHA吧,这个名称会在DNS中有所反应。
接下来,我们需要进行一些网络配置,比如对这个群集设定IP地址,如果网络内开启了DHCP,那么是可以DHCP获得IP的,建议在生产环境中手动配置IP地址。
在我的实验中,为了部署快捷,我选择了DHCP,当然这种方法在绑定MAC地址之后依然没什么问题,我们只是建议你,最好用固定IP。
由于之前我们的验证已经全部通过了,所以这一步也是没任何问题的。
我们手动创建完这个群集,那么在SCVMM2012SP1中,它会自动变成如下所示的结构排列,可以看到,我的两台contoso2k13的服务器已经位于群集HypervHA下了
我们返回群集中看一下。这里会有一个自动的原则:ISCSI挂载的两块盘中,小盘作为仲裁盘、大盘作为"可用存储"(切记,至少要挂载两块盘),右键点击"可用存储"可以转化为"群集共享卷(CSV)",这是一个非常有意思的功能。如果仅仅是可用存储,那么它在服务器上将会体现为一个磁盘,一个盘符,而群集共享卷呢?它会自动映射到"c:\ClusterStorage\Volume1\"下,如果还有多块磁盘,那么这个volume1的数字会增加。
这种做法有什么好处呢?因为我们的盘符可能有很多个,在每一个群集上,挂载的磁盘的盘符不一定是我们预期的那个,但是如果采用"c:\ClusterStorage\Volume1\"这种形式,则必然是唯一的,因为不管怎么说,我们的磁盘都会有一个C盘。
集群共享卷不是一个新技术,但是这种做法,让我们对集群下的存储的管理更加简单,也更直接。
我们有多张网卡,但是很明显,实时迁移的时候必然不希望流量从业务端口流出,这样会极大的占用我们宝贵的带宽。事实上,对于实时迁移,一般我们会保留一个单独的网卡为其使用。在这里,我们可以调整,哪些网卡不参与群集流量。比如管理口。
实时迁移从哪个端口走,这是一个很严肃的问题。前后顺序也要有讲究,归根结底就是不能影响线上业务,这不属于技术问题,而是规划问题。
我们搭建一个群集环境是为了什么?当然是为了实时迁移,以及故障转移。当某一台物理机挂掉的时候,虚拟机可以快速的迁移到另外一台运行正常的物理机上。下图是我做的一个很正常的实时迁移,耗时11秒,期间ping只丢了一个包。
(下一章我们将介绍如何使用VMM快速创建HyperV群集,以及创建高可用的虚拟机)