ipvsadm是LVS在應用層的管理命令,我們可以通過這個命令去管理LVS的配置。需要使用yum單獨安裝。
基本用法:
-c, --connection:列出當前的IPVS連接。--timeout:列出超時--daemon:--stats:狀態信息--rate:傳輸速率--thresholds:列出閾值--persistent-conn:堅持連接--sor:把列表排序。--nosort:不排序-n, --numeric:不對ip地址進行dns查詢--exact:單位
添加地址為207.175.44.110:80的虛擬服務,指定調度算法為輪轉。ipvsadm -A -t 207.175.44.110:80 -s rr添加真實服務器,指定傳輸模式為NATipvsadm -a -t 207.175.44.110:80 -r 192.168.10.1:80 -mipvsadm -a -t 207.175.44.110:80 -r 192.168.10.2:80 -mipvsadm -a -t 207.175.44.110:80 -r 192.168.10.3:80 -mNAT模式是lvs的三種模式中最簡單的一種。此種模式下只需要保證調度服務器與真實服務器互通就可以運行。
對於DR模式首先要配置真實服務器:對於每台真實服務器要進行以下操作:1、設置真實服務器的lo接口不做ARP應答
echo 1 > /proc/sys/net/ipv4/conf/all/arg_ignoreecho 1 > /proc/sys/net/ipv4/conf/lo/arg_ignore設置這個選項可以使得各個接口只對本接口上的地址進行響應還需要設置arp_announce選項為2,設置方法同上
2、在真實服務器上添加虛擬IP
ifconfig lo:0 192.168.10.10 boradcast 207.175.44.110 netmask 255.255.255.255ip r add 192.168.10.10 dev lo
接着添加ipvs規則:添加地址為192.168.10.10:80的虛擬服務,指定調度算法為輪轉。ipvsadm -A -t 192.168.10.10:80 -s rr添加真實服務器,指定傳輸模式為DRipvsadm -a -t 192.168.10.10:80 -r 192.168.10.1:80 -gipvsadm -a -t 192.168.10.10:80 -r 192.168.10.2:80 -gipvsadm -a -t 192.168.10.10:80 -r 192.168.10.3:80 -g注意:此處的例子中客戶、調度服務器、真實服務器都是位於同一網段的固定調度
rr:論調wrr:加權論調
weight,加權sh:source hash ,源地址hash
動態調度
lc:最少鏈接
active*256+inactive
wlc:加權最少鏈接
(active*256+inactive)/weight
sed:最短期望延遲
(active+1)*256/weight
nq:never queue (永不排隊)LBLC:基於本地的最少鏈接
LBLCR:基於本地的帶復制功能的最少鏈接————
lvsipvsadm:管理集群服務的命令行工具
管理集群服務
添加:-A -t|u|f service-address[-s sheduler ]
{ -t:TCP協議集群
-u:UDP協議集群} service-address: IP:PORT(套接字)
-f:FWM:防火牆標記
service-address : Mark Number
修改: -E
刪除: -D -t|u|f service-address
管理機器服務中心的RS
添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight ]
-t|u|f service-address:事前定義好的某集群服務
-r server-address :某RS的地址,在NAT模型中;可使用IP:PORT實現端口映射:
[-g|i|m]:lvs類型
-g:DR
-i:TUN
-m:NAT
[-w weight ]:定義權重
修改:-e
刪除:-d -t|u|f serrvice address -r service-add
# ipvsadm -a -t xx.xx.xx.xx:80 -r xx.xx.xx.xx -m查看
-L|l
-n:數字格式顯示IP地址和端口號
--stats:統計信息
--rate:速率
--timeout:顯示TCP/TCPFIN/UDP的會話超時時長
--sort:排序
-c:顯示當前IPVS的鏈接狀態
-Z:清空計數器
-C:清空ipvs規則
-S:使用輸出重定向進行規則保存
# ipvsadm -S > /../..
-R:使用輸入重定向載入規則
# ipvsadm -R < /../..
1. 查看lvs的連接狀態命令: ipvsadm -l --stats
說明:
1. Conns (connections scheduled) 已經轉發過的連接數
2. InPkts (incoming packets) 入包個數
3. OutPkts (outgoing packets) 出包個數
4. InBytes (incoming bytes) 入流量(字節)
5. OutBytes (outgoing bytes) 出流量(字節)2. 查看lvs速率 :ipvsadm -l --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) 每秒入流量(字節)
由於LVS像iptable一樣是工作在內核層,所以只需要安裝模塊ip_vs就可以了,並沒有后台進程在跑。對應lvs主機三種方式分別用參數-m, -i, -g來實現。以下列舉幾種鏈接方式的配置方法:
1.NAT方式:
NAT配置方式最簡單,只需要在LVS主機上配置就可以了,如下例子:
設置VIP主機:
ipvsadm -A -t 202.103.106.5:80 -s wlc
ipvsadm -A -t 202.103.106.5:21 -s wrr
ipvsadm -a -t 202.103.106.5:80 -r 172.16.0.2:80 -m
ipvsadm -a -t 202.103.106.5:80 -r 172.16.0.3:8000 -m -w 2
ipvsadm -a -t 202.103.106.5:21 -r 172.16.0.2:21 -m
2.TUN方式:
對LVS主機設置:
設置VIP主機:
ipvsadm -A -t 172.26.20.110:23 -s wlc ipvsadm -a -t 172.26.20.110:23 -r 172.26.20.112 -i
對每台real主機的設置:
echo 1 > /proc/sys/net/ipv4/ip_forward #加載ipip模塊 modprobe ipip ifconfig tunl0 0.0.0.0 up echo 1 > /proc/sys/net/ipv4/conf/all/hidden echo 1 > /proc/sys/net/ipv4/conf/tunl0/hidden ifconfig tunl0 172.26.20.110 netmask 255.255.255.255 broadcast 172.26.20.110 up