ipvsadm 命令詳解

查看內核是否支持 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

若是不支持,就安裝 ipvsadm服務器

sudo yum -y install ipvsadm

ipvsadm 參數詳解:tcp

-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 狀態的鏈接等。code

[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選項是顯示速率信息server

  • 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 選項是統計自該條轉發規則生效以來的ip

  • Conns (connections scheduled) 已經轉發過的鏈接數
  • InPkts (incoming packets) 入包個數
  • OutPkts (outgoing packets) 出包個數
  • InBytes (incoming bytes) 入流量(字節)
  • OutBytes (outgoing bytes) 出流量(字節)

修改 LVS 表中的 fin_timeout 使用指令以下路由

ipvsadm --set 900 60 300

中間的 60 就是 tcp 的 fin_timeout 時間pip

查看默認的值使用以下命令:io

$ sudo /sbin/ipvsadm -Ln --timeout 
Timeout (tcp tcpfin udp): 900 60 300
相關文章
相關標籤/搜索