LVS系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.htmljavascript
ipvsadm是ipvs的命令行管理工具,能夠定義、刪除、查看virtual service和Real Server的屬性。php
能夠直接yum安裝。如下是編譯安裝ipvsadm的過程,對於內核版本2.6.xx,須要安裝的ipvsadm版本要大於1.24。css
# 下載ipvsadm
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz -P /tmp
cd /tmp
# 安裝依賴包
yum -y install libnl* popt*
# 安裝ipvsadm,注意不須要./configure
tar xf ipvsadm-1.26.tar.gz
cd ipvsadm-1.26
make && make install
編譯安裝完以後,會在/etc/init.d/ (CentOS6)或/usr/lib/systemd/system/ (CentOS7)目錄下自動生成ipvsadm服務管理腳本,這和通常的編譯不同,比較人性化。html
安裝ipvsadm後,生成如下文件。java
[root@xuexi ~]# rpm -ql ipvsadm
/etc/sysconfig/ipvsadm-config
/usr/lib/systemd/system/ipvsadm.service
/usr/sbin/ipvsadm # ipvs規則管理工具
/usr/sbin/ipvsadm-restore # ipvs規則恢復工具 /usr/sbin/ipvsadm-save # ipvs規則保存工具 /usr/share/doc/ipvsadm-1.27 /usr/share/doc/ipvsadm-1.27/README /usr/share/man/man8/ipvsadm-restore.8.gz /usr/share/man/man8/ipvsadm-save.8.gz /usr/share/man/man8/ipvsadm.8.gz
使用ipvsadm --help
能夠查看使用方法。ipvs的更多功能以及ipvsadm的更詳細用法,請man ipvsadm
linux
ipvsadm的選項中,大寫選項管理虛擬服務virtual service,小寫選項管理關聯了虛擬服務的真實服務器RealServer,"-L"和"-l"除外,它們同義。
(1).管理virtual services:
添加:-A -t|u|f service-address [-s scheduler]
-t:tcp協議的集羣
-u:udp協議的集羣
service-address格式爲IP:PORT
-f:firewall-mark防火牆標記
service-address:a num for mark
-s:調度算法
修改:-E -t|u|f service-address [-s scheduler] 和-A使用方法同樣
刪除:-D -t|u|f service-address
示例:
# ipvsadm -A -t 172.16.10.20:80 -s rr (對外的地址,也就是VIP)
(2).管理virtual service中的RealServer:
添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]
-t|u|f service-address:指定Real server所綁定的virtual service
-r server-address:某RS地址,在NAT模型中,可IP:PORT實現端口映射,即端口無需等於VIP對應的port
-g|i|m:指定lvs的類型,有三種:
-g:gataway即DR類型(默認的模型)
-i:--ipip,即TUN類型
-m:masquerade地址假裝即NAT
-w:指定權重(須要調度算法支持權重)
修改:-e和-a用法同樣
刪除:-d -t|u|f service-address -r server-address表示從哪一個virtual service中刪除哪一個realserver
示例:
# ipvsadm -a -t 172.16.10.20:80 -r 192.168.100.9 -m
# ipvsadm -a -t 172.16.10.20:80 -r 192.168.100.10 -m
(3).查看:
-L或者-l:列出狀態信息,配合如下選項用於顯示更精確數據
-n:只顯示數字格式,不反解IP地址和端口
--stats:顯示統計信息
--rate:顯示速率信息(每秒的值)
--timeout:顯示tcp/tcpfin/udp的會話超時時間長度
--daemon:顯示進程狀態和多播端口(不太用)
--sort:對-n列出來的進行排序(按協議、IP、端口號升序排序)
-c:顯示當前ipvs的鏈接情況(不能和stats選項同用)
(4).其餘項:
-Z:清空統計數據
-C:刪除一個或全部virtual service,連同與之綁定的real server也刪除
-S:保存規則 ipvsadm -S > /path/to/somefile 或者使用ipvsadm-save > /path/to/somefile
-R:載入規則 ipvsadm -R < /path/to/somefile 或者使用ipvsadm-restore < /path/to/somefile
service ipvsadm save
service ipvsadm restore