歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 利用LVS快速實現負載均衡

利用LVS快速實現負載均衡

日期:2017/2/27 15:59:20   编辑:Linux教程

模型一:NAT模型的配置實驗環境:

采用VMware虛擬機,版本6.0.5

操作系統:Red Hat Enterprise Linux 5 (2.6.18)

虛擬機1:充當Director:網卡1(橋接):192.168.0.33(對外),網卡2(Vmnet):10.0.0.1(對內)

虛擬機2:充當RS1:IP:10.0.0.11

虛擬機3:充當RS2:IP:10.0.0.12

設置工作環境:

    # 在Director上安裝ipvsadm
    yum install ipvsadm 

    # 在RS1和RS2上這樣配置
    yum install httpd mysql-server php php-mysql php-mbstring 
    route add default gw 10.0.0.1 
    hostname localhost 

    # 在RS1上配置網頁
    echo “<h1>RealServer1</h>” > /var/www/html/index.html 

    # 在RS2上配置網頁
    echo “<h1>RealServer2</h>” > /var/www/html/index.html 

    # 分別在RS1和RS2上開啟服務
    server httpd start 

    # 在Director上開啟路由轉發功能
    echo 1 > /proc/sys/net/ipv4/ip_forward 

    # 在Director上配置ipvs的定義:使用模式以及算法 
    ipvsadm -A -t 192.168.0.33:80 -s rr 
    ipvsadm -a -t 192.168.0.33:80 -r 10.0.0.11 -m 
    ipvsadm -a -t 192.168.0.33:80 -r 10.0.0.12 -m 
    ipvsadm -L -n 

clip_image002

於是我們進入浏覽器,進入主機看是否響應

clip_image004

我們發現當我們刷新的時候,的確出現了不同的頁面,也就是我們的系統在內部的確實現了調度

clip_image006

回到終端,查看我們ipvsadm的狀態。發現的確它的InActConn值很平均,的確在按照RR算法進行調度

clip_image008

改為WLC算法,查看權重信息:

    # 在Director上修改算法以及權重信息  
    ipvsadm -E -t 192.168.0.33:80 -s wlc  
    ipvsadm -e -t 192.168.0.33:80 -r 10.0.0.11 -m -w 3  ## 權重定義為3:1  

    # 我們在另一台主機上使用Apache自帶的ab命令進行壓力測試 
    ab -c 10 -n 10000 http://192.168.0.33/index.html 

查看檢測內容:

clip_image010

改為sed算法,查看的效果,的確如Sed算法特點的那樣加大大權重的使用率,於是……

clip_image012

同理修改為NQ算法的效果,在權重比相差懸殊的情況下不讓權重高的一直響應而導致低權重的完全空閒的機制

clip_image014


模型二:DR模型的配置

實驗環境:

采用VMware虛擬機,版本6.0.5

操作系統:Red Hat Enterprise Linux 5 (2.6.18)

虛擬機1:Director:

DIP配置在接口上 172.16.19.10

VIP配置在接口別名上:172.16.19.1

虛擬機1:RS1:RIP配置在接口上:172.16.19.11 ;VIP配置在lo別名上

虛擬機2:RS2:RIP配置在接口上:172.16.19.12 ;VIP配置在lo別名上

    # 我們在Director上這樣配置
    ifconfig eth0 172.16.19.10/16 
    ifconfig eth0:0 172.16.19.1 broadcast 172.16.19.1 netmask 255.255.255.255 up 
    route add -host 172.16.19.1 dev eth0:0 
    echo 1 > /proc/sys/net/ipv4/ip_forward 

    # RS1和RS2配置屬於自己的ip之後都要:定義內核參數,禁止響應對VIP的ARP廣播請求 
    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 

    # 配置VIP 
    ifconfig lo:0 172.16.19.1 broadcast 172.16.19.1 netmask 255.255.255.255 up 
    # 凡是到172.16.19.1主機的一律使用lo:0響應 
    route add -host 172.16.19.1 dev lo:0  

    # 在Director上配置Ipvs 
    ipvsadm -A -t 172.16.19.1:80 -s wlc 
    ipvsadm -a -t 172.16.19.1:80 -r 172.16.100.11 -g -w 2 
    ipvsadm -a -t 172.16.19.1:80 -r 172.16.100.12 -g -w 4 
    ipvsadm -Ln 

clip_image002[6]

我們對172.16.19.1訪問查看wlc算法的實現結果

clip_image004[5]

OK,通過這樣的實現,我想已經可以完整的明白LVS的理論實現過程了。

Copyright © Linux教程網 All Rights Reserved