1,配置LVS机器:
在ubuntu server 10.4 默认安装是没有安装ipvsadm软件包的,在网上看了很多教程,都要编辑内核,但现在2.6.32内核已经不需要再编辑了。
#sudo apt-get install ipvsadm
会提示 please run dpkg –reconfigure ipvsadm
#sudo dpkg–reconfigure ipvsadm (dpkg与-reconfigure是连到一起中间没空格)
<a href="http://xuchengji.blog.51cto.com/attachment/201006/3/160472_1275551940lZfH.png"></a>
<a href="http://xuchengji.blog.51cto.com/attachment/201006/3/160472_1275551941E2Ov.png"></a>
<a href="http://xuchengji.blog.51cto.com/attachment/201006/3/160472_1275551942yAU9.png"></a>
#sudo ifconfig eth0:0 192.168.3.100 netmask 255.255.255.255 broadcast 192.168.3.100
#sudo route add –host 192.168.3.100 dev eth0:0
#sudo ipvsadm –A –t 192.168.3.100:80 –s rr
#sudo ipvsadm –a –t 192.168.3.100:80 –r 192.168.3.20 –g
#sudo ipvsadm –a –t 192.168.3.100:80 -r 192.168.3.30 –g
#sudo ipvsadm –save
*:这里rr表示ipvsadm的8种算法中的轮询,做实验选这个算法,效果比较明显。-g,就是lvs的三种模式中的LVS-DR模式。-i 就是遂道LVS-TUN.为什么eth0:0的broadcast就是它的IP,因为他的netmask为/32.(the VIP is a /32 addr, so the brd addr is the VIP, not x.x.x.255.)
修改/etc/sysctl.conf
net.ipv4.ip_forward=0
net.ipv4.conf.all.send_redirects=1
net.ipv4.conf.default.send_redirects=1
net.ipv4.conf.eth0.send_redirects=1
#sudo sysctl -p
2,配置实机rs2,rs3为如下
#sudo ifconfig lo:0 192.168.3.100 netmask 255.255.255.255 broadcast 192.168.3.100
#sudo route add –host 192.168.3.100 dev lo:0
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
#sudo sysctl –p
把rs2,rs3的/var/www下的index.html的内容修改为“this is rs2”,”this is rs3”,当访问时区别访问的是那台机器,查看实验是否成功。
以下这个博客也很好的讲解了LVS,可以参考。
<a href="http://hi.baidu.com/fengyezhidu/blog/item/08338050e94a345a1138c278.html">http://hi.baidu.com/fengyezhidu/blog/item/08338050e94a345a1138c278.html</a>
*:
用firefox浏览器,在地址栏中输入:about:config,找到network.http.keep-alive 把值修改为false,利于查看实验结果。
本文转自xcjgutong 51CTO博客,原文链接:http://blog.51cto.com/xuchengji/326059