RHCS套件搭建与配置
RHCS(RedHat Cluster Suite)提供了多种集群配置和管理工具,常用的有基于GUI的system-config-cluster,conga等,也提供了基于命令行的管理工具.system-config-cluster是一个用于创建集群和配置集群节点的图形化管理工具,它由集群节点配置和集群管理两个部分组成,分别用于创建集群节点配置文件和维护节点运行状态.一般用在RHCS早期的版本中.conga是一种新的基于网络的集群配置工具,与system-config-cluster不同的是,conga是通过web方式来配置和管理集群节点的.conga有两部分组成,分别是luci和ricci,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
4. 用firefox访问https://server3.example.com:8084
进入网页编辑,用server3的root用户登录
5. 创建集群节点
这里的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
此时,两节点主机将会被重启
创建集群完成后,会自动在两节点上生成文件/etc/cluster/cluster.conf
在server1或server2上用clustat命令查看集群状态,在哪个主机上查看,就在哪个主机上显示online,local
二 为节点添加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
以上设置除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
设定完成后如下图所示:
回到每一个节点进行设置,如下图:
点击Add Fence Method
点击Add Fence instance
Domain处填写虚拟机的名字或虚拟机的uuid
虚拟机的uuid
建议填写虚拟机的uuid,两个结点做如上相同的设定
4.查看文件内容的改变
可以发现两个节点的内容是一样的
#查看节点状态,两个节点状态也是一样的
5.两台节点fence机制设定完成,可以用实验来检测是否正常工作
#fence_node server1.example.com #用命令切点节点node1
server1节点被换掉,此时查看server1主机应该进入重启状态,证明fence机制正常工作,server2节点热接管。当server1重启后,会自动加入节结点中,此时server2作为主节点,server1作为备用节点。
三 设置故障切换域
添加资源
(该ip不能为其他主机所用)
添加成功之后
添加服务组
刚刚添加了apache服务,所以要在每个节点上安装apache
#yum install -y httpd
为了区别两台内容可以重新编辑一下默认访问主页
#cd /var/www/html
#echo `hostname` > index.html
现在可以在web页面上访问http://172.25.28.100
刚刚添加的ip服务是一个浮动ip,优先级高的先接管服务,当把server1上的http关掉时,优先级低的立马接管
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
#/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
# iscsiadm -m node -l 激活设备
#fdisk -l
在其中一个节点上给此设备做分区和格式化(做本地文件系统ext4),会自动同步到另一节点
#fdisk -cu /dev/sdb
#partprobe
#cat /proc/partitions
#pvcreate /dev/sdb1
#vgcreate clustervg /dev/sdb1
#lvcreate -L 2G -n data1 clustervg
注意:做物理卷时两个节点必须同步
#mkfs.ext4 /dev/clustervg/data1
手动挂载检测
(3)在web界面上添加存储设备资源和资源组
在添加之前停掉apache服务组 #clusvcadm -d apache
再去资源组添加此资源
(4)启动服务
#clusvcadm -e apache
#clustat 查看服务是否启动成功
可以看到服务正在server1上运行
用df查看是否自动挂载成功
共享设备自动挂载到/var/www/html
2.设备的分区和格式化(网络文件系统gfs2)
clusvcadm -d apache 先停掉服务组
删掉服务组里(services groups)的文件系统(filesystem)资源,再到资源里删除存储设备资源。
(1)格式化为gfs2的格式 -t跟集群的名字:后是标签
(2)两节点主机都进行挂载
(3)在web管理上面添加
(4)开启服务组
#clusvcadm -e apache
此时哪个节点工作,哪个节点挂载
注意:两种存储方式
本地文件系统不同步
网络式文件系统同步(同步的意思是两个节点同时挂载时可同时写入,不需卸载另一节点)