当前位置: 主页 > 环境部署 > 负载均衡 >

haproxy+keepalied 7层负载均衡高可用

时间:2013-04-23 11:56来源:www.shencan.net 作者:shencan 点击:
先说下这个架构设计的缘由吧 网上这样的资料 很多 可能很多人 都不知道为啥要这样设计 1.这是2个软件 就是一个组合而已 并不是 硬要把这2个软件 都安装 (学这个之前先了解一下 这
欢迎大家分享自己的文档,请点击查阅:分享方法,Linux系统运维
如果你喜欢这文章,可以点击文章结尾处百度分享,分享到你的各种社区收藏,或推荐给朋友……


先说下这个架构设计的缘由吧  网上这样的资料 很多   可能很多人 都不知道为啥要这样设计

1.这是2个软件  就是一个组合而已  并不是 硬要把这2个软件 都安装 (学这个之前先了解一下 这 2个软件的用途就知道了)  一个是高可用软件  一个是负载均衡软件(4 7 层都可以做)

2.haproxy 负责负载均衡的活   keepalive 负责高可用(故障切换  就是down了一台设备或者该台设备服务不可用了 就把VIP切走)

安装吧

haproxy 安装

去官网下载安装包 安装就行  没技术含量  (别缺包就行 不然得排错了)   关于配置 默认配置就能起来  改下backend 后端设备就行 (咱们公司是rpm包安装)   下次有时间讲下haproxy的配置吧

useradd haproxy -d /export/servers/haproxy/ -s /sbin/nologin
tar zxvf haproxy-1.4.10.tar.gz
cd haproxy-1.4.10
make CPU=GenuineIntel TARGET=linux26 ARCH=x86_64  USE_USE_EPOLL=1 PREFIX=/usr/lcoal/haproxy
make install PREFIX=/usr/lcoal/haproxy

keepalived 安装

tar fxz  keepalived-1.2.7.tar.gz  && cd  keepalived-1.2.7  && LIBS= && CFLAGS=  && ./configure –prefix=/usr/local/keepalived  && make -j 8 && make -j 8 install

包里面好像有 2个 keepalived文件  分别放到/etc/sysconfig/keepalived  /etc/init.d/keepalived  别放错了  用途都知道吧

然后改下/etc/keepalived.conf

vrrp_script chk_haproxy {
script “bash /usr/local/bin/haproxy_check.sh”   #这个是keepalived的一直调用外部脚本探测功能 比较实用
interval 2
weight 2
}
vrrp_instance VIP_1 {
interface bond0  #VIP监听网卡
state MASTER  #主备份类型   我们做的都是主  让下面的priority值来决定谁才是真正的主
virtual_router_id 10   #主备一样
priority 100    #优先级
virtual_ipaddress {
222.73.233.190  #虚拟的VIP1
}
track_script {
chk_haproxy #调用上面的脚本
}
}
#vrrp_instance VIP_2 {
#        interface bond0
#        state MASTER
#        virtual_router_id 20
#        priority 100
#        virtual_ipaddress {
#                120.192.86.254
#        }
#        track_script {
#                chk_haproxy
#        }
#}

cat /usr/local/bin/haproxy_check.sh   #看下这个脚本内容吧  意思就是检测haproxy进程在不(当然你也可以自己写 7层探测 ) 不在就起一下  然后2s后再判断下  如果起来了 那没事了 如果刚才没起来 那赶紧把keepalived给down了  让切到其他设备上去
#!/bin/bash
_ha=`ps -C haproxy –no-header|wc -l`
if [ $_ha -eq 0 ]
then
service haproxy start
echo “” >/dev/null
sleep 2
if [ `ps -C haproxy --no-header|wc -l` -eq 0 ]
then
service keepalived stop
fi
fi

 

 

总结下吧

 

haproxy 安装配置 很简单 (需求不同 配置也不通  个人觉得核心配置在 4 7 层ACL 跟 探测那块)  没事的自己看看官方手册

 

keepalived 这个高可用软件 很方便(比heabert* 单词不记得了) 因为他就改一个配置文件就行 (后面讲 LVS+keepalived 后面带DNS吧  我们公司的架构是 LVS+heartbeat)

转载请注明linux系统运维
http://www.linuxyw.com/linux/fuzaijunheng/20130423/118.html

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片