Pacemaker + haproxy 实现负载均衡和高可用

1.认识pacemaker

Pacemaker是 Linux环境中使用最为广泛的开源集群资源管理器, Pacemaker利用集群基础架构(Corosync或者 Heartbeat)提供的消息和集群成员管理功能,实现节点和资源级别的故障检测和资源恢复,从而最大程度保证集群服务的高可用。

 

Pacemaker是整个高可用集群的控制中心,用来管理整个集群的资源状态行为,客户端通过 pacemaker来配置、管理、监控整个集群的运行状态

 

2.Pacemaker的主要功能:

  •     监测并恢复节点和服务级别的故障。
  •     存储无关,并不需要共享存储。
  •     资源无关,任何能用脚本控制的资源都可以作为集群服务。
  •     支持节点 STONITH功能以保证集群数据的完整性和防止集群脑裂。
  •     支持大型或者小型集群。
  •     支持 Quorum机制和资源驱动类型的集群。
  •     支持几乎是任何类型的冗余配置。
  •     自动同步各个节点的配置文件。
  •     可以设定集群范围内的 Ordering、 Colocation and Anti-colocation等约束。
  •     高级服务类型支持,例如:
  •     Clone功能,即那些要在多个节点运行的服务可以通过 Clone功能实现, Clone功能将会在多个节点上启动相同的服务;
  •     Multi-state功能,即那些需要运行在多状态下的服务可以通过 Multi–state实现,在高可用集群的服务中,有很多服务会运行在不同的高可用模式下,如:Active/Active模式或者 Active/passive模式等,并且这些服务可能会在 Active 与standby(Passive)之间切换。
  •     具有统一的、脚本化的集群管理工具。
     

二、Pacemaker实现高可用

环境部署:

server1 server2 作为haproxy 服务器,用pacemaker实现负载均衡服务器高可用

server3 server4 作为httpd 服务器

server1

1.yum源搭建

yum install -y pacemaker corosync
yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm -y

2.

 cd /etc/corosync/
 ls
 cp corosync.conf.example corosync.conf
 vim corosync.conf

3.修改配置文件(让corosync在pacemaker启动时也启动)


 10                 bindnetaddr: 172.25.99.0	#同网段
 11                 mcastaddr: 226.94.1.1		#多播地址(不需要修改)
 12                 mcastport: 5405				#多播端口


 35 service {
 36         name:pacemaker
 37         ver:0
 38 }

scp /etc/corosync/corosync.conf server2:/etc/corosync/

server2:

yum install -y pacemaker corosync
rpm -ivh crmsh-1.2.6-0.rc2.2.1.x86_64.rpm --nodeps --force

 

 

两边同时启动corosync服务

server1/2:

/etc/init.d/corosync start

在server1: 查看节点状态:

crm status

 

在server1检测文件:

crm_verify -VL

 

进行全局资源配置,将fence设备关闭(否则服务起不来)

crm configure property no-quorum-policy="ignore"
##忽略节点监测,集群至少为2个,实验中只有两个,忽略掉方便实验正常测试
crm configure property stonith-enabled=false
##因为在这里我们还没有对fence进行配置,先将stonith-enabled 设置为 false,表示资源不会迁移

 

添加虚拟ip:

[root@server1 corosync]# crm
crm(live)# configure
crm(live)configure# show
node server1
node server2
property $id="cib-bootstrap-options" \
	dc-version="1.1.10-14.el6-368c726" \
	cluster-infrastructure="classic openais (with plugin)" \
	expected-quorum-votes="2" \
	no-quorum-policy="ignore" \
	stonith-enabled="false"
crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.60.100 cidr_netmask=24 op monitor interval=20s
##添加vip资源,params 指定参数 op monitor
crm(live)configure# commit
crm(live)configure# exit
bye
[root@server1 corosync]# 

在server2上监控:

crm_mon

测试:关闭server1的corosync

server1宕机时,服务会自动跳转到server2上

实现负载均衡

在server1, server2上配置好haproxy 

https://blog.youkuaiyun.com/weixin_44416500/article/details/89431451(haproxy搭建)

server1:

[root@server1 ~]# crm
crm(live)# configure
crm(live)configure#  primitive haproxy lsb:haproxy op monitor interval=20s
 ##haproxy名字,lsb资源代理,每隔20s监控
crm(live)configure# commit
crm(live)configure# exit
bye

 

 server2:

crm_mon  ##监控如下图

 

server3/4配置html页面

测试:

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值