fence集群实现HA(高可用)

HA简介:

HA(High Available),高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问题,导致正在运行的业务(任务)不能正常运行时,备用节点此时就会侦测到,并立即接续活动节点来执行业务。从而实现业务的不中断或短暂中断。

其中由两个节点组成的集群被称为双机热备,即使用两台服务器互相备份,当其中一台服务器出现问题时,另一台服务器马上接管服务,来保护用户的业务程序对外不间断提供的服务,当然集群系统更可以支持两个以上的节点,提供比双机热备更多、更高级的功能,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。

在集群中为了防止服务器出现“脑裂”的现象,集群中一般会添加Fence设备,有的是使用服务器本身的的硬件接口称为内部Fence,有的则是外部电源设备称为外部Fence,当一台服务出现问题响应超时的时候,Fence设备会对服务器直接发出硬件管理指令,将服务器重启或关机,并向其他节点发出信号接管服务。

在红帽系统中我们通过luci和ricci来配置管理集群,其中luci安装在一台独立的计算机上或者节点上,luci只是用来通过web访问来快速的配置管理集群的,它的存在与否并不影响集群。ricci是安装在每个节点上,它是luci与集群给节点通信的桥梁。

环境: redhat6.5

server1172.25.60.1ricci+luci
server2172.25.60.2ricci

yum源vim /etc/yum.repos.d/rhel-source.repo加上高可用,负载均衡,弹性存储,可扩展文件系统四大模块

[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.60.250/rhel6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]		//高可用
name=HighAvailability
baseurl=http://172.25.60.250/rhel6.5/HighAvailability
gpgcheck=0

[LoadBalancer]			//负载均衡
name=LoadBalancer
baseurl=http://172.25.60.250/rhel6.5/LoadBalancer
gpgcheck=0

[ResilientStorage]		//弹性存储
name=ResilientStorage
baseurl=http://172.25.60.250/rhel6.5/ResilientStorage
gpgcheck=0

[ScalableFileSystem]	//可扩展文件系统
name=ScalableFileSystem
baseurl=http://172.25.60.250/rhel6.5/ScalableFileSystem
gpgcheck=0

配置:

1.配置ricci(节点端)与luci(管理端)

##server1:
yum install ricci lnci -y
/etc/init.d/ricci start
/etc/init.d/luci start
chkconfig ricci on
chkconfig luci on
passwd ricci	//安装ricci会生成ricci用户,需要设置密码

netstat -tnlp	//查看luci使用的端口
tcp 0  0 0.0.0.0:8084  0.0.0.0:*  LISTEN 1263/python 

##server2:
/etc/init.d/ricci start 
chkconfig ricci on
passwd ricci	//安装ricci会生成ricci用户,需要设置密码

2.用web登录172.25.60.1:8084通过网页来配置(其中8084端口就是luci启动的端口)

luci端的主机的root用户就是luci的管理用户;其他用户登录需要root用户授权这里为了方 便直接用root登录

在这里插入图片描述
创建集群:
在这里插入图片描述
按上图所示选择即可,选项内容如下:

Use the Same Password for All Nodes对所有节点使用相同的密码
Download Packages下载包
Use Locally Installed Packages使用本地安装的包
Reboot Nodes Before Joining Cluster在加入群集之前重新启动节点
Enable Shared Storage Support启用共享存储支持

创建集群成功:
在这里插入图片描述
输入节点主机使用clustat命令也可查看到:
在这里插入图片描述
3.为集群添加外部fence: 因为实验主机是虚拟机所以用物理机来模拟fence 在物理机中安装所需的软件包

yum search fence
yum install -y fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64
fence_virtd -c		//配置
	Interface [virbr0]: br0	
	Replace /etc/fence_virt.conf with the above [y/N]? y
	注:除了这两个,其余都回车

配置成功后,启动时将以下信息写入/etc/fence_virt.conf
在这里插入图片描述
注:由于没有/etc/cluster这个目录,需要手动建立

mkdir /etc/cluster

采集随即信息到刚刚生成的key文件里

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

将生成的key发给server1.2

cd /etc/cluster
scp fence_xvm.key root@172.25.60.1:/etc/cluster
scp fence_xvm.key root@172.25.60.2:/etc/cluster

开启fence_virtd

systemctl start fence_virtd.service
systemctl status fence_virtd.service	//查看状态

点击Fence Devices添加fence,有多种fence设备可供选择这里选的是Fence virt(MulticastMode)

Fence Devices--->add--->Fence virt(Multicast Mode)

在这里插入图片描述
然后点击Nodes里的节点为集群添加fence,这里选择vmfence(xvm Virtual Machine Fencing)其中Domain填写虚拟机的UUID。

Add Fence Method--->vmfence-1
Add Fence Instance--->vmfence(xvm Virtual Machine Fencing) + Domain:server1/2的UUID

在这里插入图片描述
在这里插入图片描述
到此,测试一下:
在server1执行fence_node server2 可以看到server2重启了

4.配置完fence后接着配置failover

Failover Domains—Add–name(自定义)/三个全选/勾选server1.2,填写优先集(1的优先级高,数字小)
在这里插入图片描述
Prioritized设置优先级
Restricted设置只在勾选节点中运行
No Failback设置当优先级高的节点恢复时不会接管正在运行的服务
然后在Resource中添加资源这里添加虚拟ip和httpd的脚本

Resources--Add
	--IP Addres  172.25.60.100/24
	--Script     name:htppd	Full:/etc/init.d/httpd

在这里插入图片描述
在这里插入图片描述
最后设置Server Group:点击 Add Resource 增加Resource中的资源这里添加的是上一步配置的虚拟IP和httpd脚本

在这里插入图片描述
Automatically Start This Service设置自动开启服务
Run Exclusive 设置当运行此服务时不再运行其他服务

测试: 先在节点端安装apache,编辑默认发布文件,不开启服务

curl 172.25.60.100 可以看的server1默认发布文件里的内容
echo c > /proc/sysrq-trigger //server1故障掉
curl 172.25.60.100 再次查看变成server2默认发布文件里的内容
监控—clustat
ip a //发现ip漂移

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值