FENCE工具的原理及作用
FENCE设备是RHCS集群中必不可少的一个组成部分,通过FENCE设备可以避免因出现不可预知的情况而造成的“脑裂”现象
FENCE设备的出现,就是为了解决类似这些问题,Fence设备主要就是通过服务器或存储本身的硬件管理接口或者外部电源管理设备,来对服务器或存储直接发出硬件管理指令,将服务器重启或关机,或者与网络断开连接
(脑裂:vm1突然夯住了,不响应了,但是没有关,集群检测到就把vip这些资源迁移到vm2,重新挂载存储,但是vm1也挂载在存储上,过一会反映过来后,两个节点同时写入就会脑裂)
FENCE的工作原理是:
当意外原因导致主机异常或者宕机时,备机会首先调用FENCE设备,然后通过FENCE设备将异常主机重启或者从网络隔离,当FENCE操作成功执行后,返回信息给备机,备机在接到FENCE成功的信息后,开始接管主机的服务和资源。这样通过FENCE设备,将异常节点占据的资源进行了释放,保证了资源和服务始终运行在一个节点上。
RHCS的FENCE设备可以分为两种:内部FENCE和外部FENCE,常用的内部FENCE有IBMRSAII卡,HP的iLO卡,还有IPMI的设备等,外部fence设备有UPS、SANSWITCH、NETWORKSWITCH等
实验环境:
实验中的是外部fence
fence : 172.25.4.250(宿主机)
管理server1,server2
server1:172.25.4.1
server2:172.25.4.2
当有一方内核崩溃,或者出现问题,宿主机就会给他们断电,让他们重启
信息是集群传递的
server1,server2开启pacemaker集群服务
[root@server1 ~]# systemctl start pcsd
[root@server1 ~]# systemctl enable pcsd
Created symlink from /etc/systemd/system/multi-user.target.wants/pcsd.service to /usr/lib/systemd/system/pcsd.service.
[root@server2 ~]# systemctl start pcsd
[root@server2 ~]# systemctl enable pcsd
Created symlink from /etc/systemd/system/multi-user.target.wants/pcsd.service to /usr/lib/systemd/system/pcsd.service.
[root@server1 ~]# pcs cluster start --all
server1: Starting Cluster (corosync)...
server2: Starting Cluster (corosync)...
server1: Starting Cluster (pacemaker)...
server2: Starting Cluster (pacemaker)...
foundation4,server1,server2安装fence
foundation4提供fence这个服务,控管服务器(server1,server2)
虚拟机安装是为了连接真机,需要有一个端口
[root@foundation4 ~]# yum install -y fence-virtd fence-virtd-libvirt fence-virtd-multicast
# fence-virtd-libvirt 可以连接后端的libvirt
# fence-virtd-multicast 以多播的方式通信
[root@server1 ~]# yum install -y fence-virt.x86_64
[root@server2 ~]# yum install -y fence-virt.x86_64
[root@server1 ~]# pcs stonith list
fence_virt - Fence agent for virtual machines
fence_xvm - Fence agent f