1、 ipvsadm工具介紹
從2.4版本開始,linux內核默認支持LVS。要使用LVS的能力,只需安裝一個LVS的管理工具:ipvsadm。
LVS的結構主要分爲兩部分:
- 工做在內核空間的IPVS模塊。LVS的能力實際上都是由IVPS模塊實現。
- 工做在用戶空間的ipvsadm管理工具。其做用是向用戶提供一個命令接口,用於將配置的虛擬服務、真實服務等傳給IPVS模塊。
2、 ipvsadm工具安裝
ipvsadm工具支持rpm安裝,也能夠編譯源碼安裝。下載地址:
3、 ipvsadm工具使用
ipvsadm工具經常使用的參數選項有:html
-A --add-service |
添加一條新的虛擬服務 |
-E --edit-service |
編輯虛擬服務 |
-D --delete-service |
刪除虛擬服務 |
-C --clear |
清除全部的虛擬服務規則 |
-R --restore |
恢復虛擬服務規則 |
-a --add-server |
在一個虛擬服務中添加一個新的真實服務器 |
-e --edit-server |
編輯某個真實服務器 |
-d --delete-server |
刪除某個真實服務器 |
-L | -l --list |
顯示內核中的虛擬服務規則 |
-n --numeric |
以數字形式顯示IP端口 |
-c --connection |
顯示ipvs中目前存在的鏈接,也能夠用於分析調度狀況 |
-Z --zero |
將轉發消息的統計清零 |
-p --persistent |
配置持久化時間 |
--set tcp tcpfin udp |
配置三個超時時間(tcp/tcpfin/udp) |
-t | -u |
TCP/UDP協議的虛擬服務 |
-g | -m | -i |
LVS模式爲:DR | NAT | TUN |
-w |
配置真實服務器的權重 |
-s |
配置負載均衡算法,如:rr, wrr, lc等 |
--timeout |
顯示配置的tcp/tcpfin/udp超時時間 |
--stats |
顯示歷史轉發消息統計(累加值) |
--rate |
顯示轉發速率信息(瞬時值) |
示例:
1. 管理虛擬服務
- 添加一個虛擬服務192.168.1.100:80,使用輪詢算法
ipvsadm -A -t 192.168.1.100:80 -s rr
ipvsadm -E -t 192.168.1.100:80 -s wrr
ipvsadm -D -t 192.168.1.100:80
2. 管理真實服務
- 添加一個真實服務器192.168.1.123,使用DR模式,權重2
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.123 -g -w 2
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.123 -g -w 5
ipvsadm -d -t 192.168.1.100:80 -r 192.168.1.123
3. 查看統計
ipvsadm -Ln
- 查看當前ipvs模塊中記錄的鏈接(可用於觀察轉發狀況)
ipvsadm -lnc
ipvsadm -Ln --stats | --rate
另外,--stats和--rate統計在分析問題時常常用到,輸出各項的含義:
--stat選項是統計自該條轉發規則生效以來的包
1. Conns (connections scheduled) 已經轉發過的鏈接數
2. InPkts (incoming packets) 入包個數
3. OutPkts (outgoing packets) 出包個數
4. InBytes (incoming bytes) 入流量(字節)
5. OutBytes (outgoing bytes) 出流量(字節)
-------------------------------------------------------------------
--rate選項是顯示速率信息
1. CPS (current connection rate) 每秒鏈接數
2. InPPS (current in packet rate) 每秒的入包個數
3. OutPPS (current out packet rate) 每秒的出包個數
4. InBPS (current in byte rate) 每秒入流量(字節)
5. OutBPS (current out byte rate) 每秒入流量(字節)