基于Vmware-ESXi5.1实验RHCS虚拟Fence设备(一)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://robinzs.blog.51cto.com/2834668/1248812

 记得上回实验过RHCS6.3在KVM虚拟机下的三节点命令搭建HA,从那时起一直想将虚拟机如何配置fence设备整理出一份文档。先来说说我已经知道的,从上次的实验可以得出结论kvm虚拟环境支持RHCS的fence设备是fence_virtsh。但KVM单机版应用并不广泛,据说RHEV在中国南方地区应用较广,从搭建角度来说要比Vmware的ESXi复杂很多,而且至少需要一台物理主机一台虚拟主机才能实现,所以这次先ESXi为虚拟环境。


现阶段虚拟化的主流与大玩家之一是Vmware的vcenter-server,可惜同样的,物理设备提供不了全套的实验环境,不过单以RHCS的的实验而言,只要能装一台ESXi 也就够了,我的实验版本是5.1。由于RHCS的fence设备类型对不同RHEL版本兼容性不同,而RHEL业内较常用版本是5与6,所以我先从RHEL6.3开始测试,集群服务尽量简单,以测试fence设备为主。环境规划如下:

无论实验的RHEL版本怎么变,上述这个拓扩图是不变的。没办法,为个实验花几千大元买个物理机有些不值,花钱容易挣钱难那!闲话少说,接下为是具体规划内容:

ESXi地址:192.168.0.10

vsphere-client连接界面:

虚拟主机名:s1.example.com s1;s2.example.com s2

虚拟机地址:心跳eth0―192.168.0.1,192.168.0.2;业务eth1―192.168.8.20,192.168.8.21

集群服务:为简单从事,服务就一个VIP―192.168.8.50


第一个测试系统RHEL6.3-64

安装系统就不用说了,是个人就行。

安装完系统后要做一系列的基本设置,这里也不再繁述(具体见上篇博客)。直奔主题HA设置,这次我是用LUCI做的,将做完的结果记录下来。首先添加节点:

添加fence设备:

fence设备类型选择VMware_fence_soap,是RHEL部分系统的ESXi虚拟fence设备。做到这里我查了红帽官网的fence设备对不同RHEL版本的兼容列表

可以看到,对RHEL5版本中5.7和以上版本都支持;6版本支持6.2及以上版本。其实这个兼容列表还有很多内容,包括了所有的fence设备,还有对RHEV的兼容情况都有。地址是:https://access.redhat.com/site/articles/28601

名称随便写,我写的是esxi_fence,这么写明白一些;

IP地址填ESXi平台的IP地址;

用户名与密码填写ESXi的帐号,我直接写的是root用户。


设备添加完成,与节点关联,以s1为例:

节点的fence设备名称是fence_s1

在关联的时候还需要填写portuuid两项,port指对ESXi而言的虚拟机名称,uudi是指虚拟机在ESXi的设备id,这两者在虚拟平台是唯一的。

port好说

两个虚拟机主机分别叫RHEL6.3-1RHEL6.3-2

uuid如何来找,说到这里不得不提一下ESXi的底层是什么,其实就是个Linux,而虚拟机对其而言就是设备,可以通过SSH登陆进去(之前要将ESXi的SSH连接开启)

上图为ESXi5.1的根目录文件,虚拟机设备文件在/vmfs/volumes/datastore1下,我一共创建两个虚拟机,所以有两个目录,目录名也就是虚拟主机名称。以RHEL6.3-1为例,查看该目录下文件:

用vi打开RHEL6.3-1.vmx,找到uuid关键字:

uuid.location = "56 4d 89 20 d6 4f 44 7c-1e 04 19 ad 4b 5a 82 81",这就是它的uuid号。不过直接填上去是不行的,uuid有一定的式。应该填写什么,回到LUCI界面,刚才只不过是扩充部分内容,呵呵

这时打开任意节点的命令行界面,运行命令

fence_vmware_soap -a 192.168.0.10 -z -l root -p robinz712 -o list

这行命令行的效果是列出ESXi平台的所有集群结点的UUID

直接根据对应的虚拟机名称将uuid填写上去即可。

具体fence_vmware_soap设备都有什么参数,附上红帽官方文档的说明

接下来将ssl选中,fence设备与节点就关联完了。


接下来是故障域、资源、服务,不做为重点就简单一代而过了

故障域设置

开始时说过,为简单从事,只有一个服务,就是VIP

好,截图到这里算是设置完了,集群也启动了。

在集群测试之前,先用命令行测试esxi的虚拟fence功能是否正常,以s1节点为

fence_vmware_soap -a 192.168.0.10 -z -l root -p robinz712 -n RHEL6.3-1 -o status

查看虚拟fence设备状态

Status: ON

出现上述结果代表虚拟fence设备能够使用,也可以使用上述命令重启节点,将-o参数改为reboot即可,而且我也做过测试能够成功,这个功能在接着测试集群的时候详加说明。


down心跳网卡测试集群,现在服务在s1节点上,我现在当s1的eth0网卡

ifdown eth0

这时将视角转到ESXi的平台界面的底部,查看操作记录

可以看到ESXi是根据设备uuid号查找设备并进行虚拟fence动作的

再来看看集群状态


这时s1重启完成,而s2也已经接管服务。同样的,down业务网卡迁移服务正常,过程不再繁述。

最后一项测试是两个虚拟主机都关机的情况下,先开启s1节点,到集群服务启动后,会自动远程开启s2节点

上图所示测试成功


到此,ESXi5.1平台下的RHEL6.3版本的集群fence设备测试完成,根据红帽官方的兼容列表6.2版本与5版本的5.7以上系统都可以使用fence_vmware_soap设备,故这几个版本不再做为主要测试对象。下一篇开始实验6.05.6版本fence设备配置。


附上cluster.conf 配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<? xml version = "1.0" ?>
< cluster config_version = "9" name = "esxi_cluster" >
< clusternodes >
< clusternode name = "s1.example.com" nodeid = "1" >
< fence >
< method name = "fence_s1" >
< device name = "esxi_fence" port = "RHEL6.3-1" ssl = "on" uuid = "564d8920-d64f-447c-1e04-19ad4b5a8281" />
</ method >
</ fence >
</ clusternode >
< clusternode name = "s2.example.com" nodeid = "2" >
< fence >
< method name = "fence_s2" >
< device name = "esxi_fence" port = "RHEL6.3-2" ssl = "on" uuid = "564df200-c159-b022-416e-3c9fba63fe9b" />
</ method >
</ fence >
</ clusternode >
</ clusternodes >
< cman expected_votes = "1" two_node = "1" />
< fencedevices >
< fencedevice agent = "fence_vmware_soap" ipaddr = "192.168.0.10" login = "root" name = "esxi_fence" passwd = "robinz712" />
</ fencedevices >
< rm >
< resources >
< ip address = "192.168.8.50" />
</ resources >
< failoverdomains >
< failoverdomain name = "esxi_domain" nofailback = "1" ordered = "1" restricted = "1" >
< failoverdomainnode name = "s1.example.com" priority = "1" />
< failoverdomainnode name = "s2.example.com" priority = "2" />
</ failoverdomain >
</ failoverdomains >
< service domain = "esxi_domain" exclusive = "1" name = "esxi_service" recovery = "relocate" >
< ip ref = "192.168.8.50" />
</ service >
</ rm >
</ cluster >


你可能感兴趣的:(基于Vmware-ESXi5.1实验RHCS虚拟Fence设备(一))