企业运维实战--haproxy最详细配置(负载均衡,pacemaker实现双机热备,fence等相关详细配置)
前言
负载均衡(Load Balance)简单介绍:
基于DNS的负载均衡:是负载均衡中最简单的方案,可以实现地域上流量均衡。当用户访问一个域名的时候我们可以通过其不同用户的不同特性(比如地理位置不同)对其解析不同的ip,进而减少主服务器的压力。优点是成本低,开发配置和维护简单;缺点是DNS的多级缓存可能导致修改后的变更不及时。
基于硬件的负载均衡:硬件负载均衡设备将核心部分做成芯片,性能和稳定性高,商用价值高。缺点就是成本也高。
基于软件的负载均衡:软件有lvs、haproxy、nginx。
lvs是工作在四层、仅负责分发请求作用的负载均衡,负载均衡性能最强。Lvs实现负载均衡可结合keepalived进行后端健康检测。
详细lvs介绍与配置可以参考本人博客企业运维实战–lvs之DR模式负载均衡、keepalived、lvs高可用。
nginx工作在7层,针对http应用做一些策略配置,可以检测后端端口故障,最大的优点是并发量高,且支持二次开发,商用价值高。
详细nginx介绍与配置可以参考本人博客企业运维实战LAMP架构–nginx最全配置管理包括(并发优化、负载均衡、平滑升级、限流、配置管理、重定向、防盗链等)
haproxy是工作在4/7层,提供高可用性和负载均衡。本章我们将通过配置haproxy的负载均衡、结合pacemaker实现haproxy双机热备等方面全方面介绍haproxy。
一、haproxy负载均衡
server4为haproxy主机,server5、server6为haproxy后端负载均衡主机,server7为后续高可用另一台master主机。
安装服务
yum install -y haproxy.x86_64
配置文件
cd /etc/haproxy/
vim haproxy.cfg
60 stats uri /status
61
62 #---------------------------------------------------------------------
63 # main frontend which proxys to the backends
64 #---------------------------------------------------------------------
65 frontend main *:80
66 # acl url_static path_beg -i /static /images /javascript /stylesheets
67 # acl url_static path_end -i .jpg .gif .png .css .js
68
69 # use_backend static if url_static
70 default_backend app
71
72 #---------------------------------------------------------------------
73 # static backend for serving up images, stylesheets and such
74 #---------------------------------------------------------------------
75 #backend static
76 # balance roundrobin
77 # server static 127.0.0.1:4331 check
78 #
79 #---------------------------------------------------------------------
80 # round robin balancing between the various backends
81 #---------------------------------------------------------------------
82 backend app
83 balance roundrobin
84 server app1 172.25.9.5:80 check
85 server app2 172.25.9.6:80 check
vim /etc/security/limits.conf
haproxy - nofile 4096
启动服务,查看日志
systemctl start haproxy.service
cat /var/log/messages
haproxy服务默认端口为80
netstat -antlp
测试:
firefox:http://172.25.9.4/status
开启一个后端服务,由红到黄再到绿
二、haproxy 配置
注意以下所有配置均在修改/etc/haproxy/haproxy.cfg
每次修改完配置文件后记得reload!
status添加用户认证
图片访问锁定
测试:访问172.25.9.4:images/1.jpg