免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5119 | 回复: 8
打印 上一主题 下一主题

輕便式 LVS 集群架設攻略(原創) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-28 01:09 |只看该作者 |倒序浏览
很多人在架設LVS Load Balancing 都要重新編譯內核,打補丁,十分麻煩而且容易出錯.我在這里給出一個十分簡易的方法去架設LVS.這里以直接路由DR方式為例子.

在負責調度的主機LB上安裝一個內核版本2.6.10或以上的Linux發行版,這里我用的是Mandriva2006.由于2.6.10以上的內核已經集成IPVS,缺省編譯為module,所以不需重新編譯內核.我們可以用modprobe -l 命令查看系統中有哪些module可用.IPVS module在 /lib/modules/2.6.12-12mdksmp/kernel/net/ipv4/ipvs中.

如果我們要手動挂載IPVS,只需要用modprobe <module name>命令就可以,不過我們無須手動挂載.下載ipvsadm管里程序,安裝.在安裝ipvsadm后會自動加入到系統的啟動服務項目中,到系統服務中查看ipvsadm是否已經加入. 點擊啟動后,ipvsadm會自動挂載IPVS module,可以用lsmod查看系統當前所有挂載的module.

設置VIP,然后設置調度算法,算法模塊也會自動加載.加入所有真實服務器IP.以下是我用的腳本(假設用內網IP):
#!/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 –C
#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

有多少台真實服務器主機請自行添加, 並且要安裝web服務器.使用哪種調度算請按情況配置.所有真實服務器主機都要忽略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

現在可以測試LVS.找幾台電腦用瀏灠器訪問VIP,看看所出的主頁是否正常.如果用一台電腦訪問的話,訪問完后要清除緩存.先把主頁都做到不同式樣,根據輪轉調度法,每次訪問的請求都會按次序分到真實服器上,所以應該可以依次序看到真實服務器上的主頁.

论坛徽章:
0
2 [报告]
发表于 2006-03-28 08:44 |只看该作者
你的real server kernel是多少呀?

论坛徽章:
0
3 [报告]
发表于 2006-03-28 14:05 |只看该作者
楼主可否描述的更详细些。
最好列出每步的详细命令。
方便大家实践。
谢谢!

论坛徽章:
0
4 [报告]
发表于 2006-03-28 16:36 |只看该作者
原帖由 jjstephen 于 2006-3-28 01:09 发表
很多人在架設LVS Load Balancing 都要重新編譯內核,打補丁,十分麻煩而且容易出錯.我在這里給出一個十分簡易的方法去架設LVS.這里以直接路由DR方式為例子.

在負責調度的主機LB上安裝一個內核版本2.6.10或以上的 ...

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

论坛徽章:
0
5 [报告]
发表于 2006-03-29 00:57 |只看该作者
原帖由 秋风No.1 于 2006-3-28 16:36 发表

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



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

论坛徽章:
0
6 [报告]
发表于 2006-04-05 13:36 |只看该作者
session同步应该由后端的web server集群实现。
DR模式下所有的进出流量都经过负载均衡服务器,好处是与后端集群无关,架设起来自然是最简单的,但同时对负载均衡路由器提出了很高的要求,这一点不可忽略。

论坛徽章:
0
7 [报告]
发表于 2006-04-26 17:09 |只看该作者
原帖由 ljhb 于 2006-3-29 00:57 发表



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


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

论坛徽章:
0
8 [报告]
发表于 2006-04-26 18:12 |只看该作者
redhat-as3直接安装个rpm包也能这么做

论坛徽章:
0
9 [报告]
发表于 2010-06-17 10:47 |只看该作者
哈哈,可惜只做的80跳转。如果能做到整个机器跳转就好了。所有的数据负载平衡
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP