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

一、Pacemaker介绍:

Pacemaker是 Linux环境中使用最为广泛的开源集群资源管理器, Pacemaker利用集群基础架构

(Corosync或者 Heartbeat)提供的消息和集群成员管理功能,实现节点和资源级别的故障检测和资源恢复,

从而最大程度保证集群服务的高可用。

二、环境部署

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

server3 server4 作为httpd 服务器

1.配置yum源,安装pacemaker:

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

[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.60.250/iso/
enabled=1
gpgcheck=0

[HighAvailability]
name=HighAvailability
baseurl=http://172.25.60.250/iso/HighAvailability
gpgcheck=0

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.60.250/iso/LoadBalancer
gpgcheck=0

[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.60.250/iso/ResilientStorage
gpgcheck=0

[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.60.250/iso/ScalableFileSystem
gpgcheck=0

yum install -y pacemaker corosync
yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-5.el6.noarch.rpm
 cd /etc/corosync/
 ls
 cp corosync.conf.example corosync.conf
 vim corosync.conf
# Please read the corosync.conf.5 manual page
compatibility: whitetank

totem {
        version: 2
        secauth: off
        threads: 0
        interface {
                ringnumber: 0
                bindnetaddr: 172.25.60.0 #更改广播域
                mcastaddr: 226.94.1.1
                mcastport: 5405
                ttl: 1
        }
}

logging {
        fileline: off
        to_stderr: no
        to_logfile: yes
        to_syslog: yes
        logfile: /var/log/cluster/corosync.log
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
        }
}

amf {
        mode: disabled
}
service {
        ver: 0
        name:pacemaker
}

2.配置server2:

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

主配置文件同server1

3.开启服务:

server1/2: /etc/init.d/corosync start

4.在server1: 查看节点状态:

crm status

5.检测文件:

crm_verify -VL

有报错 ,解决办法:

crm configure property no-quorum-policy="ignore"
crm configure property 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=1min
crm(live)configure# commit
crm(live)configure# exit
bye
[root@server1 corosync]# 

6.在server2上监控:

crm_mon

7.测试:关闭server1的corosync

在server2上查看:server1宕机时,服务会自动跳转到server2上。

三、实现负载均衡

1.在server1, server2上配置好haproxy 

设置server3,4轮循

参考链接

2.server1:

[root@server1 ~]# crm
crm(live)# configure
crm(live)configure#  primitive haproxy lsb:haproxy op monitor interval=1min
crm(live)configure# commit
crm(live)configure# exit
bye

3.在server2上监控

crm_mon

4.测试:

关闭server1 corosync

在server2 上监控可以看到:

检测功能是否正常:

在客户端(真机)访问172.25.60.100:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马克图布s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值