RHCS套件搭建与配置

   RHCS(RedHat Cluster Suite)提供了多种集群配置和管理工具,常用的有基于GUIsystem-config-cluster,conga,也提供了基于命令行的管理工具.system-config-cluster是一个用于创建集群和配置集群节点的图形化管理工具,它由集群节点配置和集群管理两个部分组成,分别用于创建集群节点配置文件和维护节点运行状态.一般用在RHCS早期的版本中.conga是一种新的基于网络的集群配置工具,system-config-cluster不同的是,conga是通过web方式来配置和管理集群节点的.conga有两部分组成,分别是luciricci,luci安装在一独立的计算机上(即服务器),用于配置和管理集群,ricci安装在每个集群节点上,luci通过ricci和集群中的每个节点进行通信.

注意:

(1) 红帽高可用性附加组件最多支持的集群节点数为16

(2) 使用luci配置GUI

(3) 该组件不支持在集群节点上使用NetworkManager.如果已安装NetworkManager,应该删除该程序

(4) 集群中的节点使用多播地址彼此沟通.因此必须将红帽高可用附加组件中的每个网络切换以及关联的联网设备配置为启用多播地址并支持IGMP(互联网管理协议)

HA的搭建

实验环境:Linux Redhat Rhel6.5  

          Selinux and iptables disabled

三台虚拟主机:

172.25.28.1   server1.example.com(节点1)

172.25.28.2   server2.example.com(节点2)

172.25.28.3   server3.example.com(服务器)

物理机:

172.25.254.28(用于配置fence

1. 在三台主机上做以下操作:

域名解析:#vim /etc/hosts

          172.25.28.1   server1.example.com

          172.25.28.2   server2.example.com

          172.25.28.3   server3.example.com

关闭selinux:  #vim /etc/sysconfig/selinux

             SELINUX=disabled

关闭火墙:#/etc/init.d/iptables stop

          #chkconfig iptables off

配置yum源:vim /etc/yum.repos.d/rhel-source.repo

[source]

name=Red Hat

baseurl=http://172.25.28.250/lmf6

gpgcheck=0

[HighAvailability]

name=Red Hat

baseurl=http://172.25.28.250/lmf6/HighAvailability

gpgcheck=0

[LoadBalancer]

name=Red Hat

baseurl=http://172.25.28.250/lmf6/LoadBalancer

gpgcheck=0

[ResilientStorage]

name=Red Hat

baseurl=http://172.25.28.250/lmf6/ResilientStorage

gpgcheck=0

[ScalableFileSystem]

name=Red Hat

baseurl=http://172.25.28.250/lmf6/ScalableFileSystem

gpgcheck=0

2. 在两台节点主机上分别安装ricci

   #yum install ricci -y

   启动ricc,并设置ricci开机自启

   /#etc/init.d/ricci start

   #chkconfig ricci on

   为用户ricci设置密码

   #echo westos | passwd --stdin ricci

3. 在服务器上安装luci

   #yum install luci -y

   启动luci

   #/etc/init.d/luci start

 wKioL1gNzZrhvz9HAABZHTHN4sc366.png


4. firefox访问https://server3.example.com:8084

   进入网页编辑,用server3root用户登录

wKiom1gNzemjk6DYAAAayZt54TU057.png

 

5. 创建集群节点

wKioL1gNzgnQuEMbAAAutmPtcR4685.png

wKiom1gNzgnjoTECAABzUNXbycc460.png

这里的passwd用的是ricci的密码,两个节点使用相同的密码

 自动下载安装包:cman-3.0.12.1-59.el6.x86_64

                 rgmanager-3.0.12.1-19.el6.x86_64

                 lvm2-cluster-2.02.100-8.el6.x86_64

                 Gfs2-utils-3.0.12.1-59.el6.x86_64

 

wKioL1gNzlKBUnvMAABSfapb92Y892.png

此时,两节点主机将会被重启

wKiom1gNzsuwCxliAABqyQQHaZA446.png

 

创建集群完成后,会自动在两节点上生成文件/etc/cluster/cluster.conf

 wKioL1gNzzPCDuuhAACiJF6u2o8415.png

 

server1server2上用clustat命令查看集群状态,在哪个主机上查看,就在哪个主机上显示online,local

 wKioL1gNz1WAD8WzAABlLyJJ7WY894.png 

  为节点添加fence机制

用物理机172.25.28.250来做隔离设备

1.生成密钥文件

  建立/etc/cluster目录

  #cd /etc/cluster

  #dd if=/dev/urandom of=fence_xvm.key bs=128 count=1

2.设置隔离设备

  #yum install -y fence-virtd.x86_64   fence-virtd-libvirt.x86_64

   fence-virtd-multicast.x86_64 fence-virtd-serial.x86_64  

  #fence_virtd -c

  

wKiom1gNz-yi39rSAADkHl9amE0704.png

wKioL1gNz-zRjFlRAACDk_tz9Ik420.png

wKiom1gNz-zDRxzVAADipXT9HMg051.png

wKioL1gNz-zQPbNiAACT3QIWxag031.png


以上设置除interface处填写物理机与虚拟机通信接口br0,其它选项均可用回车保持默认

key远程拷贝给两个结点,注意拷贝目录

#scp /etc/cluster/fence_xvm.key 172.25.28.1:/etc/cluster

#scp /etc/cluster/fence_xvm.key 172.25.28.2:/etc/cluster

#systemctl restart fence_virtd 重启服务

3.回到服务器的web网页设定fence如下图:

点击Fence Devices --> Add

wKiom1gN0EuTQPGpAABg9DdNUMA101.png 

设定完成后如下图所示:

wKioL1gN0GvjYWLGAACZa5F09DM449.png

回到每一个节点进行设置,如下图:

点击Add Fence Method

wKioL1gN0KqxMo1HAABF-s3Gb_Q251.png


点击Add Fence instance

wKiom1gN0KqxtL_8AABZac6UrJs348.png

Domain处填写虚拟机的名字或虚拟机的uuid

虚拟机的uuid

wKioL1gN0RrC_tSmAADtQK-jH1k908.png

建议填写虚拟机的uuid,两个结点做如上相同的设定

4.查看文件内容的改变

 

wKioL1gN0WORSYPdAAFZWObzNaY502.png

wKiom1gN0WTA5JgCAAFQxz5t9N8648.png


可以发现两个节点的内容是一样的

 wKioL1gN0WST5M01AABjByn3BrY892.png 

#查看节点状态,两个节点状态也是一样的

5.两台节点fence机制设定完成,可以用实验来检测是否正常工作

#fence_node server1.example.com #用命令切点节点node1

wKiom1gN0WSSI1ehAAAkcXTCPKg326.png

server1节点被换掉,此时查看server1主机应该进入重启状态,证明fence机制正常工作,server2节点热接管。当server1重启后,会自动加入节结点中,此时server2作为主节点,server1作为备用节点。

 

设置故障切换域

wKiom1gN0oGggmSNAAB92wjEktU381.png



 

添加资源

wKioL1gN0kbT47hEAAB3jFbwvOU032.png

(该ip不能为其他主机所用)

 wKiom1gN0kfwSxkcAACWkLeCs1k464.png

添加成功之后

wKiom1gN0wLBqu1nAAA5UjGOQEg360.png


添加服务组

wKioL1gN0wKyySu4AAB0ux232No647.png

wKioL1gN00aj3FdoAAB5V4agqRc877.png

wKiom1gN00aR6U_MAABnk1CfV7Q018.png

 

刚刚添加了apache服务,所以要在每个节点上安装apache

#yum install -y httpd

为了区别两台内容可以重新编辑一下默认访问主页

#cd /var/www/html

#echo `hostname`  > index.html

现在可以在web页面上访问http://172.25.28.100

wKioL1gN08bAygmDAAA4TlH7xcQ553.png



 

刚刚添加的ip服务是一个浮动ip,优先级高的先接管服务,当把server1上的http关掉时,优先级低的立马接管

wKioL1gN08aQQYruAACtbMKLgnQ525.png

 

 wKiom1gN08bhcm7jAAA4afdr_uE269.png

clusvcadm -d apache 关闭该服务组

clusvcadm -e apache 开启该服务组

clusvcadm -r apache -m server2.examle.com 将浮动ip转移到sever2节点上

如果ifconfig eth0 down 是将这个节点上的网中断,它会尝试恢复,如果恢复不了,就会被集群forceoff,然后重启作为替补,如果优先级高的话,那么它就会立即接管集群。

给集群加存储服务

1.ext4文件系统

(1)在集群管理服务器上共享一块硬盘,作为存储

#yum install -y scsi-*

#vim /etc/tgt/targets.conf

wKiom1gN1FzBuwGbAABo16FHEqA245.png 

#/etc/init.d/tgtd start

# tgt-admin -s

 LUN information:

        LUN: 0

            Type: controller

            SCSI ID: IET     00010000

            SCSI SN: beaf10

            Size: 0 MB, Block size: 1

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            Backing store type: null

            Backing store path: None

            Backing store flags:

        LUN: 1

            Type: disk

            SCSI ID: IET     00010001

            SCSI SN: beaf11

            Size: 8590 MB, Block size: 512

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            Backing store type: rdwr

            Backing store path: /dev/vda1

            Backing store flags:

    Account information:

    ACL information:

        172.25.28.1

        172.25.28.2

(2)在节点上要可以发现这个共享的存储设备,两个节点上都执行

#yum install -y iscsi-*

# iscsiadm -m discovery -t st -p 172.25.28.3

wKioL1gN1J_yxV1YAAActS4zjuQ837.png

# iscsiadm -m node -l  激活设备

#fdisk -l

wKiom1gN1J_Bd-MEAAB4FlVIjHE068.png

在其中一个节点上给此设备做分区和格式化(做本地文件系统ext4),会自动同步到另一节点

#fdisk -cu /dev/sdb

wKiom1gN1OLg4euvAAE_Pv88ZxQ536.png

wKioL1gN1OPDUEnmAAD_n2WbWGE030.png

#partprobe

#cat /proc/partitions

 wKioL1gN1OOhjLH9AABTf-M1IFs056.png

#pvcreate /dev/sdb1

#vgcreate clustervg /dev/sdb1

#lvcreate -L 2G -n data1 clustervg

注意:做物理卷时两个节点必须同步

#mkfs.ext4 /dev/clustervg/data1

手动挂载检测

 wKiom1gN1OPwFeN9AADMaDR4nY0211.png

(3)web界面上添加存储设备资源和资源组

在添加之前停掉apache服务组  #clusvcadm -d apache

wKioL1gN1XnQeAnSAACkWrB0f2s840.png 

 

再去资源组添加此资源

 wKiom1gN1XqgVH50AABh2uhJ690007.png

 

(4)启动服务

#clusvcadm -e apache

#clustat  查看服务是否启动成功

wKioL1gN1fHRKD0DAACLD93P21s876.png


 可以看到服务正在server1上运行

df查看是否自动挂载成功

wKiom1gN1fHDlQD7AACEytp3de8416.png

共享设备自动挂载到/var/www/html

 

2.设备的分区和格式化(网络文件系统gfs2

clusvcadm -d apache 先停掉服务组

删掉服务组里(services groups)的文件系统(filesystem)资源,再到资源里删除存储设备资源。

(1)格式化为gfs2的格式 -t跟集群的名字:后是标签

wKioL1gN1nuRJpzaAABbN-JCkiA864.png

wKioL1gN1kehYCfPAACO9_fqBH0692.png

 2)两节点主机都进行挂载

wKiom1gN1r6hW1gkAAD2jUaBaxQ972.png

wKioL1gN1r_zdBVtAAEMgKdP01c994.png

(3)web管理上面添加

 

wKiom1gN1w-haluRAACaqo_fwMY089.png

wKioL1gN1w-hXnB1AABW2-yTTxE130.png

(4)开启服务组

#clusvcadm -e apache

此时哪个节点工作,哪个节点挂载

wKiom1gN1w_SRfwMAACOodK2i2k651.png 

 wKiom1gN1w-TNqyfAAGC93_2SiQ962.png

注意:两种存储方式

      本地文件系统不同步

      网络式文件系统同步(同步的意思是两个节点同时挂载时可同时写入,不需卸载另一节点)