Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] lvs负载均衡及ha高可用集群

[复制链接]
wdlinux.cn 发表于 2010-4-4 22:34:25 | 显示全部楼层 |阅读模式
目录
一 应用背景
二 应用环境
三 安装配置
四 FAQ
一 应用背景
随着互联网应用的普及以及人们对互联网的要求也越来越高,在流量增加的同时,要求速度快,在线时间长或出故障的时间短或故障后能及时恢复等等。为了解决这些问题,各种负载均衡及集群技术应运而生
其中,LVS便是一个解决大流量分流很好的解决方案
详细请参考 http://www.linuxvirtualserver.org/zh/lvs1.html
HA(High Availability),则是高可用的意思,也可以说是双机热备双机等的应用。如在一些在线时间有特别的要求或是在故障后要在很短的时间内恢复,就有必要应用到这个ha了
本文的应用,由两台机组成的一个LVS及HA,主要是解决分流及单点故障。
如A,B机,正常情况下,A机为LVS转分机,同时又是提供web的服务机,当A机有问题时,B机接管A机的服务,同时自己也是一个web服务机。由于本文的应用中,机器数量有限,所以,将ha,lvs,realserver都放在一起了。在机器允许的情况下,最好分开,如:
LVS转发为独立一台机,再在这转发机上配置HA避免转发机故障,再用一台机来做转发及HA的备机,当主转发机故障时就可接管服务

二 应用环境
机器两台
系统为由本人基于CentOS 5.4 x86_64的定制版
可以看 http://www.wdlinux.cn/centos5.4_x86_64
heartbeat + ldirectord + lvs
结构如下:
VIP:192.168.1.90
Wd1 192.168.1.91
Wd2 192.168.1.92
三 安装
1 可以用源码安装,也可以用yum安装,用源码安装,定制性强一点,但用yum安装,很方便,如:
yum install -y heartbeat
yum install -y heartbeat-ldirectord
即可完成
2 配置(本例的配置文件沿用1.X的风格,2.X以上的功能很强大,也较复杂)
主要的配置文件有以下几个:
Authkeys
ha.cf
ldirectord.cf
haresources
文件内容
# cat authkeys
auth 1
1 crc
# cat ha.cf
#wdlinux.cn conf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility     local0
keepalive 8
deadtime 60
warntime 60
initdead 120
udpport 694
ucast eth0 192.168.1.92
auto_failback on
node    wd1
node    wd2
respawn hacluster /usr/lib/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster

# cat ldirectord.cf
#wdlinux.cn conf
checktimeout=10
checkinterval=8
fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
logfile="local0"
quiescent=no
virtual=192.168.1.90:80
        real=192.168.1.91:80 gate
        real=192.168.1.92:80 gate
        fallback=127.0.0.1:80 gate
        service=http
        request="lt.html"
        receive="Test Page"
        scheduler=wrr
        persistent=30
        protocol=tcp
        checktype=negotiate
        checkport=80

# cat haresources
Wd1 lvs IPaddr::192.168.1.90/24/eth0:0 ldirectord
wd2上的lvs脚本文件
# cat /etc/rc.d/init.d/lvs
#!/bin/bash
/sbin/ipvsadm --set 10 10 10
Wd2上的lvs脚本文件
# cat /etc/rc.d/init.d/lvs
#!/bin/bash
# wdlinux.cn
VIP=192.168.1.90
/etc/rc.d/init.d/functions
/sbin/ipvsadm --set 10 10 10
case "$1" in
        start)
        /sbin/ifconfig lo:0 down
        /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        /sbin/route add -host $VIP dev eth0:0
        ;;
        stop)
        /sbin/ifconfig eth0:0 down
        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        /sbin/route add -host $VIP dev lo:0
        ;;
        *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac
#cat /etc/hosts
192.168.1.91 wd1
192.168.1.92 wd2
cat /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
在iptables 增加一个对方IP的访问,否则在切换时会有问题
此文的连接:http://www.wdlinux.cn/ha-lvs-loadbalance
[我的Linux,让Linux更易用: http://www.wdlinux.cn Q 12571192]
原创内容,转载请保留此信息
本文的pdf下载 http://www.wdlinux.cn/doc/lvs负载均衡及ha高可用集群.pdf
Word版下载 http://www.wdlinux.cn/doc/lvs负载均衡及ha高可用集群.doc
la367 发表于 2010-4-14 16:13:17 | 显示全部楼层
谢谢分享哦。。。。。
回复

使用道具 举报

hellokai 发表于 2010-4-19 09:20:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

dongjianhua 发表于 2010-4-19 10:11:13 | 显示全部楼层
好贴 、
看过了 没有条件测试 支持下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-6-9 14:51 , Processed in 0.099930 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表