pacemaker介绍
Pacemaker是一个集群资源管理器。它利用集群基础构件(OpenAIS 、heartbeat和corosync)提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性。
Corosync是集群管理套件的一部分,通常会与其他资源管理器一起组合使用它在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等。它是一个新兴的软件,2008年推出,但其实它并不是一个真正意义上的新软件,在2002年的时候有一个项目Openais , 它由于过大,分裂为两个子项目,其中可以实现HA心跳信息传输的功能就是Corosync ,它的代码60%左右来源于Openais. Corosync可以提供一个完整的HA功能,但是要实现更多,更复杂的功能,那就需要使用Openais了。Corosync是未来的发展方向。在以后的新项目里,一般采用Corosync,而hb_gui可以提供很好的HA管理功能,可以实现图形化的管理。另外相关的图形化有RHCS的套件luci+ricci,当然还有基于java开发的LCMC集群管理工具
crmsh is a cluster management shell for the Pacemaker High Availability stack.
pacemaker包含以以下关键特性:
•监测并恢复节点和服务级别的故障
•存储无关,并不需要共享存储
•资源无关,任何能用脚本控制的资源都可以作为服务
•支持大型或者小型的集群
•自动同步各个节点的配置文件
•可以设定集群范围内的ordering, colocation and anti-colocation
•Clones:为那些要在多个节点运行的服务所准备的
•Multi-state:为那些有多种模式的服务准备的。(比如.主从, 主备)
•统一的,可脚本控制的cluster shell
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
上一篇博客已经详细介绍了haproxy及如何配置,这里就不多说了。不了解的伙伴可以去看下我的上篇文章。
高可用集群搭建![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8ab4effd542f17347e0373121cdd7e06.png)
HAproxy节点:server1,server4
后端服务器:server1 ,server4
配置集群服务我们首先要停掉haproxy,而且一定要停干净
安装pacemaker corosync crmsh
yum install pacemaker -y corosync
yum install -y crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm
cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf
##更改配置文件
vim /etc/corosync/corosync.conf
4 totem {
5 version: 2
6 secauth: off
7 threads: 0
8 interface {
9 ringnumber: 0
10 bindnetaddr: 172.25.254.0 ##监控网段
11 mcastaddr: 226.94.1.1 ##多播地址
12 mcastport: 5405 ##多播端口
13 ttl: 1
14 }
15 }
35 service{ ##添加的服务
36 ver: 0
37 name: pacemaker
38 }
--->内容见截图
##开启服务
/etc/init.d/corosync start
/etc/init.d/pacemaker start
/etc/corosync/corosync.conf文件内容
scp corosync.conf server4:/etc/corosync/ ##将配置文件复制到另一节点
/etc/init.d/corosync start ##两边节点都开启服务
[root@server1 corosync]# crm configure show # 查看,两个节点都可以查看到
配置
两个节点任选一个配置就行,
Server1
crm configure property noquorum-policy=“ignore” #只有两个节点所以不竞选
首先检测配置文件是否异常
这是因为stonith,目前,我们禁用这个特性,然后在 配置STONISH
章节来配置它。这里要指出,使用STONITH是非常有必要的。关闭这个特性就是告诉集群:假装故障的节点已经安全的关机了。一些供应商甚至不允许这个特性被关闭。
我们将 stonith-enabled设置为 false 来关闭STONITH
crm configure property stonith-enabled=false ##禁用stonith
设置完这个选项以后,校验配置文件就正常了。
在pacemaker上配置haproxy,VIP:
[root@server1 etc]# crm
crm(live)# configure
crm(live)configure# primitive vip ocf?IPaddr params ip=172.25.254.100 cidr_netmask=24 op monitor interval=lmin
crm(live)configure# primitive haproxy lsb:haproxy op monitor interval=1min
crm(live)configure# group hagroup vip haproxy
crm(live)configure# commit
crm(live)configure# bye
bye
- 查看