查看內核是否支持 ipvsadm
[test@LVS ~]$ /sbin/modprobe -l|grep ipvs
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_dh.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_ftp.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_lblc.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_lblcr.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_lc.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_nq.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_rr.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_sed.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_sh.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_wlc.ko
/lib/modules/2.6.18-308.el5/kernel/net/ipv4/ipvs/ip_vs_wrr.ko
備註:參數l無效,查了很多資料。好像現在沒有這個參數了,可以改用下面這個命令查看內核是否支持lvs的ipvs模塊
可以使用以下命令查找:
find /lib/modules/$(uname -r)/ -iname "**.ko*" | cut -d/ -f5- |grep ipvs
安裝 ipvsadm
yum -y install ipvsadm
ipvsadm 參數詳解:
-C 清除表中所有的記錄
-A --add-service在服務器列表中新添加一條新的虛擬服務器記錄
-t 表示爲tcp服務
-u 表示爲udp服務
-s --scheduler 使用的調度算法, rr | wrr | lc | wlc | lblb | lblcr | dh | sh | sed | nq 默認調度算法是 wlc
ipvsadm -a -t 192.168.3.187:80 -r 192.168.200.10:80 -m -w 1
-a --add-server 在服務器表中添加一條新的真實主機記錄
-t --tcp-service 說明虛擬服務器提供tcp服務
-u --udp-service 說明虛擬服務器提供udp服務
-r --real-server 真實服務器地址
-m --masquerading 指定LVS工作模式爲NAT模式
-w --weight 真實服務器的權值
-g --gatewaying 指定LVS工作模式爲直接路由器模式(也是LVS默認的模式)
-i --ipip 指定LVS的工作模式爲隧道模式
-p 會話保持時間,定義流量唄轉到同一個realserver的會話存留時間
使用:
[test@LVS ~]$ sudo /sbin/ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.1.17.10:http wlc
-> 10.2.4.35:http Route 100 25095 18542
-> 10.2.4.31:http Route 100 25097 17657
-> 10.2.4.30:http Route 100 25123 18953
-> 10.2.4.29:http Route 100 25091 18727
-> 10.2.4.24:http Route 100 25075 17703
-> 10.2.4.23:http Route 100 25086 17465
-> 10.2.4.22:http Route 100 25124 17628
InActConn
指非活躍連接數,我們將處於 TCP ESTABLISH
狀態以外的連接都稱爲不活躍連接。例如處於 SYN_RECV
狀態的連接,處於 TIME_WAIT
狀態的連接等。
[test@LVS ~]$ sudo /sbin/ipvsadm -l --rate
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port CPS InPPS OutPPS InBPS OutBPS
-> RemoteAddress:Port
TCP 192.1.17.10:http 2438 16241 0 6385560 0
-> 10.2.4.35:http 146 965 0 372714 0
-> 10.2.4.34:http 164 1089 0 423347 0
-> 10.2.4.28:http 152 1035 0 406658 0
-> 10.2.4.27:http 157 1031 0 411744 0
-> 10.2.4.22:http 160 1078 0 425447 0
-> 10.2.4.21:http 159 1078 0 423759 0
--rate選項是顯示速率信息
- CPS (current connection rate) 每秒連接數
- InPPS (current in packet rate) 每秒的入包個數
- OutPPS (current out packet rate) 每秒的出包個數
- InBPS (current in byte rate) 每秒入流量(字節)
- OutBPS (current out byte rate) 每秒入流量(字節)
[test@LVS ~]$ sudo /sbin/ipvsadm -l --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 192.1.17.10:http 326629K 3588M 0 22517G 0
-> 10.2.4.23:http 584349K 3896M 0 1469G 0
-> 10.2.4.34:http 597422K 3956M 0 1501G 0
-> 10.2.4.28:http 631106K 4198M 0 1592G 0
-> 10.2.4.27:http 578297K 3850M 0 1459G 0
-> 10.2.4.22:http 580208K 3859M 0 1463G 0
-> 10.2.4.21:http 685758K 283146K 0 1737G 0
--stats
選項是統計自該條轉發規則生效以來的
- Conns (connections scheduled) 已經轉發過的連接數
- InPkts (incoming packets) 入包個數
- OutPkts (outgoing packets) 出包個數
- InBytes (incoming bytes) 入流量(字節)
- OutBytes (outgoing bytes) 出流量(字節)