haproxy负载均衡和配合keepalived的快速部署
摘要 简单易配 haproxy作为代理转发服务器 keepalived作为高可用
四台服务器
-
server1.example.com //realserver 本次实验作为httpd服务器
-
server2.example.com //realserver 本次实验作为httpd服务器
-
server3.example.com //安装haproxy 和 keepalived
-
server4.example.com //安装haproxy 和 keepalived
server1.example.com server2.example.com 上只需要安装httpd服务即可,因为haproxy仅是个代理而已。
server3(4).example.com 上的操作 ps:本人采用rhel6.5系统
yum源配置高可用 ,安装keepalived // 具体过程在我的博客《keepalived+lvs快速部署》里有
yum install haproxy -y
vim /etc/haproxy/haproxy.cfg 添加如下
stats uri /status //打开自带的监控功能,清楚的查看状态
listen www.example.com *:80
balance roundrobin //轮询
listen stats_auth 172.25.254.3:80
stats enable
stats uri /status #监控页面地址
stats auth vision:leaf #管理帐号和密码
stats refresh 5s #刷新频率
server web1 172.25.254.1:80 cookie app1inst1 check inter 2000 rise 2 fall 5
server web2 172.25.254.2:80 cookie app1inst2 check inter 2000 rise 2 fall 5 //要监控的两台web服务器
keepalived配置如下
! Configuration File for keepalived global_defs { notification_email { root@localhost.com } notification_email_from root@localhost.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER //另一台BACKUP interface eth0 virtual_router_id 51 priority 150 //另一个备机找个比这小的数字就好了 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.25.254.100 //作为高可用的虚拟IP } track_script { check_haproxy
opt下编辑这个脚本
vim /opt/check_haproxy.sh !/bin/bash /etc/init.d/haproxy status &> /dev/null || /etc/init.d/haproxy restart &> /dev/null if [ $? -ne 0 ];then /etc/init.d/keepalived stop &> /dev/null fi ~ //脚本是对haproxy作健康检查,配合keepalived实现服务的VIP转移后的正常访问
完成配置后就可以实验了,
两台启动服务
/etc/init.d/haproxy start
/etc/init.d/keepalived start
web 访问172.25.254.3 因为3是master所以可以访问并且转发轮询到server1. server2
关闭server3的haproxy ,然后访问172.25.254.3访问不到了这时候应该去访问server4 ,作为备机ip是172.25.254.4
可以看到转发轮询到server1. server2
ok
完结。