?p便式 LVS 集群架?O攻略(原??)

时间:2008-01-16 13:10:01  来源:  作者:

很多人在架?OLVS Load Balancing 都要重新???g?群?,打?a丁,十分麻?┒?且容易出?e.我在?@里?o出一??十分??易的方法去架?OLVS.?@里以直接路由DR方式?槔?子.

在?????{度的主?CLB上安?b一???群税姹?2.6.10或以上的Linux?l行版,?@里我用的是Mandriva2006.由于2.6.10以上的?群艘呀?集成IPVS,缺省???g??module,所以不需重新???g?群?.我??可以用modprobe -l 命令查看系?y中有哪些module可用.IPVS module在 /lib/modules/2.6.12-12mdksmp/kernel/net/ipv4/ipvs中.

如果我??要手?庸逸dIPVS,只需要用modprobe <module name>命令就可以,不?^我???o??手?庸逸d.下?dipvsadm管里程序,安?b.在安?bipvsadm后??自?蛹尤氲较到y的???臃??枕?目中,到系?y服?罩胁榭?ipvsadm是否已??加入. ?c?????雍?,ipvsadm??自?庸逸dIPVS module,可以用lsmod查看系?y??前所有挂?d的module.

?O置VIP,然后?O置?{度算法,算法模?K也??自?蛹虞d.加入所有真??服?掌?IP.以下是我用的?_本(假?O用?染WIP):
#!/bin/bash
VIP=192.168.0.100
RIP1=192.168.0.11
RIP2=192.168.0.12
RIP3=192.168.0.13
GW=192.168.0.1
# set the Virtual  IP Address
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
#Clear IPVS table 
/sbin/ipvsadm ?CC
#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
#Run LVS
/sbin/ipvsadm
#end

有多少台真??服?掌髦??C??自行添加, ?K且要安?bweb服?掌?.使用哪?N?{度算??按情?r配置.所有真??服?掌髦??C都要忽略ARP回??,做法是直接修改?群?????,以下是真??服?掌魃线行的?_本:
#!/bin/bash
VIP=192.168.0.100
/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/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 
sysctl -p
#end

?F在可以?y??LVS.找?滋????X用?g?捌髟L??VIP,看看所出的主??是否正常.如果用一台???X?L??的??,?L??完后要清除??存.先把主??都做到不同式??,根?????D?{度法,每次?L??的??求都??按次序分到真??服器上,所以????可以依次序看到真??服?掌魃系闹黜?.



 jackylau 回复于:2006-03-28 08:44:00

你的real server kernel是多少呀?


 JonZhao 回复于:2006-03-28 14:05:20

楼主可否描述的更详细些。
最好列出每步的详细命令。
方便大家实践。
谢谢!


 linuxunix1 回复于:2006-03-28 15:04:12

顶.


 秋风No.1 回复于:2006-03-28 16:36:21

引用:原帖由 jjstephen 于 2006-3-28 01:09 发表
很多人在架?OLVS Load Balancing 都要重新???g?群?,打?a丁,十分麻?┒?且容易出?e.我在?@里?o出一??十分??易的方法去架?OLVS.?@里以直接路由DR方式?槔?子.

在?????{度的主?CLB上安?b一???群税姹?2.6.10或以上的 ... 


有个疑问,这样的load balancing 是否能够保证session的同步?


 ljhb 回复于:2006-03-29 00:57:56

引用:原帖由 秋风No.1 于 2006-3-28 16:36 发表

有个疑问,这样的load balancing 是否能够保证session的同步? 




lvs只是做网络的转发,保持session同步时不可能的,但是针对ftp,他有一个 ip_vs_ftp的转发策略;针对http,你可以加上persistent的选项来在一定的时间内保证固定的客户端访问固定的服务器。这个策略能保证session同步。


 sniper 回复于:2006-04-05 13:36:49

session同步应该由后端的web server集群实现。
DR模式下所有的进出流量都经过负载均衡服务器,好处是与后端集群无关,架设起来自然是最简单的,但同时对负载均衡路由器提出了很高的要求,这一点不可忽略。


 mel 回复于:2006-04-26 17:09:04

引用:原帖由 ljhb 于 2006-3-29 00:57 发表



lvs只是做网络的转发,保持session同步时不可能的,但是针对ftp,他有一个 ip_vs_ftp的转发策略;针对http,你可以加上persistent的选项来在一定的时间内保证固定的客户端访问固定的服务器。这个策略能保证 ... 



http persistent在哪里设置的,带session的系统现在很多了,现在就面临这个问题


 haohaoo 回复于:2006-04-26 18:12:04

redhat-as3直接安装个rpm包也能这么做


 ljc6386613 回复于:2006-05-18 15:29:37

引用:原帖由 haohaoo 于 2006-4-26 18:12 发表
redhat-as3直接安装个rpm包也能这么做 



 我上周就用RHAS3做的LB   通过测试。。。

RS 的KERNEL版本低一点没关系的。

还有注意一点就是WIN2000做RS需要安装:

引用论坛上看到的 “VS/DR方式下,支持WindowsNT/2K做为RealServer,提是你必须安装了[color=Red][size=3]MS Loopback Adapter[/size][/color]。如果你没有在NT/2K上安装MS Loopback Adapter Driver,你可以选择添加新硬件,添加网络适配器,选择Microsoft,选择Loopback Adapter. 你可能会需要NT的安装盘。然后添加VIP (Virtual IP) 地址在 MS Loopback Adapter上, 不要输入网关gateway IP地址。子网掩码 255.255.255.255 在MS NT/2K会被认为是无效的。。。

[color=Red][size=2]解决的办法[/size][/color]

可以通过修改注册表设置子网掩码为255.255.255.255, 这在我的DR系统中工作良好。而且这比每次启动时删除外部路由的方法要方便的多。

在Windows 2000,中 网络界面(interfaces)在:

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParametersInterfaces

找到适当的网络界面IP地址,修改它的子网掩码,(注意修改方式)不需要重启,只需重新激活该网络界面即可。

不然APACHE里用Listen 加入虚拟IP之后  服务也启动不了

一点心得,呵呵,说的不对的地方请指教




原文链接:http://linux.chinaunix.net/bbs/viewthread.php?tid=725121
转载请注明作者名及原文出处


文章评论

共有 位网友发表了评论 查看完整内容