192.168.0.34,192.168.0.35,192.168.0.36,192.168.0.37四台服务器 192.168.0.37是nas 34,35,36 运行得email 服务。 在37上做了一个调度器来分配服务 80,25,110 端口的服务到34,35,36 上。 具体配置: 在37 服务器上,首先装了一个ipvsadm的rpm 包 yum install ipvsadm #获得ipvsadm软件,负责负载均衡,轮循请求到后台服务 然后些这个教本 参考别人写的。采用的是直接路由的模式。 #!/bin/bash VIP=192.168.0.38 RIP1=192.168.0.34 RIP2=192.168.0.35 RIP3=192.168.0.36 GW=192.168.0.33 #Clear IPVS table /sbin/ipvsadm -C /sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up /sbin/route add -host $VIP dev eth0:0 #set LVS /sbin/ipvsadm -A -t $VIP:80 -s rr /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g /sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -g /sbin/ipvsadm -A -t $VIP:25 -s rr /sbin/ipvsadm -a -t $VIP:25 -r $RIP1:25 -g /sbin/ipvsadm -a -t $VIP:25 -r $RIP2:25 -g /sbin/ipvsadm -a -t $VIP:25 -r $RIP3:25 -g /sbin/ipvsadm -A -t $VIP:110 -s rr /sbin/ipvsadm -a -t $VIP:110 -r $RIP1:110 -g /sbin/ipvsadm -a -t $VIP:110 -r $RIP2:110 -g /sbin/ipvsadm -a -t $VIP:110 -r $RIP3:110 -g #Run LVS /sbin/ipvsadm #end 内容是192.168.0.38 是虚拟地址 192.168.0.34,35,36 为真正服务器。做80,25,110 端口的负载。 34,35,36 分别了/home/test.sh 教本 #!/bin/bash VIP=192.168.0.38 /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up /sbin/route add -host $VIP dev lo:0 echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter echo 1 > /proc/sys/net/ipv4/conf/lo/arp_filter sysctl -p #end 这个脚本的作用是过滤arp 包的,或者编辑/etc/sysctl.conf修改系统变量 net.ipv4.conf.lo.arp_ignore=1 net.ipv4.conf.lo.arp_announce=2 net.ipv4.ip_forward = 1 sysctl –p #配置生效 http://www.vergenet.net/linux/ldirectord/ 下载lddirectord 这个软件是个监控软件。 07年前,可以使用以下方式下载,目前已经失效 {cvs -d:pserver:guest@cvs.linux-ha.org:/home/cvs/linux-ha login cvs -z3 -d:pserver:guest@cvs.linux-ha.org:/home/cvs/linux-ha co linux-ha/} 当前(20090906)可用链接 http://hg.linux-ha.org/lha-2.1/archive/STABLE-2.1.4.tar.bz2 然后写了一个配置文件 ldirectord.cf checktimeout=3 checkinterval=1 #fck=127.0.0.1:80allback=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.38:80 real=192.168.0.34:80 gate real=192.168.0.35:80 gate real=192.168.0.36:80 gate fallback=127.0.0.1:80 service=http request="test.html" receive="Test Page" virtualhost=www.shiming.gov.cn scheduler=rr persistent=600 netmask=255.255.255.255 protocol=tcp virtual=192.168.0.38:25 real=192.168.0.34:25 gate real=192.168.0.35:25 gate real=192.168.0.36:25 gate fallback=127.0.0.1:25 service=smtp scheduler=rr persistent=600 protocol=tcp virtual=192.168.0.38:110 real=192.168.0.34:110 gate real=192.168.0.35:110 gate real=192.168.0.36:110 gate fallback=127.0.0.1:110 service=pop scheduler=rr login="testemail" passwd="emailtest" persistent=600 protocol=tcp 这就是监控得东西。 ldirectord /etc/ldirectord.cf start ldirectord /etc/ldirectord.cf stop tail -f /var/log/ldirectord.log 这个是log 查看lvs服务是否正常 watch ipvsadm -l -n Every 2.0s: ipvsadm -l -n Sun Sep 6 19:39:51 2009 IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.105:80 rr -> 192.168.0.104:80 Route 1 0 0 -> 192.168.0.103:80 Route 1 0 0 TCP 192.168.0.105:3306 rr -> 192.168.0.104:3306 Route 1 0 0 -> 192.168.0.103:3306 Route 1 0 0 参考: http://bbs.chinaunix.net/viewthread.php?tid=1148139 http://www.linuxvirtualserver.org/ ------分隔线---------------------------- 上一篇:CentOS下LVS(DR)+ldirectord 实现负载平衡 下一篇:HAproxy+keepalived+mysql高可用性Linux系统集群 收藏举报推荐打印发表评论 关闭- 关闭- (责任编辑:IT) |