Pacemaker+corosync+pcs---rhel7.3高可用集群管理

1.原理
Pacemaker+corosync+pcs是作高可用的软件,只不过luci是基于rhel6的图形管理软件,而pcs是基于rhel7的高可用集群管理软件。Pacemaker是提供高可用服务,其与corosync一起使用可以检测心跳。其实原理与RHCS(红帽高可用集群套件)基本类似。
2.实现步骤
配置网络,及yum源

vim /etc/yum.repo/westos.repo

[rehl7.3]
name=rhel7.3
baseurl=http://172.25.40.250/westos
gpgcheck=0
[HighAvailability]
name=rhel7.3
baseurl=http://172.25.40.250/westos/addons/HighAvailability

gpgcheck=0
[ResilientStorage]
name=rhel7.3
baseurl=http://172.25.40.250/westos/addons/ResilientStorage
gpgcheck=0

配置本地解析

vim /etc/hosts
172.25.40.1 server1
172.25.40.2 server2
172.25.40.3 server3
172.25.40.4 server4

集群节点server1,server2:
安装高可用管理软件

yum install pcs pacemaker corosync -y
(pacemaker 提供高可用服务,类似于rhel6的ricci;pcs类似于luci)
systemctl start pcsd  #开启pcsd服务 
systemctl enable pcsd  #pcsd开机自启
ssh-keygen  #生成登陆密钥 
ssh-copy-id server1  #将ssh密钥发送到服务端,使两台机器都可以免密登陆 
ssh-copy-id server2  
id hacluster  #修改用户密码,用来登陆
passwd hacluster #密码改为一致
pcs cluster auth server1 server2 #认证server1,server2,用户名hacluster,密码为此用户密码 
pcs cluster setup --name mycluster server1 server2 #将server1,server2加入到群组 
pcs cluster start --all #开启群组 
pcs cluster enable --all #群组开机自启 
pcs status #查看群组状态
crm_mon 		     #监控pcs服务
crm_verify -L -V	   #查看群组版本错误
pcs resource standards	   #查看资源类型

实验测试:
认证server1,server2:
Pacemaker+corosync+pcs---rhel7.3高可用集群管理_第1张图片
创建集群,将server1,server2添加到集群
Pacemaker+corosync+pcs---rhel7.3高可用集群管理_第2张图片
开启集群,开机自启
Pacemaker+corosync+pcs---rhel7.3高可用集群管理_第3张图片
查看集群状态

Pacemaker+corosync+pcs---rhel7.3高可用集群管理_第4张图片

配置集群服务:
server1,server2:

yum install httpd -y #安装httpd服务

pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.40.100 cidr_netmask=32 op monitor interval=30s #创建资源VIP
pcs resource create apache systemd:httpd op monitor interval=30s #创建名为apache的资源
pcs resource group add apache_group vip apache #创建资源组apache,将资源添加到资源组
pcs constraint order vip then apache #添加顺序

yum install -y fence-virt #安装fence插件 
mkdir /etc/cluster 

在集群外的一台主机上(这里真机上)添加fence插件

yum install fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64
													##安装fence插件	
fence_virtd -c										##添加接口br0,除了选择接口改为br0,其余直接回车,在/etc/fence_virt.conf查看
mkdir /etc/cluster									##创建其目录
cd /etc/cluster/

dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1		##生成fence插件密钥文件
scp fence_xvm.key [email protected]:/etc/cluster/					##将密钥文件发送到需使用fence的虚拟机(来进行认证)
scp fence_xvm.key [email protected]:/etc/cluster/
systemctl start  fence_virtd.service	

cluster添加fence:

pcs stonith create vmfences fence_xvm pcmk_host_map="server1:server1;server2:server2" op monitor interval=1min 
#添加fence服务;主机名:虚拟机名;fence_xvm fence类型名;op monitor interval=1min时间间隔检测。 
pcs property set stonith-enabled=true #打开fence的爆头在虚拟机上服务

Pacemaker+corosync+pcs---rhel7.3高可用集群管理_第5张图片
pcs cluster stop server2 #将server2节点停止,该节点不会自动开启,需要手动开启,此时资源自动移到另一台机器上
Pacemaker+corosync+pcs---rhel7.3高可用集群管理_第6张图片pcs cluster start server2

Pacemaker+corosync+pcs---rhel7.3高可用集群管理_第7张图片echo c >/proc/sysrq-trigger #将server1内核写崩,之后fence会重启虚拟机与服务,此时资源移动到server2。
Pacemaker+corosync+pcs---rhel7.3高可用集群管理_第8张图片
Pacemaker+corosync+pcs---rhel7.3高可用集群管理_第9张图片

server1成功自启,自动加入到集群,资源不回切Pacemaker+corosync+pcs---rhel7.3高可用集群管理_第10张图片
实现了高可用。

你可能感兴趣的:(linux企业级,pacemaker,pcs,corosync,高可用)