應用負載均衡之LVS(三):ipvsadm命令

LVS系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.htmljavascript


1.使用ipvsadm

ipvsadm是ipvs的命令行管理工具,能夠定義、刪除、查看virtual service和Real Server的屬性。php

1.1 安裝ipvsadm

能夠直接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

1.2 ipvsadm語法

使用ipvsadm --help能夠查看使用方法。ipvs的更多功能以及ipvsadm的更詳細用法,請man ipvsadmlinux

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
相關文章
相關標籤/搜索