利用linux lvs 的DR 模式 实现 CENT OS 4.4 三台linux 主机的 http 负载均衡, 详细安装步骤:

一. 准备工作:
1. vmware workstaion 5.0 可以装 三个linux 在windows 上面。如果你有多台pc 就可不用它
vmware 5.0 序列号,总有一个适合你
--------------仅共参考!!!
for windows :6A8J6-FTJM7-L8Q15-48H98
WC9WN-N2U0G-804FG-4M8N6
E2EU9-XYV26-Z2NFA-4Y9N3
XLWPN-W476D-68NDF-5PTX3
X24FW-90T4M-H8H6C-4MDX7
6A8L6-F2TQJ-LE7DP-4T1V0
KJWPN-FKT48-505FK-4RHL0
60EVK-FV5PK-L42F6-4KHUD
T2405-V27DD-A8M6A-4WXQK
ELH4M-66LFV-D81DA-4PRXP
68T4X-WHKDE-8A0FA-4YWZ2
H2EMX-L0H8D-42MDA-4YWXL
R21PR-FWJAC-F00DU-4YRQ7
TR1YE-5HMDW-90H4G-4M8X6

2. CENTOS 4.4 (它是redhat linux 4 完全源代码重新编译,可免费升级,很棒哟)
下载: http://isoredirect.centos.org/centos/4/isos/i386/
只下载 1,2,3,4 张.iso 就可以了。
3. ipvsadm-1.24.tar.gz
http://www.linuxvirtualserver.org/software/ipvs.ht ml

二. 开始安装:

1. 安装 CENT OS 4.4 在vmware中。
我是选择了 xwindows system, GNOME desktop environment,
KDE K DESKTOP environment, development tools, x software development,
gnome software development, kde software development. web server.
2. 安装完成后,copy 操作系统. 生成第二个,第三个操作系统。
3. 三个操作系统的ip 分别 为:
(lvs server) 192.168.1.231
255.255.255.0
192.168.1.1 (gw)

(real server) 192.168.1.232
255.255.255.0
192.168.1.1 (gw)

(real server) 192.168.1.232
255.255.255.0
192.168.1.1 (gw)
4. 进入192.168.1.231 检查kernel 中已经包含 ipvs 模块
modprobe -l |grep ipvs
如果看到如下,就可以了,如果没有还要重编内核,选 上ipvs 模块。
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_wlc.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_dh.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_sed.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_wrr.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_lc.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_rr.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_nq.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_lblcr.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_ftp.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_sh.ko
/lib/modules/2.6.9-42.EL/kernel/net/ipv4/ipvs/ip_vs_lblc.ko

5. 进入 192.168.1.231 安装 ipvsadm-1.24.tar.gz, 其它的real server 不用安装此软件
#tar xzf ipvsadm-1.24.tar.gz
#cd ipvsadm-1.24
#make
#make install
# ipvsadm --help 如果看到提示帮助就表成功。

# chkconfig httpd on
# service httpd start
6. 进入 192.168.1.231
#ifconfig eth0:0 192.168.1.230 netmask 255.255.255.255 broadcast 192.168.1.230 up // 配置
虚拟ip 192.168.1.230 , 它是提供对外的http 服务 的ip .
#echo 1 > /proc/sys/net/ipv4/ip_forward // 让其有ip 转发功能
#ipvsadm -A -t 192.168.1.230:80 -s wlc //add virtual service
#ipvsadm -a -t 192.168.1.230:80 -r 192.168.1.232 -g // add real server
#ipvsadm -a -t 192.168.1.230:80 -r 192.168.1.233 -g // add real server

把以上五句写在 /etc/rc.local 最后,避免重启后再输入。
ipvsadm -l 是列出清单。
ipvsadm -d -t 192.168.1.230:80 -r 192.168.1.233 // 是删除 real server 192.168.1.233

7. 进入 192.168.1.232
#ifconfig lo:0 192.168.1.230 netmask 255.255.255.255 broadcast 192.168.1.230 up
# route add -host 192.168.1.230 dev lo:0
把以上二句写 /etc/rc.local 最后,避免重启再输入。
# echo ' the site is 192.168.1.232' > /var/www/html/index.html
# chkconfig httpd on
# service httpd start

8. 进入 192.168.1.233
#ifconfig lo:0 192.168.1.230 netmask 255.255.255.255 broadcast 192.168.1.230 up
# route add -host 192.168.1.230 dev lo:0
把以上二句写 /etc/rc.local 最后,避免重启再输入。
# echo ' the site is 192.168.1.233' > /var/www/html/index.html
# chkconfig httpd on
# service httpd start

三. 测试:
1. 在另外的pc 上面访问 http://192.168.1.230
不断刷新浏览器, 如果看到不同的页面,就表示成功了,
可能有的浏览器需要清除cache. 如果不行,
就等一段时间再关闭,打开浏览器再试。

Forums:

这是技术网站,请把序列号部分的内容删除吧.

现在 IPVS都直接包含在内核里了?
寒——

用你的方法配置成功了,但是用VIP的IP地址访问是正常的,如果用域名就不访问(在hosts里加),这是什么问题?而且两个real server的apche配置文件里的ServerName 和我hosts里的是一样的。

用你的方法配置完成后,为什么只能访问一个IP地址的站点。谢谢。

我看了你的DR很兴奋,但是当看完整个文档的时候 我觉得你做的是DR,你只是做了nat !请纠正!
LVS有三种模式nat TUN 和DR,你只是做了nat!

U9小鹏

randomness