歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

ipvsadm命令詳解

1、virtual-service-address:是指虛擬服務器的ip地址
2、real-service-address:是指真實服務器的ip 地址
3、scheduler:調度方法

ipvsadm 的用法和格式如下:
ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p [timeout]] [-M netmask]
ipvsadm -D -t|u|f virtual-service-address
ipvsadm -C
ipvsadm -R
ipvsadm -S [-n]
ipvsadm -a|e -t|u|f service-address:port -r real-server-address:port [-g|i|m] [-w weight]
ipvsadm -d -t|u|f service-address -r server-address
ipvsadm -L|l [options]
ipvsadm -Z [-t|u|f service-address]
ipvsadm –set tcp tcpfin udp
ipvsadm –start-daemon state [--mcast-interface interface]
ipvsadm –stop-daemon
ipvsadm -h

命令選項解釋:

有兩種命令選項格式,長的和短的,具有相同的意思。在實際使用時,兩種都可以。
-A –add-service 在內核的虛擬服務器表中添加一條新的虛擬服務器記錄。也就是增加一台新的虛擬服務器。
-E –edit-service 編輯內核虛擬服務器表中的一條虛擬服務器記錄。
-D –delete-service 刪除內核虛擬服務器表中的一條虛擬服務器記錄。
-C –clear 清除內核虛擬服務器表中的所有記錄。
-R –restore 恢復虛擬服務器規則
-S –save 保存虛擬服務器規則,輸出為-R 選項可讀的格式
-a –add-server 在內核虛擬服務器表的一條記錄裡添加一條新的真實服務器記錄。也就是在一個虛擬服務器中增加一台新的真實服務器
-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 顯示幫助信息

其他的選項:
-t –tcp-service service-address 說明虛擬服務器提供的是tcp 的服務[vip:port] or [real-server-ip:port]
-u –udp-service service-address 說明虛擬服務器提供的是udp 的服務[vip:port] or [real-server-ip:port]
-f –fwmark-service fwmark 說明是經過iptables 標記過的服務類型。
-s –scheduler scheduler 使用的調度算法,有這樣幾個選項 rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默認的調度算法是: wlc.
-p –persistent [timeout] 持久穩固的服務。這個選項的意思是來自同一個客戶的多次請求,將被同一台真實的服務器處理。timeout 的默認值為300 秒。
-M –netmask netmask persistent granularity mask
-r –real-server server-address 真實的服務器[Real-Server:port]
-g –gatewaying 指定LVS 的工作模式為直接路由模式(也是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 對虛擬服務器和真實服務器排序輸出
–numeric -n 輸出IP 地址和端口的數字形式

例如 :

#ipvsadm -A -t 192.168.0.167:80 -s rr

#ipvsadm -a -t 192.168.0.167:80 -r 192.168.0.31:80 -g -w 1

LVS的三種包轉發方式

  LVS提供了三種包轉發方式:NAT(網絡地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不同的轉發模式決定了不同的cluster的網絡結構,下面對三種轉發方式分別介始:

NAT(網絡地址映射)

NAT方式可支持任何的操作系統,以及私有網絡,並且只需一個Internet IP地址,但是整個系統的性能受到限制。因為執行NAT每次需要重寫包,有一定的延遲;另外,大部分應用有80%的數據是從服務器流向客戶機,也就是用戶的請求非常短,而服務器的回應非常大,對負載均衡器形成很大壓力,成為了新的瓶頸。

IP Tunneling(IP隧道)

director分配請求到不同的real server。real server處理請求後直接回應給用戶,這樣director負載均衡器僅處理客戶機與服務器的一半連接。IP Tunneling技術極大地提高了director的調度處理能力,同時也極大地提高了系統能容納的最大節點數,可以超過100個節點。real server可以在任何LAN或WAN上運行,這意味著允許地理上的分布,這在災難恢復中有重要意義。服務器必須擁有正式的IP地址用於與客戶機直接通信,並且所有服務器必須支持IP隧道協議。

Direct Routing(直接路由)

與IP Tunneling類似,負載均衡器僅處理一半的連接,避免了新的性能瓶頸,同樣增加了系統的可伸縮性。Direct Routing與IP Tunneling相比,沒有IP封裝的開銷,但由於采用物理層(修改MAC地址)技術,所有服務器都必須在一個物理網段。

LVS的負載調度算法

在內核中的連接調度算法上,IPVS已實現了以下八種調度算法:
一、輪叫調度(Round-Robin Scheduling) —-rr
輪叫調度(Round Robin Scheduling)算法就是以輪叫的方式依次將請求調度不同的服務器,即每次調度執行i = (i + 1) mod n,並選出第i台服務器。算法的優點是其簡潔性,它無需記錄當前所有連接的狀態,所以它是一種無狀態調度。

二、加權輪叫調度(Weighted Round-Robin Scheduling) —-wrr

Copyright © Linux教程網 All Rights Reserved