以下所有操作都是在Red-hat 6.5上
实验环境:
server1和server4作为集群的节点,server1也为集群控制节点。
共享存储模块:server2
1.红帽集群套件介绍
RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合,它将集群系统中三大集群架构融合一体,可以给web应用、数据库应用等提供安全、稳定的运行环境。是由红帽公司自主研发,并且开源的套件,特别适用新手进行集群的部署的练习。
2.集群的配置
在部署集群时,应该注意准备的几个部分:
2.1 yum源的的配置
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.50.250/rhel6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[HighAvailability] ##高可用集群软件包
name=HighAvailability
baseurl=http://172.25.50.250/rhel6.5/HighAvailability
gpgcheck=0
[LoadBalancer] ##负载均衡需要的软件包
name=LoadBalancer
baseurl=http://172.25.50.250/rhel6.5/LoadBalancer
gpgcheck=0
[ResilientStorage] ##存储恢复所需要的软件包
name=ResilientStorage
baseurl=http://172.25.50.250/rhel6.5/ResilientStorage
[ScalableFileSystem] ##大规模文件所需要的软件包
name=ScalableFileSystem
baseurl=http://172.25.50.250/rhel6.5/ScalableFileSystem
gpgcheck=0
2.2时间同步(为了实行集群节点的心跳一致)
server1和server4执行同样的操作
yum install -y ricci 下载集群套件
passwd ricci 集群套件的使用必须要有一个密码
/etc/init.d/ricci start 开启ricci服务即可
chkconfig ricci on #设置开机自启动
luci只在server1上安装。
通常是服务器架或者托管 luci 的数据中心的一台计算机中,但集群计算机也可托管 luci, 这里为了实验操作不繁琐我们就将luci放在集群计算机中
yum install -y luci 下载图形管理器(监视器)
/etc/init.d/luci start 开启监视服务
chkconfig luci on 设置luci开机自启动(注意:如果不设置开机自启动,在网页配置时重启后端时服务就会起不来)
打开浏览器访问 https://172.25.50.1:8084(然后进行网页设置)
添加两个集群节点设备,这里的密码是ricci的密码,勾选添加完毕后自动重启
在等待创建节点,这里会一直转,需要观察命令行,如果重启后,等你确认登陆后会创建成功
创建成功
3.fence系统
我们把集群创建好后,却无法测试一下集群是否生效,现在装上这个电源管理fence,真实情况下这是一个硬件,来让服务器直接断电的,这时候大家会问了为什么要给服务器直接断电,这样不会丢失数据吗?现在设想一个情况,有三台服务器,两台是结点,一台是存储服务器如nfs或者scsi,结点1是正常向外提供服务的机器,但是结点1突然挂掉了,高可用集群就会将服务迁移到结点2,而且存储也接到了结点2,为了防止结点1继续向存储服务器上写数据,我们就要让他断电,因为直接断电,服务器不会执行sync,也就是将内存上的数据写到磁盘上,这样就保护了存储服务器的硬盘。
在物理机上配置fence。
装fence需要的三个插件:
yum install -y fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64
fence_virtd -c
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Module search path [/usr/lib64/fence-virt] --可用模块
Listener module [multicast] --监听的模块
Multicast IP Address [225.0.0.12] --
Multicast IP Port [1229] --ip端口
Interface [virbr0]: br0 --网络类型
Key File [/etc/cluster/fence_xvm.key]: --key文件的生成目录
Backend module [libvirt]: --选择libvirt模块
Replace /etc/fence_virt.conf with the above [y/N]? y
安装完组件在物理机并且初始化后的操作:
mkdir /etc/cluster 建立之后生成key文件所在的目录
dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1使用本机存在的取随机数的命令生成相应的key
systemctl restart fence_virtd.service 重启服务
scp fence_xvm.key [email protected]:/etc/cluster/ 将生成的key发给两个节点
scp fence_xvm.key [email protected]:/etc/cluster/ 将生成的key发给两个节点
测试:
执行: fence_node server4 #在server1上执行
结果:fence server4 success #说明配置成功
dd命令是创建钥匙
绑定fence,使用server1和server4的uuid
配置成功!
4.在集群上部署ip,http
4.1首先定义名字,接下来的三个选项分别是按照结点优先级去进行服务,只在选定结点内切换服务,当从一个结点切换到另一个结点的时候不再自动切换回原先的结点。最下面是选择我们要添加的结点。
4.2添加资源
添加ip资源
添加nginx资源,我们选择用脚本的方式配置nginx
4.3整合服务组
开启集群,服务先在server1上运行。
先在server1上运行,如果server1挂掉,vip将漂移到server4上从而显示server4上的信息。
END