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


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM