ipvsadm命令解析參考

1、Ipvsadm常用的語法和格式如下:

1
2
3
4
5
6
7
8
9
10
11
12
ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p [timeout]] [-M netmask]
ipvsadm -D -t|u|f virtual-service-address
ipvsadm -C
ipvsadm -R
ipvsadm -S [-n]
ipvsadm -a|e -t|u|f virtual-service-address:port -r real-server-address:port
[-g|i|m] [-w weight]
ipvsadm -d -t|u|f virtual-service-address -r real-server-address
ipvsadm -L|l [options]
ipvsadm -Z [-t|u|f virtual-service-address]
ipvsadm --set tcp tcpfin udp
ipvsadm –h

其中:
 virtual-service-address:是指虛擬服務器的IP地址,本文是10.0.0.88
 real-service-address:是指Real Server的IP地址,本文是10.0.0.9/20/21
 scheduler:指定調度算法


2、ipvsadm命令選項詳細含義

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
-A (--add-service) 在內核的虛擬服務器列表中添加一條新的虛擬IP記錄。也就是增加一臺新的虛擬服務器。虛擬IP也就是虛擬服務器的IP地址。
-E (--edit-service) 編輯內核虛擬服務器列表中的一條虛擬服務器記錄
-D (--delete-service) 刪除內核虛擬服務器列表中的一條虛擬服務器記錄
-C (--clear) 清除內核虛擬服務器列表中的所有記錄
-R (--restore) 恢復虛擬服務器規則
-S (--save) 保存虛擬服務器規則,輸出爲-R 選項可讀的格式
-a (--add-server) 在內核虛擬服務器列表的一條記錄裏添加一條新的Real Server記錄。也就是在一個虛擬服務器中增加一臺新的Real Server
-e (--edit-server) 編輯一條虛擬服務器記錄中的某條Real Server記錄
-d (--delete-server) 刪除一條虛擬服務器記錄中的某條Real Server記錄
-L|-l –list 顯示內核中虛擬服務器列表
-Z (--zero) 虛擬服務器列表計數器清零(清空當前的連接數量等)
--set tcp tcpfin udp 設置連接超時值
-t 說明虛擬服務器提供的是tcp服務,此選項後面跟如下格式:
[virtual-service-address:port] or [real-server-ip:port]
-u 說明虛擬服務器提供的是udp服務,此選項後面跟如下格式:
[virtual-service-address:port] or [real-server-ip:port]
-f  fwmark 說明是經過iptables標記過的服務類型
-s   此選項後面跟LVS使用的調度算法
有這樣幾個選項: rr|wrr|lc|wlc|lblc|lblcr|dh|sh
默認的調度算法是: wlc
-p  [timeout] 在某個Real Server上持續的服務時間。也就是說來自同一個用戶的多次請求,將被同一個Real Server處理。此參數一般用於有動態請求的操作中,timeout 的默認值爲300 秒。例如:-p 600,表示持續服務時間爲600秒。
-r 指定Real Server的IP地址,此選項後面跟如下格式:
 [real-server-ip:port]
-g (--gatewaying) 指定LVS 的工作模式爲直接路由模式(此模式是LVS 默認工作模式)
-i (-ipip) 指定LVS 的工作模式爲隧道模式
-m (--masquerading) 指定LVS 的工作模式爲NAT模式
-w (--weight) weight 指定Real Server的權值
-c (--connection) 顯示LVS目前的連接信息 如:ipvsadm -L -c
-L --timeout 顯示“tcp tcpfin udp”的timeout值,如:ipvsadm -L --timeout
-L --daemon 顯示同步守護進程狀態,例如:ipvsadm -L --daemon
-L  --stats 顯示統計信息,例如:ipvsadm -L --stats
-L  --rate 顯示速率信息,例如:ipvsadm -L  --rate
-L  --sort 對虛擬服務器和真實服務器排序輸出,例如:ipvsadm -L --sort

註釋:左邊括弧中的內容爲ipvsadm每個選項的長格式表示形式,linux命令選項中,有長格式和短格式,短格式的選項用的比較多,實際應用中可以用括弧中的長格式替代短格式,例如,可以用“ipvsadm --clear”代替“ipvsadm -C”。
 

3、舉例

1
ipvsadm -A -t 10.10.10.88:80 -s rr -p 600

        以上表示在內核的虛擬服務器列表中添加一條10.0.0.88的虛擬服務器記錄,並且指定此虛擬服務器的服務端口爲80,然後指定此虛擬服務器的調度策略爲輪詢調度,並且在每個real server上的持續服務時間爲600秒,即10分鐘。

1
ipvsadm -E -t 10.10.10.88:80 -s wlc

        以上表示在內核的虛擬服務器列表中修改了調度算法,改爲調度策略wlc,即加權最少鏈接算法。

1
2
ipvsadm -a -t 10.10.10.88:80 -r 10.10.10.19:80 -g
ipvsadm -a -t 10.10.10.88:80 -r 10.10.10.20:80 -g

       以上兩條設置表示在虛擬服務器10.10.10.88中添加兩條新的Real Server記錄,兩個Real Server的IP分別爲10.10.10.9和10.10.10.20,參數“-g”指定了虛擬服務器的工作模式爲直接路由模式,即DR模式。
    這樣設置完畢後,當用戶訪問10.10.10.88的80服務時,LVS會根據設置的調度策略和路由模式將請求分配到10.10.10.9以及10.10.10.20的80端口。

1
ipvsadm -d -t 10.10.10.88:80 -r 10.10.10.9:80

    刪掉集羣中的一個realserver。

1
ipvsadm -e -t 10.10.10.88:80 -r 10.10.10.9:80 -g -w 3

    修改10.10.10.9的權重爲3

防火牆標記:

1
iptables -t mangle -A PREROUTING -d VIP -p tcp --dport CS_Port -j MARK --set-mark #  (0-99)

定義集羣服務:

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