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服务
这里写图片描述

原文地址:https://www.cnblogs.com/zhangyanran/p/9896131.html