RHCS+Nginx及Fence机制实现高可用集群
RHCS(Red Hat Cluster Suite,红帽集群套件)是Red Hat公司开发整合的一套综合集群软件组件,提供了集群系统中三种集群构架,分别是高可用性集群、负载均衡集群、存储集群,可以通过在部署时采用不同的配置,以满足你的对高可用性、负载均衡、可扩展性、文件共享和节约成本的需要。
server1 172.25.7.1(配置Nginx、ricci和luci)
server2 172.25.7.2(Apache)
server3
172.25.7.3(Apache)
server4
172.25.7.4(配置Nginx、ricci)
Server1和server4配置高可用yum源(不予演示)
编辑nginx配置文件实现负载均衡
编写一个nginx启动脚本,放在/etc/init.d/中:
在server4进行同样的配置,不再予以演示
Server1:安装ricci luci 并设置密码
并设置开机自启动
Server4:安装ricci并设置密码
在浏览器访问https://172.25.7.1:8084
首次访问 luci
时,网页浏览器会根据显示的自我签名 SSL 证书( luci 服务器的证书)给出具体提示。确认一个或者多个对话框后,网页显示器会显示 luci
登录页面。
如果创建失败在server1和server4中执行 >
/etc/cluster/cluster.conf清除掉,在执行网页设置步骤即可
用root用户进行登陆:
创建集群:
创建后:
Failover Domains故障转移域设置:
server1的优先权高于server4,数字越小优先级越高
Resource设置:
Service Group设置:
查询集群状态
在client中加入解析
负载均衡可以实现
实现高可用,当server1的nginx关闭,nginx转移至server4
但是当你执行echo c>/proc/sysrq-trigger时,模拟内核崩溃,发现server1并没有接管,下面就是强大的fence讲解
集群中每个节点之间互相发送探测包进行判断节点的存活性。一般会有专门的线路进行探测,这条线路称为“心跳线”。假设server1的心跳线出问题,则server4会认为server1出问题,雅思成绩查询然后就会把资源调度在server4或者上运行,但server1会认为自己没问题不让其他节点抢占资源,此时就出现了脑裂(split
brain)。
此时如果在整个环境里有一种设备直接把server1断电,则可以避免脑裂的发生,这种设备叫做fence
安装软件包:
生成key文件
把key文件分发给两个节点
fence设置:
重启服务
Fence Devices设置:
把Fence Method 加入节点
查看server1的UUID
在servre4中进行同样的设置,不再予以演示
测试:此时nginx在server4上运行,模拟内核崩溃
之后server4断电重启,server1接管nginx服务