前言: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等

实验准备

1.下面的实验使用的是rhel6系列(rhel6.5)的虚拟机,因此你需要有对应的镜像和yum源
2.准备三台虚拟机,为了区分主机名与IP分别为
server1 172.25.6.1
server2 172.25.6.2
server3 172.25.6.3

以下为FENCE搭建过程详解

一、创建集群

1.为设备配置yum源

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

yum clean all
yum repolist

为了方便起见,我们将这份配置文件发送到其他主机上

scp /etc/yum.repos.d/rhel-source.repo server2:/etc/yum.repos.d/

2.安装软件

(1)server1安装ricci和luci图形管理器,启动服务,设置开机自启

yum install -y ricci luci
/etc/init.d/ricci start
/etc/init.d/luci start
chkconfig ricci on
chkconfig luci on

安装完之后可以看到/etc/passwd文件中自动生成了一个ricci用户

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


(2)server2上安装ricci,启动服务,设置开机自启,修改ricci用户密码

yum install ricci -y
/etc/init.d/ricci start
chkconfig ricci on
passwd ricci

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

chkconfig --list

4.查看服务端口详情

netstat -tnlp

5.浏览器访问https://172.25.6.1:8084 出现下面的界面,手动导入证书

点击【Advanced】

点击【Add】

点击【Confirm…】

6.登录

登录的账号和密码是server1中的系统用户和密码,普通用户需要经过超级用户的审核才能登录,所以一般选用超级用户登录

7.创建集群

(1)点击集群管理(manage cluster),选择create,创建集群

(2)设置集群的基本信息,添加节点

(3)点击create cluster开始创建,可以看到开始创建集群

注意:创建时两台虚拟机都会重启,如果之前没有设置服务开机启动这个时候就会报错,重启后要在虚拟机中手动打开服务创建的过程才会继续

(4)创建集群完成,节点添加成功

8.创建完成之后可以服务所在的主机(server1)中查看配置文件

cat /etc/cluster/cluster.conf

server1和server2分别查看节点状态

server1上:

server2上:

可以看到ricci运行的端口是11111

注意:删除集群时要先删除节点,节点删除后集群会自动消失

集群中的服务如下:

二、配置fence设备

fence服务在物理机配置,(在集群之外)

1.物理机安装fence软件

yum search fence

yum install -y fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64

2.创建一个目录/etc/cluster,生成的key将会保存在这个目录中


3 . 编辑fence配置文件

fence_virtd -c



4.编辑完之后如果没有生成密钥文件,可以手动生成一个

dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1


5.将生成的密钥文件发送给节点server1和server2

scp fence_xvm.key server1:/etc/cluster/
scp fence_xvm.key server2:/etc/cluster/


server1和server2查看

ls /etc/cluster

6.物理机打开fence服务

systemctl start fence_virtd.service

7.浏览器中luci添加分fence设备

(1)点击fence devices,点击add


(2)选择多播模式,设置fence设备的名字为vmfence

8.绑定节点

(1)点击nodes,点击server1

(2)点击add fence method

(3)起名为vmfence-1

(4)点击add fence instance

(5)选择刚刚建立的fence设备,domain后面填server1节点的UUID,UUID可以在虚拟机图形管理器中查看


(6)点击server2,重复上面的步骤


设备绑定成功后如下

(7)两个节点都绑定后可以看到fence配置文件的内容如下

cat /etc/cluster/cluster.conf


netstat可以查看到fence使用的端口

9.测试:

server1通过fence干掉server2,可以看到server2断电重启

fence_node server2

三、高可用服务配置(以httpd为例)

1.设置失败回切(故障转移域)

点击add

命名为webfail,当一个节点出现故障时切换到正常的哪一个上,将server1和server2添加在域中,设置两个节点的优先级,数字越小优先级越高


2.设置回切资源(以httpd的高可用为例)

点击add --> 添加ip address(集群外的VIP)—>设置切换主机的时间5秒—>submit提交


再次点击add–>添加script(因为httpd时脚本启动的)—>添加/etc/init.d/httpd文件


3.设置资源组

点击add设置资源组的名字为apache -->添加资源(上一不中添加的vip)—>添加资源(httpd脚本)

4.server1和server2安装httpd,开启服务,编辑测试页

server1上:

yum install httpd -y
vim /var/www/html/index.html
/etc/init.d/httpd start

server2上:

yum install httpd -y
vim /var/www/html/index.html
/etc/init.d/httpd start

5.刷新页面,显示httpd服务运行在server1上(server1优先级高

(1)在两个节点上分别查看cluster的状态

(2)查看server1和server2的ip,发现VIP在server1上


(3)物理机测试:访问VIP访问到的是server1

6.在web中设置httpd运行现在server2上

(1)查看状态,httpd运行在server2上

(2)查看server2ip,VIP在server2上


(3)物理机测试:访问VIP,访问到的是server2

7.测试高可用

(1)在server2中输入echo c> /proc/sysrq-tigger,破坏server2的内核

(3)查看状态,httpd转移在server1上运行,VIP出现在server1上

(4)物理机访问VIP出现的是server1

(5)如果手动关闭server1的httpd,服务将自动转移到server2上

/etc/init.d/httpd stop



总结:没有手动开启httpd服务时在web集群管理界面,刷新界面只会开启一个节点的httpd,所以当服务落在某一个节点时只能访问到虚拟ip和当前节点,其他节点是访问不到的

运维企业专题(10)RHCS集群工具——FENCE搭建、高可用服务配置详解相关推荐

  1. 企业级负载均衡集群——通过fence设备解决集群节点之间争抢资源的现象(FENCE搭建、高可用服务配置详解)

    1.FENCE工具的原理及作用 FENCE设备是RHCS集群中必不可少的一个组成部分,通过FENCE设备可以避免因出现不可预知的情况而造成的"脑裂"现象 FENCE设备的出现,就是 ...

  2. 两台服务器安装redis集群_Redis Cluster搭建高可用Redis服务器集群

    一.Redis Cluster集群简介 Redis Cluster是Redis官方提供的分布式解决方案,在3.0版本后推出的,有效地解决了Redis分布式的需求,当一个节点挂了可以快速的切换到另一个节 ...

  3. 猿创征文 | Linux运维工程师的10个日常使用工具分享

    猿创征文 | Linux运维工程师的10个日常使用工具分享 一.本次分享工具导航 二.Adminer数据库管理工具 1.Adminer介绍 2.Adminer的特点 3.Adminer的使用 4.Ad ...

  4. 红帽企业集群和存储管理之DRBD+Heartbeat+NFS实现详解

    红帽企业集群和存储管理之 DRBD+Heartbeat+NFS实现详解 案例应用背景 本实验部署DRBD + HEARDBEAT + NFS 环境,建立一个高可用(HA)的文件服务器集群.在方案中,通 ...

  5. Apache shiro集群实现 (六)分布式集群系统下的高可用session解决方案---Session共享

    Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...

  6. 运维企业专题(9)RHCS集群工具介绍

    1.集群: 是指一组相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点都是运行各自服务的独立服务器,这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以 ...

  7. 运维企业专题(4)LVS高可用与负载均衡前篇——先学原理,再学配置

    我保证看完这篇文章,面试时问到相关问题轻轻松松解决,本文末尾会结合全文教你该如何回答面试官的问题 1.什么是LVS? LVS 是 Linux Virtual Server的简写,意即Linux虚拟服务 ...

  8. 运维企业专题——LVS高可用与负载均衡之原理篇

    我保证看完这篇文章,面试时问到相关问题轻轻松松解决,本文末尾会结合全文教你该如何回答面试官的问题 1.什么是LVS? LVS 是 Linux Virtual Server的简写,意即Linux虚拟服务 ...

  9. 运维企业专题(5)LVS高可用与负载均衡中篇——VS/DR模式配置详解

    实验准备 1.下面的实验使用的是rhel6系列(rhel6.5)的虚拟机,因此你需要有对应的镜像和yum源 2.准备三台虚拟机,为了区分主机名与IP分别为 server1 172.25.6.1 ser ...

最新文章

  1. Python如何优化列表接口进行分页
  2. VC菜菜鸟-创建一个即时串口通信程序
  3. python快速编程入门黑马-500G 史上最全的JAVA全套教学视频网盘分享
  4. Java DatagramSocket(UDP)要注意的问题
  5. 垃圾回收器的基本原理是什么?
  6. sklearn模型的训练(上)
  7. 动态代理的简单实例.
  8. 计算机二级vb2003年4月考试题,2003年4月全国计算机等级考试二级vb笔试真题附答案...
  9. python魔术方法abstract_python学习之面向对象高级特性和魔术方法
  10. 经典算法归纳(c语言)
  11. 微软官网win10系统下载地址
  12. PbootCMS插件自动采集伪原创免费插件
  13. 虚拟机服务器开放全部端口,查看虚拟机开放端口号
  14. LeetCode Word Abbreviation
  15. 离散数学学习笔记(一)
  16. Windows安装程序遇到错误:0x80240037
  17. 演练VC中的common一族
  18. 思科设备VLAN配置命令
  19. 需求定律的4个准则——《可以量化的…
  20. Grafana变量介绍

热门文章

  1. R语言ggplot2可视化设置数据点的大小、设置数据点的颜色、设置数据点边缘线条的厚度(point border thickness)实战
  2. 为什么极度随机树比随机森林更随机?这个极度随机的特性有什么好处?在训练阶段、极度随机数比随机森林快还是慢?
  3. ML基石_4_FeasibilityOfLearning
  4. RNA Spike-in Control:添加/加入(某种物质)的对照(组)
  5. 基于癌症基因组学数据的miRNA 功能模块识别算法研究
  6. 如何快速而准确的获取生物体的遗传信息一直是生命科学 中的一个非常重要的研究点
  7. java字符串缓冲池分析
  8. linux添加美式键盘,win8\win server 2012添加【中文--美式键盘】
  9. java map 队列_Java:queue队列,map集合
  10. 15.并发工具类(解析hashtable,ConcurrentHashMap1.7与1.8的区别以及Semaphore)