集羣——lvs實驗篇

NAT模式實驗:

CIP:192.168.100.101/24(vmnet5)

VIP:192.168.100.100/24(vmnet5)

DIP:172.16.100.1/16/eth0  (vmnet1)

RIP1:172.16.100.15/16/eth0(vmnet1)

RIP2:172.16.100.16/16/eth0(vmnet1)


RS上的操作:

    準備httpd服務,並且準備不同的頁面。

    設定RS的網關指向DIP

Director上的操作:

    # vim /etc/sysctl.conf

        net.ipv4_forword = 1

    # sysctl -p

    # ipvsadm -A -t 192.168.100.100:80 -s rr

    # ipvsadm -a -t 192.168.100.100:80 -r 172.16.100.15 -m

    # ipvsadm -a -t 192.168.100.100:80 -r 172.16.100.16 -m

    # ipvsadm -Ln --stats

客戶端的操作:

    # elinks http://192.168.100.100/index.html


DR模型:

(1)當VIP和DIP、RIP在同一個網段內時:(包括客戶端均爲VMNET1)

    Director:

        DIP:172.16.100.1/16/eth0 

        VIP:172.16.100.11/32/eth0:0

    RS1:

        RIP:172.16.100.15/16/eth0

        VIP:172.16.100.11/32/lo

    RS2:

        RIP:172.16.100.16/16/eth0

        VIP:172.16.100.11/32/lo

    CIP:172.16.100.101/16


RS1上的操作:

        # echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

        # echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

        # echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 

        # echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 

        # ifconfig lo:0 172.16.100.11 broadcast 172.16.100.11 netmask 255.255.255.255 up

        # route add -host 172.16.100.11 dev lo:0(使得數據報文無論從哪個網卡出去,IP地址都是VIP)

        RS2上的操作同上,而且準備不同的web頁面。

Director上的操作:

    # ifconfig eth0:0 172.16.100.11 broadcast 172.16.100.11 netmask 255.255.255.255 up

    # ipvsadm -A -t 172.16.100.11:80 -s rr

    # ipvsadm -a -t 172.16.100.11:80 -r 172.16.100.15 -g

    # ipvsadm -a -t 172.16.100.11:80 -r 172.16.100.16 -g

客戶端操作:

    # elinks http://172.16.100.11/index.html(此時Director上無法訪問)

  

(2)當VIP和DIP、RIP不在同一個網段內時:(包括客戶端均爲VMNET1)

    Director:

        DIP:172.16.100.1/16/eth0

        VIP:192.168.100.11/32/eth0:0

    RS1:

        RIP:172.16.100.15/16/eth0

        VIP:192.168.100.11/32/lo

    RS2:

        RIP:172.16.100.16/16/eth0

        VIP:192.168.100.11/32/lo

    CIP:192.168.100.101/16


RS1上的操作:

        # echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

        # echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

        # echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 

        # echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

        # ifconfig lo:0 192.168.100.11 broadcast 192.168.100.11 netmask 255.255.255.255 up

        # route add default gw 172.16.100.17

        # route add -host 192.168.100.11 dev lo:0

添加RS的網關設備:

        # ifconfig eth0 172.16.100.17

        # ifconfig eth0:0 192.168.100.17

        # vim /etc/sysctl.conf

            net.ipv4_forword = 1

        # sysctl -p

        #如果可能的話還可以給這個路由設備添加一個網關

        RS2相同的操作

Director上的操作:

        # ifconfig eth0:0 192.168.100.11

        # ipvsadm -A -t 192.168.100.11:80 -s wrr

        # ipvsadm -a -t 192.168.100.11:80 -r 172.16.100.15 -g

        # ipvsadm -a -t 192.168.100.11:80 -r 172.16.100.16 -g


LVS的持久連接:

    將http和https服務綁定爲一個服務,使得客戶端在這兩個服務間切換時總是在一個服務器上。

    這裏實用上面DR模型不在同一網段的網絡環境:

RS上的操作:

    首先添加https服務:http://caduke.blog.51cto.com/3365689/1383604

    但是需要注意的是安裝mod_ssl時會同時安裝httpd服務,會覆蓋掉編譯安裝的httpd在/etc/httpd中的配置文件。

    其他不需要變動

Director上的操作:

    # iptables -t mangle -A PREROUTING -d 192.168.100.11 -p tcp --d

port 80 -j MARK --set-mark 9

    # iptables -t mangle -A PREROUTING -d 192.168.100.11 -p tcp --dport 443 -j MARK --set-mark 9

    # ipvsadm -A -f 9 -s wrr -p 

    # ipvsadm -a -f 9 -r 172.16.100.15 -g -w 1

    # ipvsadm -a -f 9 -r 172.16.100.16 -g -w 2

    

    

        

        

        




            


 



  

    


    


    








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章