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) |