Chinaunix首页 | 论坛 | 博客
  • 博客访问: 528409
  • 博文数量: 81
  • 博客积分: 8020
  • 博客等级: 中将
  • 技术积分: 1085
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-08 10:36
文章分类

全部博文(81)

文章存档

2010年(3)

2009年(25)

2008年(53)

我的朋友

分类: 系统运维

2008-10-31 17:02:21

heartbeat:用于搭建双机热备环境,可以通过专门的心跳线来连接双机,也可以通过普通的网线来连接。
LVS-ipvsadm:负载均衡软件
ldirector:有两个主要功能,一是调用ipvsadm命令生成lvs的策略,二是对realserver进行健康检测

一、安装环境:
系统:
centos5.2 32位(自带内核默认支持lvs,不需要重新编译内核)
lvs:
VIP:10.129.60.199
主LVS:
主机名:l1 
eth0:10.129.60.188 掩码:255.255.255.128
eth1:192.168.23.128  掩码:255.255.255.0
缺省网关:10.129.60.129
从LVS:
主机名:l2
eth0: 10.129.60.185 掩码:255.255.255.128
eth1:192.168.23.129  掩码:255.255.255.0
缺省网关:10.129.60.129
real server:
10.129.60.197 掩码:255.255.255.128 缺省网关:10.129.60.129
10.129.60.198 掩码:255.255.255.128 缺省网关:10.129.60.129

二、lvs服务器安装配置
2.1 软件安装
#yum install ipvsadm
#yum install heartbeat
#yum install heartbeat-ldirectord
2.1 realserver软件安装
使用系统自带的apache测试
#yum install httpd
2.2 编辑LVS服务器配置文件
两台lvs服务器除了ha.cf中的ucast配置不同外,其余配置文件完全相同
#vi /etc/ha.d/ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility     local0
keepalive 2
deadtime 30
warntime 10
initdead 120
#udpport        694
ucast eth1 192.168.23.129 #从LVS配192.168.23.128
auto_failback off
node    l1 #主要node的名字必须和uname -a看到的名字一致
node    l2
ping 10.129.60.129 #网关
respawn hacluster /usr/lib/heartbeat/ipfail

#vi /etc/ha.d/haresources
l1 IPaddr::10.129.60.199/25/eth0:0 ldirectord::ldirectord.cf LVSSyncDaemonSwap::master
l2

#vi /etc/ha.d/authkeys
auth 3
3 md5 J2hjS2rf9M4j#la[wue$vxGw&h(m3T6No$f

#mkdir /etc/ha.d/conf
#vi /etc/ha.d/conf/ldirectord.cf
checktimeout=3
checkinterval=1
autoreload=yes
logfile="/var/log/ldirectord.log"
logfile="local0"
emailalert="admin@domain.com"
emailalertfreq=3600
emailalertstatus=all
quiescent=no

virtual=10.129.60.199:80
        real=10.129.60.197:80 gate
        real=10.129.60.198:80 gate
        fallback=127.0.0.1:80 gate #realserver全部失败,vip指向本机80端口。在VIP维护的时候非常有用
        service=http
        request="hb.html" #用于健康检测的url,realserver上需要建立此文件,内容需要包含work
        receive="work"    #用于健康检测的url包含的关键字
        scheduler=rr
        persistent=600
        #netmask=255.255.255.255
        protocol=tcp
        checktype=negotiate
        checkport=80
        request="hb.html"
        receive="work"
三、real server配置文件
#vi /etc/rc.local     #rc.local可以随系统一起启动
echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2">/proc/sys/net/ipv4/conf/all/arp_announce
/sbin/ifconfig lo:0 10.129.60.199 netmask 255.255.255.255 up

四、启动
4.1 lvs服务器
#/etc/init.d/heartbeat start
4.2 real server
#source /etc/rc.local
#/etc/init.d/httpd start

五、测试
主从lvs的切换命令
#/usr/lib/heartbeat/hb_takeover
有问题注意查看heartbeat的日志文件:/var/log/ha-log


阅读(2139) | 评论(6) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-12-29 22:37:17

配置 lvs+keepalived的方案的时候才不需要配置lvs 而在lvs+heartbeat+ldirectord(plugin)的时候 lvs还是需要配置 的

chinaunix网友2009-04-30 11:20:21

heartbeat[13008]: 2009/04/30_09:54:25 ERROR: /usr/share/heartbeat/ResourceManager takegroup IPaddr::10.0.10.60/24/eth0:1 ldirectord::ldirectord.cf LVSSyncDaemonSwap::master exited with return code 1 haresources文件配置是不是有问题呢?

netocool2009-04-30 11:19:24

你的lvs服务器时候需要绑定浮动IP地址呢? 还有你的haresources文件配置能说明一下吗?

netocool2009-04-30 10:26:36

你的标题是不是有点问题?实际上你的实现方法是使用了heartbeat+ldirectord来实现群集,使用了ldirectord就不需要配置ipvsadm了.

netocool2009-04-29 23:40:19

正需要,非常感谢哦