Haproxy+PaceMaker实现高可用负载均衡集群

本文通过实验详细介绍了如何使用Haproxy和PaceMaker构建高可用负载均衡集群。内容包括Haproxy的配置、健康检查、负载均衡算法、动静分离、重定向、读写分离等,并讲解了PaceMaker的内部组件及故障转移机制。
摘要由CSDN通过智能技术生成

Haproxy+PaceMaker实验配置:

server1,server2:集群节点

server3,server4:后端服务器

在server1配置haproxy:

[root@server1 ~]# ls
asciidoc-8.4.5-4.1.el6.noarch.rpm   libnfnetlink-devel-1.0.0-1.el6.x86_64.rpm
haproxy-1.6.11.tar.gz               lvs-fullnat-synproxy
keepalived-2.0.6                    Lvs-fullnat-synproxy.tar.gz
keepalived-2.0.6.tar.gz             newt-devel-0.52.11-3.el6.x86_64.rpm
kernel-2.6.32-220.23.1.el6.src.rpm  rpmbuild
ldirectord-3.9.5-3.1.x86_64.rpm     slang-devel-2.2.1-1.el6.x86_64.rpm
[root@server1 ~]# yum install rpm-build -y  安装rpmbuild制作rpm包的工具
[root@server1 ~]# rpmbuild -tb haproxy-1.6.11.tar.gz 
error: Failed build dependencies:
    pcre-devel is needed by haproxy-1.6.11-1.x86_64
[root@server1 ~]# yum install pcre-devel -y 解决依赖性
[root@server1 ~]# rpmbuild -tb haproxy-1.6.11.tar.gz 制作包编译
[root@server1 ~]# cd rpmbuild/RPMS/

这里写图片描述

[root@server1 RPMS]# ls
x86_64
[root@server1 RPMS]# cd x86_64/
[root@server1 x86_64]# ls
haproxy-1.6.11-1.x86_64.rpm  haproxy-debuginfo-1.6.11-1.x86_64.rpm
[root@server1 x86_64]# rpm -qpl haproxy-1.6.11-1.x86_64.rpm    查看安装了那些软件
/etc/haproxy
/etc/rc.d/init.d/haproxy
/usr/sbin/haproxy
/usr/share/doc/haproxy-1.6.11
/usr/share/doc/haproxy-1.6.11/CHANGELOG
/usr/share/doc/haproxy-1.6.11/README
/usr/share/doc/haproxy-1.6.11/architecture.txt
/usr/share/doc/haproxy-1.6.11/configuration.txt
/usr/share/doc/haproxy-1.6.11/intro.txt
/usr/share/doc/haproxy-1.6.11/management.txt
/usr/share/doc/haproxy-1.6.11/proxy-protocol.txt
/usr/share/man/man1/haproxy.1.gz
[root@server1 x86_64]# ls  
haproxy-1.6.11-1.x86_64.rpm  haproxy-debuginfo-1.6.11-1.x86_64.rpm
[root@server1 x86_64]# rpm -ivh haproxy-1.6.11-1.x86_64.rpm  安装haproxy
Preparing...                ########################################### [100%]
   1:haproxy                ########################################### [100%]
[root@server1 x86_64]# cd
[root@server1 ~]# ls
asciidoc-8.4.5-4.1.el6.noarch.rpm   libnfnetlink-devel-1.0.0-1.el6.x86_64.rpm
haproxy-1.6.11.tar.gz               lvs-fullnat-synproxy
keepalived-2.0.6                    Lvs-fullnat-synproxy.tar.gz
keepalived-2.0.6.tar.gz             newt-devel-0.52.11-3.el6.x86_64.rpm
kernel-2.6.32-220.23.1.el6.src.rpm  rpmbuild
ldirectord-3.9.5-3.1.x86_64.rpm     slang-devel-2.2.1-1.el6.x86_64.rpm

这里写图片描述

[root@server1 ~]# tar zxf haproxy-1.6.11.tar.gz  解压源码包
[root@server1 ~]# ls
asciidoc-8.4.5-4.1.el6.noarch.rpm   libnfnetlink-devel-1.0.0-1.el6.x86_64.rpm
haproxy-1.6.11                      lvs-fullnat-synproxy
haproxy-1.6.11.tar.gz               Lvs-fullnat-synproxy.tar.gz
keepalived-2.0.6                    newt-devel-0.52.11-3.el6.x86_64.rpm
keepalived-2.0.6.tar.gz             rpmbuild
kernel-2.6.32-220.23.1.el6.src.rpm  slang-devel-2.2.1-1.el6.x86_64.rpm
ldirectord-3.9.5-3.1.x86_64.rpm

这里写图片描述

[root@server1 ~]# cd haproxy-1.6.11  进入解压好的路径
[root@server1 haproxy-1.6.11]# ls
CHANGELOG  CONTRIBUTING  ebtree    include  MAINTAINERS  README   src      tests    VERSION
contrib    doc           examples  LICENSE  Makefile     ROADMAP  SUBVERS  VERDATE
[root@server1 haproxy-1.6.11]# find -name *.spec
./examples/haproxy.spec
[root@server1 haproxy-1.6.11]# ls
CHANGELOG  CONTRIBUTING  ebtree    include  MAINTAINERS  README   src      tests    VERSION
contrib    doc           examples  LICENSE  Makefile     ROADMAP  SUBVERS  VERDATE
[root@server1 haproxy-1.6.11]# cd examples/

这里写图片描述

[root@server1 examples]# ls
acl-content-sw.cfg     debug2ansi    haproxy.spec           ssl.cfg
auth.cfg               debug2html    haproxy.vim            stats_haproxy.sh
check                  debugfind     init.haproxy           transparent_proxy.cfg
check.conf             errorfiles    option-http_proxy.cfg
content-sw-sample.cfg  haproxy.init  seamless_reload.txt
[root@server1 examples]# cp content-sw-sample.cfg /etc/haproxy/haproxy.cfg  复制文件
[root@server1 examples]# cd /etc/haproxy/
[root@server1 haproxy]# ls
haproxy.cfg
[root@server1 haproxy]# groupadd -g 200 haproxy  建立组
[root@server1 haproxy]# useradd -u 200 -g 200 -M haproxy 建立用户
[root@server1 haproxy]# id haproxy 查看用户
uid=200(haproxy) gid=200(haproxy) groups=200(haproxy)
[root@server1 haproxy]# su - haproxy  可以切换到haproxy只是提供了一个shell而已
su: warning: cannot change directory to /home/haproxy: No such file or directory
-bash-4.1$ logout

这里写图片描述

[root@server1 haproxy]# vim /etc/security/limits.conf  编辑填写最大文件数

这里写图片描述

[root@server1 haproxy]# vim haproxy.cfg  编写配置文件写入健康检查监控以及后端IP

这里写图片描述
这里写图片描述

[root@server1 haproxy]# /etc/init.d/haproxy restart  重启服务
Shutting down haproxy:                                     [  OK  ]
Starting haproxy:                                          [  OK  ]

在两个后端打开阿帕奇写入访问文件:

这里写图片描述
这里写图片描述

在网页测试haproxy的轮询:

这里写图片描述
这里写图片描述

在网页测试haproxy的健康检查:

这里写图片描述

在网页测试haproxy的监控:

这里写图片描述

Haproxy有8种负载均衡算法-

1.balance roundrobin # 轮询,软负载均衡基本都具备这种算法
2.balance static-rr # 根据权重,建议使用
3.balance leastconn # 最少连接者先处理,建议使用
4.balance source # 根据请求源IP,建议使用
5.balance uri # 根据请求的URI
6.balance url_param,# 根据请求的URl参数'balance url_param' requires an URL parameter name
7.balance hdr(name) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值