Chinaunix首页 | 论坛 | 博客

  • 博客访问: 916261
  • 博文数量: 226
  • 博客积分: 10077
  • 博客等级: 上将
  • 技术积分: 2708
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-25 14:36
文章分类

全部博文(226)

文章存档

2010年(15)

2009年(82)

2008年(129)

我的朋友

分类: LINUX

2009-09-04 16:29:30

debian+ipvsadm+heartbeat+ldirectord LVS NAT均衡负载
2008-10-23 10:03


简单拓扑图:

lvs机器:

   真实IP:192.168.0.236

   虚拟IP:192.168.0.237 -->对外提高WEB服务

      192.168.2.1--->内网网关

more..
less.. REAL机器:
REAL1 IP:192.168.2.11
   GW:192.168.2.1
REAL2 IP:192.168.2.12
   GW:192.168.2.1


详细设置步骤:
============================================
REAL机器上:

REAL1 设置IP,设置路由,设置WEB,提供WEB服务.index.html内容为:192.168.2.11   测试可以正常访问
REAL2 设置IP,设置路由,设置WEB,提供WEB服务.index.html内容为:192.168.2.12   测试可以正常访问


LVS机器上:
1.安装heartbeat,ipvsadm 软件
#apt-get install heartbeat
#apt-get install ipvsadm
#apt-get install ldirectord   //主要是用来监视各个真实服务器的状态的,专门用来和lvs调度器配合,使ipvsadm真正的完美起来的工具


2./etyc/ha.d/目录下: ha.cf,haresources,authkeys   三个主要的配置文件debian用apt-get install 安装后是没有这三个文件的,需要到源码中去找
下载heartbeat-2.1.2.tar.gz,上传到LVS服务器.
#tar -zxvf heartbeat-2.1.2.tar.gz
#cd heartbeat-2.1.2
#cd doc
#cp ha.cf haresources authkeys /etc/ha.d/
3. 修改认证配置文件/etc/ha.d/authkeys
   将该文件权限改成600
   auth 2
   2 crc
共有三种可用的鉴权方式:crc、md5和sha1。三种方式安全性依次提高,但同时占用的系
统资源也依次扩大。crc安全性最低,适用于物理上比较安全的网络,sha1提供最为有效的鉴权方式,占用的系统资源也最多。
最后,该authkeys文件的文件许可权应该设为600(即-rw-------)

4.修改/etc/ha.d/ha.cf
   logfile /var/log/ha_log/ha-log.log    # ha的日志文件记录位置。如没有该目录,则需要手动添加
   logfacility local0

   node   lvs
   node   real1
   node   real2     说明:节点名称与uname –n保持一致。
   keepalive 2     设定心跳(监测)时间时间为2秒 //没用热备,所以改参数基本上没用.
   deadtime 20     超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡
   warntime   10 超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中,这个也没有设置
   initdead 30 在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。
   udpport 694 设置广播通信使用的端口,694为默认使用的端口号。
   auto_failback on     heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。在该 选项设为on的情况下,一旦主节点恢复运行,则自动获取. //在此没用到改项.

   bcast    eth0   说明:采用eth0的udp广播用来发送心跳信息,建议在副节点不只一台时使用
   respawn hacluster /usr/lib/heartbeat/ipfail  

5.配置ldirectord
它的配置文件在:heartbeat-2.1.2.tar.gz 中   cp heartbeat-2.1.2/ldirectord/ldirectord.cf /etc/ha.d/
# Global Directives
checktimeout=3
checkinterval=1
#fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
quiescent=yes

# A sample virual with a fallback that will override the gobal setting
virtual=192.168.0.237:80
   real=192.168.2.11:80 masq   //gate为直接路由模式,ipip为隧道模式,masq为NAT模式
   real=192.168.2.12:80 masq
   #fallback=127.0.0.1:80 masq
   service=http
   request="index.html"
   receive="Test Page"
   scheduler=wlc
   #persistent=600
   #netmask=255.255.255.255
   protocol=tcp



6.设置转发规则:
#ipvsadm -C
#/sbin/ipvsadm -A -t 192.168.0.237:http -s wlc
#/sbin/ipvsadm -a -t 192.168.0.237:http -r 192.168.2.11:http -m -w 1
#/sbin/ipvsadm -a -t 192.168.0.237:http -r 192.168.2.12:http -m -w 1
#/etc/init.d/ipvsadm save   //默认是保存到/etc/ipvsadm.rules.

7.在/etc/rc.local里添加下面内容:
/etc/init.d/ipvsadm restart   //确保ipvsadm启动
/etc/init.d/ipvsadm load /etc/ipvsadm.rules   //加载规则
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects

8.启动heartbeat ipvsadm   ldirectord
查看/etc/rc3.d/是否有三者的启动连接.一般类似:S20ipvsadm   S20ldirectord   S75heartbeat .
有,则当系统启后自动启动.

9.测试
访问
,查看#ipvsadm,查看/etc/log/ha-log
停掉192.168.2.11 访问
查看#ipvsadm,查看/etc/log/ha-log
停掉192.168.2.12 访问
查看#ipvsadm,查看/etc/log/ha-log

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