LVS系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html
1.使用ipvsadm
ipvsadm是ipvs的命令行管理工具,可以定義、刪除、查看virtual service和Real Server的屬性。
1.1 安裝ipvsadm
可以直接yum安裝。以下是編譯安裝ipvsadm的過程,對於內核版本2.6.xx,需要安裝的ipvsadm版本要大於1.24。
# 下載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服務管理腳本,這和一般的編譯不一樣,比較人性化。
安裝ipvsadm后,生成以下文件。
[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
1.2 ipvsadm語法
使用ipvsadm --help
可以查看使用方法。ipvs的更多功能以及ipvsadm的更詳細用法,請man ipvsadm
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