RHCS套件实现WEB服务器的高可用性群集
【实验说明】
实验采用RedHat官方自带软件包,所有软件包均来自光盘上。由于本实验是在VMware中实现,所以对系统版本有所要求,本实验采用RedHat5.4版。
实验需要三台主机,其中有两台做WEB服务器使用,第三台做后方存贮使用,为了达到实验效果,存贮主机上新加一块硬盘供实验使用。
实验前端的两台WEB服务器分别node1(222.22.49.10)、node2(222.22.49.20),后方存贮为target(222.22.49.30),群集地址定为222.22.49.100。
【实验内容】
target上配置
新加一块硬盘
# fdisk –l
对新硬盘进行分区
# fdisk /dev/sdb
Command (m for help): n
分区完成之后不用进行格式化
为了实现实时监听,需要对主机名和解析做一些配置
修改主机名
# vim /etc/sysconfig/network
HOSTNAME=target.zzdx.com
修改本地解析文件,可以省去DNS服务器
域名只是在本地监听使用,可以任意写
# vim /etc/hosts
222.22.49.30 target.zzdx.com target
222.22.49.20 node2.zzdx.com node2
222.22.49.10 node1.zzdx.com node1
为了不重启系统就可以实现解析,临时修改主机名
# hostname target.zzdx.com
安装target服务
# yum install scsi-target-utils
启动服务,可以做成开机启动
# service tgtd start
#chkconfig tgtd on
新建一个target,名称要符合iqn格式
iqn格式:iqn.日期.反写的域名.主机名:描述
# tgtadm --lld iscsi --op new --mode target --tid 1 --targetname iqn.2011-11.com.zzdx.target:disk
做成开机启动,追加到开机脚本里
# echo "tgtadm --lld iscsi --op new --mode target --tid 1 --targetname iqn.2011-11.com.zzdx.target:disk" >>/etc/rc.d/rc.local
增加一个新的逻辑控制单元
# tgtadm --lld iscsi --op new --mode=logicalunit --tid=1 --lun=1 --backing-store /dev/sdb1
同样做成开机启动
# echo "tgtadm --lld iscsi --op new --mode=logicalunit --tid=1 --lun=1 --backing-store /dev/sdb1" >>/etc/rc.d/rc.local
规定允许谁访问,并追加到开机脚本内
# tgtadm --lld iscsi --op bind --mode=target --tid=1 --initiator-address=222.22.49.0/24
# echo "tgtadm --lld iscsi --op bind --mode=target --tid=1 --initiator-address=222.22.49.0/24" >>/etc/rc.d/rc.local
安装群集服务luci,可以安装到群集中的任意一个节点上
# yum install luci
执行下面命令,根据提示设定管理员密码
# luci_admin init
完成后会提示重启服务
# service luci restart
#chkconfig luci on
node1上配置
同样,为了实现通信,修改主机名,修改解析文件
# vim /etc/sysconfig/network
HOSTNAME=node1.zzdx.com
# vim /etc/hosts
222.22.49.30 target.zzdx.com target
222.22.49.20 node2.zzdx.com node2
222.22.49.10 node1.zzdx.com node1
# hostname node1.zzdx.com
安装节点所需所有服务,ricci只能安装在前端服务器节点
# yum install ricci iscsi-initiator-utils httpd
为了规范,可以修改一下iscsi名称,也可以不做
# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2011-11.com.zzdx.node1
启动iscsi服务
# service iscsi start
#chkconfig iscsi on
发现target设备
# iscsiadm --mode discovery --type sendtargets --portal 222.22.49.30
登录设备
# iscsiadm --mode node --targetname iqn.2011-11.com.zzdx.target:disk --portal 222.22.49.30 –login
登录完成后,要重新进行分区,同样不进行格式化
此步可以在node2上发现完设备之后再做
两个节点,只在一个上操作即可
# fdisk /dev/sdb
让系统内核重新识别一下
# partprobe /dev/sdb
启动群集服务
# service ricci start
#chkconfig ricci on
新建完成群集之后,发现两个节点设备部一致,可以重启clvmd服务
# service clvmd restart
node2上配置
步骤与node1基本相同
# vim /etc/sysconfig/network
HOSTNAME=node2.zzdx.com
# vim /etc/hosts
222.22.49.30 target.zzdx.com target
222.22.49.20 node2.zzdx.com node2
222.22.49.10 node1.zzdx.com node1
# hostname node2.zzdx.com
# yum install ricci iscsi-initiator-utils httpd
# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2011-11.com.zzdx.node2
# service iscsi start
#chkconfig iscsi on
# iscsiadm --mode discovery --type sendtargets --portal 222.22.49.30
# iscsiadm --mode node --targetname iqn.2011-11.com.zzdx.target:disk --portal 222.22.49.30 –login
# partprobe /dev/sdb
# service ricci start
#chkconfig ricci on
以下步骤在新建完成群集之后操作
同样,在两个节点任意一个上操作即可
此处操作为群集文件系统服务
新建物理卷
# pvcreate /dev/sdb1
新建卷组
# vgcreate vg1 /dev/sdb1
新建逻辑卷
# lvcreate -L 3000M -n lv1 vg1
此服务在设备不一致下重启
# service clvmd restart
对逻辑卷格式化,格式化成群集文件系统gfs
# gfs_mkfs -p lock_dlm -t c1:lv1 -j 3 /dev/vg1/lv1
在群集都完成之后,即可在逻辑卷上新建网页,提供WEB服务
#mkdir /mnt/sdb1
#mount /dev/vg1/lv1 /mnt/sdb1
#cd /mnt/sdb1
#vim index.html
#cd
#umount /mnt/sdb1
群集配置
访问https://222.22.49.30:8084
访问对浏览器也有一定的要求,可以使用Opera,谷歌等非IE内核的浏览器
低版本的火狐也不建议使用
新建群集
新建群集已经完成,下面来配置群集
【实验测试】
【实验后记】
由于是在虚拟机上操作的,虚拟设备毕竟不是真实的设备,测试之时可以手动切换服务运行的节点(如实验测试)。当其中有一个断掉之后,监听不到通信了,群集服务便很有可能起不来了,所以在真实的企业应用中,前端fence设备一般为物理电源交换机,虚拟设备仅供学习之用,请不要较真。