HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性负载均衡,以及基于TCPHTTP的应用程序代理

HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

                                                                                                                                                -----来自百度百科


一、配置环境

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

haproxy+pacemaker

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

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

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

haproxy+pacemaker

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

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

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

haproxy+pacemaker

haproxy+pacemaker

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

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

haproxy+pacemakerhaproxy+pacemakerhaproxy+pacemaker

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

haproxy+pacemaker

访问测试:如图

haproxy+pacemaker

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

haproxy+pacemaker

这里可以定义用户和密码

haproxy+pacemaker

测试查看效果如图

haproxy+pacemaker


二、创建指定日志文件

1、使UDP端口接收生效

haproxy+pacemaker

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

haproxy+pacemaker


三、acl列表

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

haproxy+pacemaker

测试查看:403报错

haproxy+pacemaker

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

haproxy+pacemaker

haproxy+pacemaker

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

haproxy+pacemaker

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

haproxy+pacemaker

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

haproxy+pacemaker



四、动静分离

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

haproxy+pacemaker

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

haproxy+pacemaker

测试查看

haproxy+pacemaker


五、读写分离

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

haproxy+pacemaker

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

haproxy+pacemaker

3、访问测试

haproxy+pacemaker

上传一个图片如图

haproxy+pacemaker

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

haproxy+pacemaker





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更改配置文件如下

haproxy+pacemaker

文件末尾加入如图

haproxy+pacemaker

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

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

5、server1:crm_verify -LV 有报错

haproxy+pacemaker

crm configure show

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

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

haproxy+pacemaker

6、加入vip

haproxy+pacemaker

haproxy+pacemaker

7、 crm_mon监控集群和vip信息

haproxy+pacemaker

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

haproxy+pacemaker

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

haproxy+pacemaker

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

haproxy+pacemaker

监控查看

haproxy+pacemaker

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

10、开启fence功能

检查有没有fence_xvm服务

haproxy+pacemaker



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

haproxy+pacemaker

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

haproxy+pacemaker


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


相关文章:

  • 2022-01-09
  • 2021-07-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-11
  • 2022-01-28
  • 2022-01-07
猜你喜欢
  • 2021-07-13
  • 2021-08-17
  • 2021-09-14
  • 2021-08-10
  • 2021-07-24
  • 2021-06-11
  • 2021-10-31
相关资源
相似解决方案