一、 ipvsadm工具介紹
從2.4版本開始,linux內核默認支持LVS。要使用LVS的能力,只需安裝一個LVS的管理工具:ipvsadm。
LVS的結構主要分為兩部分:
工作在內核空間的IPVS模塊。LVS的能力實際上都是由IVPS模塊實現。
工作在用戶空間的ipvsadm管理工具。其作用是向用戶提供一個命令接口,用于將配置的虛擬服務、真實服務等傳給IPVS模塊。
二、 ipvsadm工具安裝
ipvsadm工具支持rpm安裝,也可以編譯源碼安裝。下載地址:
http://www.linuxvirtualserver.org/software/ipvs.html
三、 ipvsadm工具使用
ipvsadm工具常用的參數選項有:
-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 | -uTCP/UDP協議的虛擬服務
-g | -m | -iLVS模式為: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. 查看統計
查看當前配置的虛擬服務和各個RS的權重
ipvsadm -Ln
查看當前ipvs模塊中記錄的連接(可用于觀察轉發情況)
ipvsadm -lnc
查看ipvs模塊的轉發情況統計
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)?????每秒入流量(字節)