Ubuntu Server 10.4下LVS

目标:负载均衡器LVS(ip为:192.168.3.10,虚拟IP为:192.168.3.100),实机两台分别为rs2(ip为:192.168.3.20),rs3(ip为192.168.3.30),这三台机器都安装一块网块,实机上安装apache。在一客户端cs(ip为:192.168.3.1)上访问,会轮流访问两台实机,则实验成功。

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是连到一起中间没空格)

Ubuntu Server 10.4下LVS-DR实验

Ubuntu Server 10.4下LVS-DR实验

Ubuntu Server 10.4下LVS-DR实验

#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
修改/etc/sysctl.conf
net.ipv4.ip_forward=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”,当访问时区别访问的是那台机器,查看实验是否成功。

在实验过程中:刚开始没有修改实机rs2,rs3下的/etc/sysctl.conf,在访问时,有时能轮流的访问rs2,rs3,有时不能,修改后,发现效果很好,达到实验目标。

为什么要修改可以参考以下的内容,专门讲解了关于LVS的 ARP ,也有专门讲解了在LVS-DR模式中ARP问题及如何去解决ARP问题,也有arp_ingnore,arp_announce具体的意思。

要想深入学习LVS,必须要看这个LVS-HOWTO
*:
用firefox浏览器,在地址栏中输入:about:config,找到network.http.keep-alive 把值修改为false,利于查看实验结果。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyzdws.html