ipvsadm常用命令


 ipvsadm命令選項

    -A --add-service 在內核的虛擬服務器表中添加一條新的虛擬服務器記錄。也就是增加一台新的虛擬服務器(VIP)。

    -E --edit-service 編輯內核虛擬服務器表中的一條虛擬服務器記錄。

    -D --delete-service 刪除內核虛擬服務器表中的一條虛擬服務器記錄。

    -C --clear 清除內核虛擬服務器表中的所有記錄。

    -R --restore 恢復虛擬服務器規則

    -S --save 保存虛擬服務器規則,備份輸出為-R 選項可讀的格式

    -a --add-server 在內核虛擬服務器表的一條記錄里添加一條新的真實服務器記錄(RIP)。也就是在一個虛擬服務器中增加一台新的真實服務器

    -e --edit-server 編輯一條虛擬服務器記錄中的某條真實服務器記錄

    -d --delete-server 刪除一條虛擬服務器記錄中的某條真實服務器記錄

    -L|-l --list 顯示內核虛擬服務器表

    -Z --zero 虛擬服務表計數器清零(清空當前的連接數量等)

    --set tcp tcpfin udp 設置連接超時值

    --start-daemon 啟動同步守護進程。他后面可以是master 或backup,用來說明LVS Router 是master 或是backup。在這個功能上也可以采用keepalived 的VRRP 功能。

    --stop-daemon 停止同步守護進程

    -h --help 顯示幫助信息

    -p --persistent [timeout] 持久穩固的服務(持久性連接)。這個選項的意思是來自同一個客戶的多次請求,將被同一台真實的服務器處理。timeout 的默認值為360 秒。

    -t --tcp-service service-address 說明虛擬服務器提供的是tcp 的服務[vip:port] or [real-server-ip:port]

    -f --fwmark-service fwmark 說明是經過iptables 標記過的服務類型。

    -u --udp-service service-address 說明虛擬服務器提供的是udp 的服務[vip:port] or [real-server-ip:port]

    -s --scheduler scheduler 使用的調度算法,有這樣幾個選項 rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默認的調度算法是: wlc.

    -M --netmask netmask     persistent granularity mask

    -r --real-server server-address 真實的服務器[Real-Server:port]

    -g --gatewaying 指定LVS 的工作模式為DR直接路由模式(也是LVS 默認的模式)

    -i --ipip 指定LVS 的工作模式為隧道模式

    -m --masquerading 指定LVS 的工作模式為NAT 模式

    -w --weight weight 真實服務器的權值

    --mcast-interface interface 指定組播的同步接口

    -c --connection 顯示LVS 目前的連接 如:ipvsadm -L -c

    --timeout 顯示tcp tcpfin udp 的timeout 值 如:ipvsadm -L --timeout

    --daemon 顯示同步守護進程狀態

    --stats 顯示統計信息

    --rate 顯示速率信息

    --sort 對虛擬服務器和真實服務器排序輸出

    -n --numeric  輸出IP地址和端口的數字形式

案例1:跟虛擬服務器相關的參數:

   -A --add-service 在內核的虛擬服務器表中添加一條新的虛擬服務器記錄。也就是增加一台新的虛擬服務器(VIP)。

    -E --edit-service 編輯內核虛擬服務器表中的一條虛擬服務器記錄。

    -D --delete-service 刪除內核虛擬服務器表中的一條虛擬服務器記錄。

    -C --clear 清除內核虛擬服務器表中的所有記錄。

    -R --restore 恢復虛擬服務器規則

    -S --save 保存虛擬服務器規則,備份輸出為-R 選項可讀的格式

添加一條虛擬服務器記錄:ipvsadm -A -t vip:端口 [-s rr] #-s后跟調度算法,若不跟-s則默認為wlc,其他算法還有wrr、dh、sh、lblc、lblcr、lc等

[root@lvs-server ~]# ipvsadm -A -t 192.168.0.200:80
[root@lvs-server ~]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.200:80 wlc 

 轉發方式:

格式:

ipvsadm -a -t VIP:端口 -r RIP:端口 -m [-w 1]       #-m-->LVS-NAT,-w 為加權

ipvsadm -a -t VIP:端口 -r RIP:端口 -g [-w 1]  # -g-->LVS-DR,-g可省略,默認為DR模式

ipvsadm -a -t VIP:端口 -r RIP:端口 -i [-w 1]  # -i-->LVS-TUN

[root@lvs-server ~]# ipvsadm -a -t 192.168.0.200:80 -r 10.4.7.11:80 -m   #將vip192.168.0.200的80端口的數據轉發到RS服務器10.4.7.11的80端口

[root@lvs-server ~]# ipvsadm -a -t 192.168.0.200:80 -r 10.4.7.10:8080 -m   #將vip192.168.0.200的80端口的數據轉發到RS服務器10.4.7.10的8080端口

值得注意的是:該方式添加的規則重啟服務器后規則就消失了,因此應該將該規則保存在文件中,待重啟后可以直接從文件中恢復規則

保存規則:

[root@lvs-server ~]# ipvsadm -Sn   #查看保存的內容,該方式是沒有做保存,只是顯示出來保存規則內容

-A -t 192.168.0.200:80 -s wlc
-a -t 192.168.0.200:80 -r 10.4.7.10:8080 -m -w 1
-a -t 192.168.0.200:80 -r 10.4.7.11:80 -m -w 1

[root@lvs-server ~]# ipvsadm -Sn > /etc/sysconfig/ipvsadm  #將規則保存到/etc/sysconfig/ipvsadm文件中

清空規則:

[root@lvs-server ~]# ipvsadm -C
[root@lvs-server ~]# ipvsadm -Ln         #此時規則顯示為空

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn

通過文件還原規則:

[root@lvs-server ~]# ipvsadm -R < /etc/sysconfig/ipvsadm
[root@lvs-server ~]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.200:80 wlc
-> 10.4.7.10:8080 Masq 1 0 0 
-> 10.4.7.11:80 Masq 1 0 0

[root@lvs-server ~]# cat /usr/lib/systemd/system/ipvsadm.service 

[Unit]
Description=Initialise the Linux Virtual Server
After=syslog.target network.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c "exec /sbin/ipvsadm-restore < /etc/sysconfig/ipvsadm"   #重啟服務器后,默認從/etc/sysconfig/ipvsadm該文件中讀取規則,將ipvsadm服務設置開機自啟動后開機將自動加載規則
ExecStop=/bin/bash -c "exec /sbin/ipvsadm-save -n > /etc/sysconfig/ipvsadm"    #停止ipvsadm服務時(執行systemctl stop ipvsadm時),自動將規則寫入/etc/sysconfig/ipvsadm中
ExecStop=/sbin/ipvsadm -C
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

查詢命令

[root@lvs-server ~]# ipvsadm -L  # 查看lvs負載均衡信息

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.200:http wlc
-> 10.4.7.10:webcache Masq 1 0 0    #此處顯示的不一定正確
-> 10.4.7.11:http Masq 1 0 0

[root@lvs-server ~]# ipvsadm -Ln   #-Ln:輸出IP地址和端口的數字形式

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.200:80 wlc
-> 10.4.7.10:8080 Masq 1 0 0 
-> 10.4.7.11:80 Masq 1 0 0

[root@lvs-server ~]# ipvsadm -Lcn

IPVS connection entries
pro expire    state          source           virtual      destination
TCP 14:50 ESTABLISHED 192.168.0.100:63369 192.168.0.200:80 10.4.7.11:80
TCP 14:50 ESTABLISHED 192.168.0.100:63368 192.168.0.200:80 10.4.7.10:8080
#協議 連接時間 連接狀態 CIP VIP RIP

[root@lvs-server ~]# ipvsadm -L --rate    # 顯示速率信息

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port                 CPS    InPPS   OutPPS    InBPS   OutBPS
  -> RemoteAddress:Port
TCP  192.168.0.200:80                    0 1 1 213 92
  -> 10.4.7.10:8080                      0        0        0        6        4
  -> 10.4.7.11:80                        0        1        0      207       88

[root@lvs-server ~]# ipvsadm -L --sort     # 對虛擬服務器和真是服務器排序輸出

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.200:80 wlc
  -> 10.4.7.10:8080               Masq    1      0          0         
  -> 10.4.7.11:80                 Masq    1      0          1 

[root@lvs-server ~]# ipvsadm -L --stats    # 顯示統計信息

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
TCP  192.168.0.200:80                   10 70 43 10759 4658
  -> 10.4.7.10:8080                      5       50       33     9899     4198
  -> 10.4.7.11:80                        5       20       10      860      460

[root@lvs-server ~]# ipvsadm -L --timeout   # 顯示tcp tcpfin udp 的timeout值

Timeout (tcp tcpfin udp): 900 120 300

 


免責聲明!

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



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