haproxy+pacemaker

本文介绍了如何配置HAProxy以提供高可用性和负载均衡,并通过pacemaker进行集群管理,确保服务的稳定性和效率。内容涵盖HAProxy的特性、配置环境、日志管理、ACL设置、动静分离、读写分离以及pacemaker的简单配置,实现haproxy服务的高可用集群部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性负载均衡,以及基于TCPHTTP的应用程序代理
HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

                                                                                                                                                -----来自百度百科


一、配置环境

1、解包,命令find -name *.spec有这个文件表示可以用源码软件包安装

2、安装rpmbuild服务,rpmbuild命令被用于创建rpm的二进制软件包和源码软件包

rpmbuild -tb haproxy-1..6.11.tar..gz

找到haproxy的rpm软件包,rpm -ivh安装

3、 cp content-sw-sample.cfg  /etc/haproxy/haproxy.cfg去到haproxy目录下复制其配置文件到指定路径;

修改配置文件以到达我们的需要;

(1)根据配置文件,建立haproxy用户赋予指定uid、gid

(2)vim /etc/security/limits.conf 添加文件最大限制数 haproxy - nofile 65535

(3)更改配置文件如下图:实现一个负载均衡

查看端口信息;可以看到haproxy服务使用的80端口

访问测试:如图

根据日志可以查看其stats状态页,如下图

这里可以定义用户和密码

测试查看效果如图



二、创建指定日志文件

1、使UDP端口接收生效

2、添加日志并指定日志保存路径,黑色选中表示在/var/log/messages下不保存



三、acl列表

1、建立acl黑名单,指定ip,更改配置文件,如下图

测试查看:403报错

2、错误重定向,将403报错给客户没实际作用,这里更改配置文件将错误重定向到本机的apache服务默认发布目录里的写入内容,记得将httpd的端口改为8080避免和haproxy服务冲突;如下图

访问测试如图,实现错误重定向

3、指定ip重定向,更改配置文件,如图

这里重定向ip是server4;我们server4测试查看:



四、动静分离

1、server3安装php 编辑动态页面 完成后restart httpd服务

2、编辑配置文件,如果访问以.php结尾的动态界面,实际访问的主机为server3;静态页面访问server2

测试查看


五、读写分离

1、server2 编写php文件完成 发送给serber3

2、server1编辑配置文件,如果有写入操作,访问动态server3主机

3、访问测试

上传一个图片如图

server3实现写 图片实际保存在server3上 读的时候访问的是server2;server3查看可以看到图片保存在server3上;实现读写分离





pacemaker

Pacemaker是一个 集群资源管理器。它利用集群基础构件(OpenAIS 、heartbeat或corosync)提供的消息和成员管理能力来探测并从 节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性。

                                                                                                                                                    ----来自百度百科

corosync+pacemaker+crm简单配置

1、server1和server4安装pacemaker  crmsh.x86_64   pssh.x86_64 

2、cp corosync.conf.example corosync.conf更改配置文件如下

文件末尾加入如图


3、servre1和server4:/etc/init.d/corosync start

4、scp corosync.conf server4:/etc/corosync/

5、server1:crm_verify -LV 有报错


crm configure show

property stonith-enabled=false  表示资源不会迁移

再次crm_verify -LV没有报错表示正常

6、加入vip


7、 crm_mon监控集群和vip信息

8、property  no-quorum-policy=ignore关闭集群对节点数量的检查,节点server1如果故障,节点server4收不到心跳请求,直接接管程序,保证正常运行,不至于一个节点崩掉而使整个集群崩掉

9、实现haproxy服务高可用,先编辑上面更改过的配置文件如下图

向集群添加haproxy 服务;并绑定在一台主机上,避免资源飘移,将他们绑定在一个组上

监控查看

测试:开启server1server4上的haproxy ,关闭此时ip在的主机上的corosync,发现服务仍能正常访问,实现了群高可用

10、开启fence功能

检查有没有fence_xvm服务



添加fence资源,写入集群节点名和真实server的名字映射 

真机打开fence_virtd服务;成功加入监控查看


至此haproxy的基于pacemaker结合corosync的高可用负载均衡集群部署完毕


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值