linux企业实战 --RHCS之Fence

1.Fence设备的原理(报头)

server1为主master, server2为备backup
当 server1因为网络原因卡住而并非断电时, server2会对 server1进行抢夺,此时会对两台服务器造成巨大消耗。因此,当 server2抢夺 server1的资源时将 server1断电。此时 server1再次上线时就只能做为备backup设备,两者可以相互断电。

在真实主机上,fence连接的是空气闸刀,使设备断电

2.实验环境(配置Fence)

步骤一:真机安装fence

[root@foundation42 ~]# yum install fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64 -y

[root@foundation42 ~]# fence_virtd -c

[root@foundation42 ~]# cat /etc/fence_virt.conf

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
步骤二:创建/etc/cluster目录,制作key

[root@foundation42 etc]# cd /etc/cluster/#切换到集群目录中

利用文件/etc/fence_virt.conf生成key,发送给服务器

[root@foundation42 etc]# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1   #生成key
[root@foundation42 etc]# scp fence_xvm.key [email protected]:/etc/cluster/
[root@foundation42 etc]# scp fence_xvm.key [email protected]:/etc/cluster/  #发送给集群节点

由于fence服务时真机提供给服务器的,因此需要开启fence服务
[root@foundation42 etc]# systemctl start fence_virtd.service #开启fence服务
[root@foundation42 etc]# systemctl status fence_virtd.service #查看fence状态

在这里插入图片描述
步骤三:检查server1和server2上是否有fence的文件

[root@server1 cluster]# ls
cluster.conf  cman-notify.d  fence_xvm.key

[root@server2 cluster]# ls
cluster.conf  cman-notify.d  fence_xvm.key

在这里插入图片描述在这里插入图片描述
步骤四:通过网页配置fence

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述server1同server2

步骤五:真机上重启 fence设备

[root@foundation42 etc]# systemctl restart 
查看fence是否添加成功

步骤六:查看主配置文件,发现配置成功

[root@server1 cluster]# cat cluster.conf 

[root@server2 cluster]# cat cluster.conf 

在这里插入图片描述在这里插入图片描述
测试1

server1去报头server2,server2重新启动,说明fence配置成功

[root@server1 cluster]# fence_node server2

在这里插入图片描述在这里插入图片描述测试2

server2去报头server1,server1重新启动,说明fence配置成功

[root@server2 cluster]# fence_node server1

在这里插入图片描述在这里插入图片描述

3.在Fence上添加服务

  1. 步骤一:添加失败回迁的优先级

在这里插入图片描述

  • Prioritized 对服务故障转移到的节点进行排序
  • Restricted 服务只能在指定的节点运行
  • No Failback 不回切,当服务再次可用时,不要将其发送回优先级为开始的节点
    有两台服务器,所有的配置都相同,当1挂掉,2接管服务以后,等1再次回到线上时,不希望r、2再次回切,没必要造成资源浪费。这种情况下会使用不回切
  • 优先级越小,数字越高
  • 优先级会决定服务会在哪个服务器上运行
    在这里插入图片描述在这里插入图片描述
  1. 添加资源

步骤一:下载apache
让server1与server2组成的集群拥有的服务为apache,且apache服务中应该含有vip、httpd

[root@server1 ~]# yum install httpd -y 	# 在套件中下载httpd服务
[root@server1 ~]# cd /var/www/html/
[root@server1 html]# ls
[root@server1 html]# vim index.html
[root@server1 html]# cat index.html
server1

[root@server2 ~] yum install httpd -y 	# 在套件中下载httpd服务
[root@server2 ~]# cd /var/www/html/
[root@server2 html]# vim index.html
[root@server2 html]# cat index.html 
server2

在这里插入图片描述
在这里插入图片描述
步骤二:网页添加IP
在这里插入图片描述
步骤三:添加脚本
启动服务时,是根据脚本启动的
在这里插入图片描述

  1. 添加服务组

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

测试1
在这里插入图片描述在这里插入图片描述

clustat

显示运行在server1上,因为server1的优先级高

/etc/init.d/httpd status #查看服务状态

在这里插入图片描述
在这里插入图片描述

测试2

[root@server1 ~]# echo c >/proc/sysrq-trigger # 如果将number1的内核写崩
[root@server2 ~]# clustat

server2 在休眠时间后自动启动,server1 重启。

在这里插入图片描述在这里插入图片描述
将服务交给集群后,就不能手动启动服务,会干扰集群工作。从真实主机访问,结果不会受到影响
在这里插入图片描述在这里插入图片描述在这里插入图片描述

server1重新上线后,服务依旧是server2提供

当关闭掉server2的网络后,服务由server1接管,server2重启

发布了136 篇原创文章 · 获赞 1 · 访问量 1646

猜你喜欢

转载自blog.csdn.net/qq_45652989/article/details/104463311