沿用练习一,使用集群中的节点创建高可用Apache服务,实现以下目标:
在任意节点将练习一挂载的iSCSI磁盘分区并格式化
为集群添加有效的Fence设备
创建名为prefer_node1的故障转移域
Apache服务优先运行于node1节点
Apache服务提供的VIP地址为192.168.4.100
客户端通过访问VIP地址访问Web页面
沿用练习一的拓扑架构,依次完成如下操作:
部署httpd服务
创建Fence设备
创建故障转移域
创建VIP资源
创建存储资源
创建Apache服务资源
创建服务组
实现此案例需要按照如下步骤进行。
步骤一:准备存储资源,并在所有节点安装httpd软件
1)在任一集群节点将iSCSI磁盘分区并格式化
[root@node1 ~]# parted /dev/sdb mklabel msdos
[root@node1 ~]# parted /dev/sdb mkpart primary 1 1000
[root@node1 ~]# partprobe
[root@node1 ~]# mkfs.ext4 /dev/sdb1
2)安装httpd软件
[root@node1 ~]# yum –y install httpd
[root@node2 ~]# yum –y install httpd
[root@node2 ~]# yum –y install httpd
3)挂载共享存储并生成测试web页面
[root@node1 ~]# mount /dev/sdb1 /var/www/html
[root@node1 ~]# echo “test page for rhcs” > /var/www/html/index.html
步骤二:创建Fence设备
1)安装软件包,生成共享秘钥。
[root@desktop1 ~]# yum -y install \
>fence-virtd fence-virtd-libvirt fence-virtd-multicast
[root@desktop1 ~]# mkdir /etc/cluster
[root@desktop1 ~]# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=4k count=1
[root@desktop1 ~]# chkconfig fence_virtd on
2)拷贝秘钥
[root@desktop1 ~]# for i in {1..3};do scp /etc/cluster/fence_xvm.key \
> 192.168.4.$i:/etc/cluster/; done
3)配置Fence
注意:Interface项填写网络接口,Backend module项填写libvirt。
[root@desktop1 ~]# fence_virtd –c
[root@desktop1 ~]# service fence_virtd start
4)登录luci为集群节点添加Fence
在任一使用浏览器访问https://luci.example.com:8084,配置Fence。首先选择“Fence Devices”菜单后,选择Add添加按钮,效果如图-5所示。
图-5
在弹出的回话框中选择Fence设备的类型为Fence virt(Multicast Mode),并给fence设备设置名称,效果如图-6所示。
图-6
创建完Fence设备后,接下来还需要给每个节点添加该Fence设备,首先在集群中点击“Nodes”菜单,依次选择所有节点,给每个节点添加Fence 设备。如图-7所示,选择node1准备给该节点添加Fence设备。
图-7
在节点列表中选择了某个节点后,通过点击“Add Fence Method”添加Fence设备,效果如图-8所示。
图-8
选择“Add Fence Method”后在弹出的回话框中输入名称,如图-9所示。
图-9
接下来,执行最后的操作,为Fence设备添加实例,选择“Add Fence Instance”,效果如图-10所示。
图-10
在弹出的回话框中,选择之前创建的Fence实例“fence_xvm”,并为每个节点填写对应的虚拟机域名称,注意名称必须与虚拟机名称一致,如图-11所说。
图-11
步骤三:创建高可用Apache服务
1)创建故障转移域
在任一节点使用浏览器访问https://luci.example.com:8084,点击“Failover Domains”菜单,通过下面的Add按钮创建故障转移域,如图-12所示。
图-12
在弹出的回话框中为故障转移域填写名称:prefer_node1,依次勾选“Prioritized”、“Restricted”、“No Failback”,并为每个节点设置优先级,为了确保服务优先运行在node1上,我们将node1的优先级设置为1,如图-13所示。
图-13
2)创建资源(VIP、共享存储、Apache服务)
创建资源,可以通过点击“Resources”菜单,使用“Add”按钮创建,如图-14所示。
图-14
在弹出的回话框中,我们选择IP Address这个资源,并为该资源设置具体的参数,VIP地址为192.168.4.100,效果如图-15所示。
图-15
使用相同的方法,创建共享存储,在资源列表中选择Filesystem,并设置具体的参数将共享iSCSI磁盘挂载到/var/www/html中,为了确保挂载点的唯一性,这里我们使用的是设备的UUID(请各位同学根据自己的实际情况填写具体的值),查看UUID的方法是blkid /dev/sdb1,最终的设置效果如图-16所示。
图-16
最后创建Apache服务资源,在资源列表中选择Apache,设置名称为web_service,如图-17所示。
图-17
3)创建服务组
在任意节点使用浏览器访问https://luci.example.com:8084,点击“Service Groups”菜单,通过下面的Add按钮创建服务组,如图-18所示。
图-18
在弹出的回话框中,输入具体的参数,设置服务名称为web_clu,选择故障域为prefre_node1,恢复策略为Relocate,并通过Add Resource给该服务组添加服务资源,将上一步中创建的3个资源添加到该服务组中,效果如图-19所示。
图-19
步骤四:验证测试
在任意集群节点中,输入clustat查看集群及高可用服务运行状态,如图-20所示。
原文:http://liangzai818.blog.51cto.com/10003446/1757654