RHCS+nginx实现高可用负载均衡及fence机制的添加

一、RHCS简介

RHCS即 RedHat Cluster Suite,中文意思即红帽集群套件。是一套综合的软件组件,可以通过在部署时采用不同的配置,以满足你的对高可用性,负载均衡,可扩展性,文件共享和节约成本的需要。
它提供有如下两种不同类型的集群:
1、高可用性:应用/服务故障切换-通过创建n个节点的服务器集群来实现关键应用和服务的故障切换
2、负载均衡:IP 负载均衡-对一群服务器上收到的 IP 网络请求进行负载均衡
什么是高可用集群:
高可用集群(High Availability Cluster,简称HA Cluster),是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软 件、硬件、人为造成的故障对业务的影响降低到最小程度。
2.主机:

RHCS的一个很重要概念:Failover Domain故障转移域,更准确地说应该是服务故障转移域(一个服务包括多个资源如VIP FileSystem…)key当i定义一个节点故障后,此节点上的资源能够转移的目标节点,进而限制了资源转移的范围.
FENCE 设备是RHCS集群中必不可少的一个组成部分,通过FENCE设备可以避免因出现不可预知的情况而造成的“脑裂”现象,FENCE设备的出现, 就是为了解决类似这些问题,Fence设备主要就是通过服务器或存储本身的硬件管理接口,或者外部电源管理设备,来对服务器或存储直接发出硬件管理指令, 将服务器重启或关机,或者与网络断开连接。

FENCE的工作原理:
当 意外原因导致主机异常或者宕机时,备机会首先调用FENCE设备,然后通过FENCE设备将异常主机重启或者从网络隔离,当FENCE操作成功执行后, 返回信息给备机,备机在接到FENCE成功的信息后,开始接管主机的服务和资源。这样通过FENCE设备,将异常节点占据的资源进行了释放,保证了资源和 服务始终运行在一个节点上。

二.实验环境

物理主机:172.25.254.68 用作fence

server2 : 172.25.254.2 作主节点,为了提供Cong配置用户界下载ricci,luci

Server5: 172.25.254.4 下载ricci,作副节点

 

配置yum源:

此操作在server2和server5上均做

vim /etc/yum.repos.d/rhel-source.repo

RHCS+nginx实现高可用负载均衡及fence机制的添加

server2:

scp -r /usr/local/nginx/ [email protected]:/usr/local/

yum install -y ricci luci

RHCS+nginx实现高可用负载均衡及fence机制的添加

passwd ricci

RHCS+nginx实现高可用负载均衡及fence机制的添加

chkconfig ricci on

/etc/init.d/ricci start

/etc/init.d/luci start

chkconfig luci on

RHCS+nginx实现高可用负载均衡及fence机制的添加

Server5:

cd /usr/local/

useradd -M -d /usr/local/nginx/ -u 800 nginx

RHCS+nginx实现高可用负载均衡及fence机制的添加

vim /etc/security/limits.conf

nginx            -       nofile          65535 

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

yum install -y ricci

RHCS+nginx实现高可用负载均衡及fence机制的添加

passwd ricci

chkconfig ricci on

/etc/init.d/ricci start

RHCS+nginx实现高可用负载均衡及fence机制的添加

1.创建集群:

使用 luci 创建集群包括命名集群、在集群中添加集群节点、为每个节点输入 ricci 密码并提交创建集群请
求。如果节点信息和密码正确,则 Conga 会自动在集群节点中安装软件(如果当前没有安装适当的软件
包)并启动集群。按如下步骤创建集群:

真机浏览器:

https://server2:8084

RHCS+nginx实现高可用负载均衡及fence机制的添加

使用server2的root密码登陆

RHCS+nginx实现高可用负载均衡及fence机制的添加

点击Create创建集群,Add添加已经创建好的集群,集群名称不要用数字,不超过15个字符,其中的密码是ricci用户的密码

RHCS+nginx实现高可用负载均衡及fence机制的添加

创建成功:

RHCS+nginx实现高可用负载均衡及fence机制的添加

clustat   //查看集群状态信息

RHCS+nginx实现高可用负载均衡及fence机制的添加

2.配 置 Fence 设 备

配置 fence 设备包括为集群创建、更新和删除 fence 设备。您可在集群中为节点配置 fencing 前必须在集群
中配置 fence 设备。
创建 fence 设备包括选择 fence 设备类型以及为那个 fence 设备输入参数(例如:name、IP address、
login 和 password)。更新 fence 设备包括选择现有 fence 设备并为那个 fence 设备更改参数。删除 fence
设备包括选择现有 fence 设备并删除它。

systemctl start fence_virtd    //启动服务

名字任意,fence设备类型

RHCS+nginx实现高可用负载均衡及fence机制的添加

cat /etc/cluster/cluster.conf

RHCS+nginx实现高可用负载均衡及fence机制的添加

 

真机:

 yum install -y fence-virtd-libvirt fence-virtd-multicast fence-virtd fence-virtd-serial

fence-virtd-multicast-0.3.2-2.el7.x86_64 (实现广播同系机制)
fence-virtd-libvirt-0.3.2-2.el7.x86_64 (将libvirt变为fence)
fence-virtd-0.3.2-2.el7.x86_64 (模拟fence)

 systemctl enable fence_virtd   //设置开机自启

mkdir  /etc/cluster/

cd /etc/cluster/

dd if=/dev/random of=fence_xvm.key bs=128 count=1

RHCS+nginx实现高可用负载均衡及fence机制的添加

 scp fence_xvm.key server2:/etc/cluster/

scp fence_xvm.key server5:/etc/cluster/

fence_virtd -c  //编写新的fence 信息

Module search path [/usr/lib64/fence-virt]: /usr/lib64/fence-virt

Listener module [multicast]: multicast

Multicast IP Address [225.0.0.12]: 225.0.0.12

Using ipv4 as family.

Multicast IP Port [1229]: 1229

Interface [virbr0]: br0  #虚拟机使用的桥接

Key File [/etc/cluster/fence_xvm.key]: /etc/cluster/fence_xvm.key

Backend module [libvirt]: libvirt

Replace /etc/fence_virt.conf with the above [y/N]? y

cat /etc/fence_virt.conf

RHCS+nginx实现高可用负载均衡及fence机制的添加

systemctl restart fence_virtd
systemctl status fence_virtd

RHCS+nginx实现高可用负载均衡及fence机制的添加

点击Add Fence Method

RHCS+nginx实现高可用负载均衡及fence机制的添加

 

RHCS+nginx实现高可用负载均衡及fence机制的添加

点击Add Fence Instance

RHCS+nginx实现高可用负载均衡及fence机制的添加

添加server2的UUID

RHCS+nginx实现高可用负载均衡及fence机制的添加

RHCS+nginx实现高可用负载均衡及fence机制的添加

如下图配置:

RHCS+nginx实现高可用负载均衡及fence机制的添加

server5同样的配置:

RHCS+nginx实现高可用负载均衡及fence机制的添加

cat /etc/cluster/cluster.conf

RHCS+nginx实现高可用负载均衡及fence机制的添加

 

 

高可用(HA)的实现:

1. 进入luci的集群,点击Faliover Domains,点击Add,输入Name,例如webfile,选中Prioritized、Restricted(只在指定节点跑)、No Failback(资源故障回切),选中下方的server2和server5的Member并输入优先级,这里server2输入1,server5输 入10,就是以server2为主节点,数字越小优先级越高;

RHCS+nginx实现高可用负载均衡及fence机制的添加


添加共享服务:
VIP:ip保证和其他不重复,默认10秒钟检测ip是否坏的
Montor Link 监控链接

RHCS+nginx实现高可用负载均衡及fence机制的添加

http脚本

RHCS+nginx实现高可用负载均衡及fence机制的添加

server2和server5安装httpd

yum install httpd -y

RHCS+nginx实现高可用负载均衡及fence机制的添加

 

RHCS+nginx实现高可用负载均衡及fence机制的添加

RHCS+nginx实现高可用负载均衡及fence机制的添加

测试:

RHCS+nginx实现高可用负载均衡及fence机制的添加

RHCS+nginx实现高可用负载均衡及fence机制的添加