RHCS企业实战(fence搭建,高可用配置详解)

1.FENCE工具的原理及作用

FENCE设备是RHCS集群中必不可少的一个组成部分,通过FENCE设备可以避免因出现不可预知的情况而造成的“脑裂”现象
FENCE设备的出现,就是为了解决类似这些问题,Fence设备主要就是通过服务器或存储本身的硬件管理接口
或者外部电源管理设备,来对服务器或存储直接发出硬件管理指令,将服务器重启或关机,或者与网络断开连接

FENCE的工作原理是:当意外原因导致主机异常或者宕机时,备机会首先调用FENCE设备,然后通过FENCE设备将异常主机重启或者从网络隔离,当FENCE操作成功执行后,返回信息给备机,备机在接到FENCE成功的信息后,开始接管主机的服务和资源。这样通过FENCE设备,将异常节点占据的资源进行了释放,保证了资源和服务始终运行在一个节点上。
RHCS的FENCE设备可以分为两种:内部FENCE和外部FENCE,常用的内部FENCE有IBMRSAII卡,HP的iLO卡,还有IPMI的设备等,外部fence设备有UPS、SANSWITCH、NETWORKSWITCH等

2.首先搭建基本环境

下面的实验使用的是rhel6系列(rhel6.5)的虚拟机,因此你需要有对应的镜像和yum源
基本环境搭建说明

(1)使用的操作系统:均是rhel6.5
(2)准备四台主机:
真机:172.25.8.250 作为fence设备,前面暂时不用
虚拟机server1: 172.25.8.1 下载ricci,luci(为了提供Conga配置用户界面),作主节点
虚拟机server2:172.25.8.2 下载ricci,作副节点
虚拟机server3:172.25.8.3 后面作iscci共享存储,暂时不用

开始搭建实验环境:
(1)给虚拟机rhel6.5创建三个快照虚拟机server1,server2,server3并且开启这三个快照
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)登录server1和server2,分别设置ip和主机名
在这里插入图片描述
在这里插入图片描述

3.FENCE搭建过程详解

先搭建RHCS最基本的集群环境,也就是创建集群
为设备配置yum源:
(1)给server1和server2均配置一个高可用的yum源(企业6版本的)
在这里插入图片描述
真机的共享yum源必须是企业6版本的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
server1上的高可用yum源已经配置好
为了方便起见,我们将这份配置文件发送到其他主机上
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装软件
(2)在server1和server2上面安装服务
给server1安装集群管理结点服务ricci,集群图形化管理工具服务luci

server1安装ricci和luci图形管理器,启动服务,设置开机自启
yum install -y ricci luci
/etc/init.d/ricci start
/etc/init.d/luci start
chkconfig ricci on
chkconfig luci on

在这里插入图片描述
从红帽企业版 Linux 6.1 开始,在任意节点中使用 ricci 推广更新的集群配置时要求输入密码
所以在安装完成ricci后需要修改ricci用户的密码,这个是后面节点设置的密码
安装完之后可以看到/etc/passwd文件中自动生成了一个ricci用户

passwd ricci				##为ricci用户用户设置密码

在这里插入图片描述
开启这两个服务
在这里插入图片描述
查看这两个服务使用的端口
在这里插入图片描述
给server2安装集群管理结点服务

server2上安装ricci,启动服务,设置开机自启,修改ricci用户密码
yum install ricci -y
/etc/init.d/ricci start
chkconfig ricci on
passwd ricci

在这里插入图片描述
同理设置密码,开启服务
在这里插入图片描述
在这里插入图片描述

补充:如何查看系统开机自起项
chkconfig --list

(3)在真机浏览器上面进行测试:输入https://172.25.12.1:8084(部署在server1上面)
浏览器访问https://172.25.12.1:8084 出现下面的界面,手动导入证书
点击【Advanced】
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
登录的账号和密码是server1中的系统用户和密码,普通用户需要经过超级用户的审核才能登录,所以一般选用超级用户登录
在这里插入图片描述
创建集群
(4)在图形化管理工具里创建集群
点击集群管理(manage cluster),选择create,创建集群
在这里插入图片描述
设置集群的基本信息,添加节点
在这里插入图片描述
点击create cluster开始创建,可以看到开始创建集群
在这里插入图片描述
创建时两台虚拟机都会重启,如果之前没有设置服务开机启动这个时候就会报错,重启后要在虚拟机中手动打开服务创建的过程才会继续
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建集群完成,节点添加成功
在这里插入图片描述
(5)在server1上面和server2上面查看
在这里插入图片描述
创建完成之后可以服务所在的主机中查看配置文件
在这里插入图片描述
在这里插入图片描述
到此为止,基本的实验环境搭建完毕,接下来说明RHCS的高可用体现在哪里
可以看到ricci运行的端口是11111
注意:删除集群时要先删除节点,节点删除后集群会自动消失

集群中的服务如下
在这里插入图片描述

如何通过fence设备解决集群节点之间争抢资源的现象?

我现在所说的RHCS高可用集群比之前学的lvs调度器性能更好,更全面,有好多好多功能,前端后端均有
在这里我们可以把每个集群节点当作一个调度器,实际上功能不止调度器一个
一般情况下集群节点中有主有备,正常情况下会有一个正常工作(调度器正常),但是当调度器坏了就完蛋了
因此要做到一台调度器坏了,调度器1就去通知调度器2接管它的工作,正常情况下调度器1和调度器2会一直通信
当2收不到1的消息的时候,就说明1坏了,2马上接替1的工作
但是当1和2之间的心跳检测出现问题的时候,也就是有一个卡死了,其实两个都能正常工作,这个时候两个集群都能工作
因此1和2都会去为客户端服务,会去争抢资源,因此需要fence这样一个物理设备抑制争抢资源
当争抢资源的时候,1会去通过fence设备强制重启2(或者2重启1)
两个集群可以互相强制重启,但是实际当中集群也是有主有备的
现在server1是一个集群,server2是一个集群,真机是一个fence设备(保安)
通过fence这个物理设备将集群连接在一起,保证时刻只有一个集群正常工作
一旦出现争抢资源的现象,主的集群就会通过fence强制重启备的集群,从而使主集群正常工作

配置fence设备
(1)在集群1上面:

/etc/init.d/ricci status查看集群节点管理工具
/etc/init.d/luci status查看集群图形化管理工具(开启这个浏览器里面才能管理集群)
(一般情况下这两个服务是分开做的)
clustat查看集群状态
cat /etc/cluster/cluster.conf查看集群的配置文件

在这里插入图片描述
(2)在集群2上面:

/etc/init.d/ricci status查看集群节点的服务是否开启
clustat
cat /etc/cluster/cluster.conf查看集群是否建立

在这里插入图片描述
在这里插入图片描述
浏览器中luci添加分fence设备
(3)在浏览器里面:输入https://172.25.12.1:8084开启集群管理工具,添加fence设备

登录集群管理系统,查看创建的两个集群server1和server2
添加fence设备(fence virt)—>vmfence(名字随便起)
fence只是中间一个通道,server1和server2都是连接在fence这个物理设备上,通过一个集群去拔另外一个集群的电,防止争抢资源
在这里插入图片描述
选择fence的类型,起名字,见名知意及可
选择多播模式,设置fence设备的名字为vmfence
在这里插入图片描述
在这里插入图片描述

fence服务在物理机配置,(在集群之外)
(4)在真机上面搭建fence服务(另外一个单独的物理设备用来做fence)
物理机安装fence软件
这里真机是哪个版本的,就使用哪个版本的yum源来安装fence服务

yum search fence
yum install 三个东西 -y
fence_virtd -c初始化fence设备管理
一直回车,注意网卡是br0(因为两个集群是在虚拟机上面做的,虚拟网卡是通过真实的网卡br0来工作)
mkdir /etc/cluster 在这个目录下生成fence管理的key,然后传给集群
生成fence管理的key:cd /etc/cluster
dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128(密码太小不安全) count=1(只生成一个key)
注意先不要开启fence设备,将key给两个集群各传一个key,保证两个集群得到的key一样,这样fence才能同时管理两个集群
scp /etc/cluster/fence_xvm.key root@172.25.12.1:/etc/cluster
scp /etc/cluster/fence_xvm.key root@172.25.12.2:/etc/cluster

在这里插入图片描述
在这里插入图片描述
初始化,网卡选用br0,其它都直接回车,使用默认的
编辑fence配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在指定目录下面生成fence的key,并且给两个集群各发送过去一个
注意发送key的时候fence不能开启,否则server1和server2接收到的key不一样
创建一个目录/etc/cluster,生成的key将会保存在这个目录中
编辑完之后如果没有生成密钥文件,可以手动生成一个
在这里插入图片描述
将生成的密钥文件发送给节点server1和server2

在这里插入图片描述
(5)在集群1上面查看
cd /etc/cluster
ls查看key文件是否过来
cat cluster.conf可以看到集群的配置文件当中添加了fence
在这里插入图片描述
(6)在集群2上面查看

cd /etc/cluster
cat cluster.conf 可以看到集群的配置文件当中添加了fence

绑定节点
(7)在浏览器里面设置:

给server1和server2集群添加fence,vmfence_1(名字) uuid(server1主机的),vmfence_2(名字) uuid(server2主机的)
因为两个集群的ip可能会一样,有可能会一次关闭两个集群,不安全
应该把每个集群唯一的uuid写在fence设备上面
在真机里面virt-manager把两个uuid查看出来

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在真机里面查看server1虚拟机的uuid
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在真机里面查看server2虚拟机的uuid,并填入
在这里插入图片描述
两个节点都绑定后可以看到fence配置文件的内容如下

(8)查看两个集群节点是否关联在fence设备上,在两个集群节点的集群配置文件里面看
在这里插入图片描述
(9)接下来测试:
先看server1集群节点里面的解析:cat /etc/hosts
再看server2集群节点里面的解析:cat /etc/hosts
物理机打开fence服务
在真机上面:

systemctl status fence_virtd.service查看fence服务是否开启
systemctl start  fence_virtd.servcie开启fence服务
netstat -antlupe | grep   1229(fence服务使用的端口)

server1通过fence干掉server2,可以看到server2断电重启
打开server2集群
在server1上面输入:fence_node server可以看到集群1把集群2强制重启了
在这里插入图片描述
总结:通过fence我们就可以解决争抢资源的问题了,保证客户端有条不紊的访问服务端

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值