美文网首页
lvs(2)

lvs(2)

作者: StarShift | 来源:发表于2016-12-24 15:03 被阅读65次

    标:负载均衡器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)上访问http://192.168.3.100,会轮流访问两台实机,则实验成功。
    1,配置LVS机器:

    #sudo apt-get install ipvsadm
    会提示 please run dpkg –reconfigure ipvsadm
    #sudo dpkg–reconfigure ipvsadm (dpkg与-reconfigure是连到一起中间没空格)
    
    #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,在访问http://192.168.3.100时,有时能轮流的访问rs2,rs3,有时不能,修改后,发现效果很好,达到实验目标。为什么要修改可以参考以下http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.arp_problem.html的内容,专门讲解了关于LVS的 ARP ,也有专门讲解了在LVS-DR模式中ARP问题及如何去解决ARP问题,也有arp_ingnore,arp_announce具体的意思。要想深入学习LVS,必须要看这个LVS-HOWTO

    相关文章

      网友评论

          本文标题:lvs(2)

          本文链接:https://www.haomeiwen.com/subject/cinhvttx.html