LVS集羣:ipvsadm使用及VS/NAT實現

一、ipvs與ipvsadm

   ipvs稱之爲IP虛擬服務器(IP Virtual Server,簡寫爲IPVS)。是運行在LVS下的提供負載平衡功能的一種技術。

   ipvs是LVS的關鍵,因爲LVS的IP負載平衡技術就是通過ipvs模塊(已經整合進kernel)來實現的,ipvs是LVS集羣系統的核心軟件,它的主要作用是:安裝在Director Server上,同時在Director Server上虛擬出一個IP地址,用戶必須通過這個虛擬的IP地址訪問服務。這個虛擬IP一般稱爲LVS的VIP,即Virtual IP。訪問的請求首先經過VIP到達負載調度器,然>後由負載調度器從Real Server列表中選取一個服務節點響應用戶的請求。

   ipvs具體實現是由ipvsadm這個程序來完成,因此判斷一個系統是否具備ipvs功能,只需要察看ipvsadm 程序是否被安裝。察看ipvsadm程序最簡單的辦法就是在任意路徑執行命令ipvsadm。

   ipvsadm規則使用格式:

#ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p
[timeout]] [-M netmask]
    -A: 添加一個集羣服務
    -E:修改定義過的集羣服務
        -t: tcp
        -u: udp
        -f: firewall mark通常用於將兩個或以上的服務綁定爲一個服務進行處理時使用;                                                                                                                         
      service-address:
           -t IP:port
           -u ip:port
           -f firewall_mark                                                                                                                          
        -s 調度方法,默認爲wlc
            這樣幾個選項:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq                                                                                                                         
        -p timeout: persistent connection, 持久連接,自同一個客戶的多次請求,將被同一臺真實的服務器處理。timeout 的默認值爲300 秒 
     M  netmask :persistent granularity mask         
#ipvsadm -D -t|u|f virtual-service-address
    刪除指定的集羣服務
#ipvsadm -C
    清空所有的集羣服務
#ipvsadm -R
    載入指定的規則:(使用輸入重定向)
#ipvsadm -S [-n]
    保存規則:(使用輸出重定向)
#ipvsadm -a|e -t|u|f service-address:port -r real-server-address:port
[-g|i|m] [-w weight]
    -a:向指定的CS中添加RS
    -e: 修改指定的RS屬性
         -t|-u|-f service-address:指明將RS添加至哪個Cluster Service中
         -r: 指定RS,可包含{IP[:port]},只有支持端口映射的LVS類型才允許此處使用跟集羣服務中不同的端口
        LVS類型:
                -g: Gateway, DR
                -i: ipip, TUN
                -m: masquerade, NAT
    -w weight 真實服務器的權值
#ipvsadm -d -t|u|f service-address -r server-address
    刪除指定的RS
#ipvsadm -L|l [options]
     -L [options]:查看規則
        -n: 數字格式顯示IP地址
        -c: 顯示連接數相關信息
        --stats: 顯示統計數據
        --rate: 速率
        --exact:顯示統計數據的精確值
#ipvsadm -Z [-t|u|f service-address]
    -Z: 計數器清零;
#ipvsadm --set tcp tcpfin udp
    設置連接超時值
#ipvsadm --start-daemon state [--mcast-interface interface]
    啓動同步守護進程。他後面可以是master 或backup,用來說明LVS Router 是master 或是backup。在這個功能上也可以採用keepalived 的VRRP 功能。
    --mcast-interface interface 指定組播的同步接口
#ipvsadm --stop-daemon
    --stop-daemon 停止同步守護進程
#ipvsadm -h
    -h --help 顯示幫助信息


二、VS/NAT配置

  清空iptables,至少清空filter,才能配置ipvs

   使用三機器來演示配置:

       一臺Director(調度器),內網網卡,外網網卡

               外網eth0 : 172.16.251.188

               外網eth0:0 (vip):172.16.251.184

               內網eth1 : 192.168.1.1

       兩臺做RS(Realserver), 內網網卡

               eth0: 192.168.1.2

                      192.168.1.3

               gateway: 192.168.1.1

1.Director基礎配置

       a).配置虛擬ip地址(vip)

# ifconfig eth0:0 172.16.251.184/16 up   //配置
# ifconfig       //檢查

       b).開啓路由間轉發功能

# vim /etc/systcl.conf
    net.ipv4.ip_forward = 1     //開啓路由轉發
# sysctl -p      //即時生效

2.RS配置

       a).RS1

# ifconfig eth0 192.168.1.2/24 up    //配置內網ip地址
# ifconfig                           //檢查
# route add default gw 192.168.1.1   //添加網關,指向DIP
# route -n                           //檢查

       b).RS2

# ifconfig eth0 192.168.1.3/24 up    //配置內網ip地址
# ifconfig                           //檢查
# route add default gw 192.168.1.1   //添加網關,指向DIP
# route -n                           //檢查

3.Director配置集羣,添加RS

# yum -y install ipvsadm         //安裝ipvsadm
# ipvsadm -A -t 172.16.251.184:80 -s rr     //添加集羣服務
# ipvsadm -a -t 172.16.251.184:80 -r 192.168.1.2 -m  //在集羣服務中添加RS1
# ipvsadm -a -t 172.16.251.184:80 -r 192.168.1.3 -m  //在集羣服務中添加RS2
# ipvsadm -L -n   //檢查

4.測試

       分別在RS上安裝httpd,提供測試頁,看是否輪訓


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