Alteon伺服器負載均衡為連線的客戶端提供了一個虛擬伺服器 IP 地址,其代表了一組真實伺服器組成的伺服器群。如下圖所示為SLB的概念。一臺客戶端訪問一臺邏輯的“虛擬”伺服器(IP 地址為 v.v.v.v),該虛擬伺服器只存在於Alteon的 SLB 配置中。一組物理的“真實”伺服器(IP地址 x.x.x.x、 y.y.y.y和z.z.z.z)配置成一個伺服器群。客戶端與虛擬伺服器之間的流量被負載均衡到這組真實伺服器上,而所有的操作對客戶端而言是透明的。
當客戶端開啟一個到虛擬伺服器的新連線時,Alteon就會根據負載均衡演算法決定使用哪臺真實伺服器。
Alteon使用以下演算法來實現負載均衡。
Least Connections(最小連線數):Alteon在收到新的連線請求時,檢查每個伺服器上的連結數量,找到其中連線數最少的,把新的連線傳送給這個伺服器;這個演算法中,Alteon是不考慮該伺服器是否同時處於多個group中提供多種服務,他考慮連線的總數。
Round Robin(輪詢):這個簡單,就是在可用伺服器中輪流選擇一個伺服器作為提供服務的伺服器,不考慮伺服器的壓力或其他任意情況;
Hash(雜湊):透過hash演算法,根據源地址或者原先設定的引數計算hash值,根據hash值選擇伺服器。主要用於會話保持。另外跟hash類似的還有minimisses,,phash等。
除此之外,還包括Min Misses ,Response Time ,Server Bandwidth ,Persistent Hash ,Least Connections per Service演算法實現負載均衡。
虛擬伺服器可以偽裝成真實伺服器群中所有埠所使用的IP地址。虛擬伺服器的IP也可以配置在伺服器群中某個單獨的埠或服務上。會話保持連線技術使Alteon為客戶端分配連線時,選擇上次客戶端使用的真實伺服器。Alteon可透過健康檢查(自定義健康檢查:可透過TCP,ICMP等方式)來檢測出真實伺服器的故障。Alteon可使失效的伺服器停止工作,並在其恢復時重新提供服務。ALteon SLB可與自有協議Switch HA協同工作來提供“無狀態備份”的冗餘功能。如果一臺Alteon故障,冗餘Alteon的將接管 SLB的工作。不過,現有的SLB連線都將丟失,所以不得不從客戶端重新建立連線。
配置
1、定義真實伺服器.
a.為真實伺服器指定名稱及IP。
/c/slb/real real-name
ena
ipver v4
rip X.X.X.X
此命令將真實伺服器名稱標識成real-name(至多255個字元的字串)。
b.(可選)定義連線上限。
/c/slb/real real-name
maxcon number physical/logical
此命令將真實伺服器的活動連線數都被限制成 number(0~200000條連線,0為無限制)。
1.定義伺服器組。
a.為伺服器組指定名稱。
/c/slb/group group-name
此命令將伺服器組名稱標識成group-name(至多255個字元的字串)。
b. 為伺服器組新增真實伺服器。
/c/slb/group group-name
add real-name1
add real-name2
add ...
c.(可選)為伺服器群選擇負載均衡演算法。
/c/slb/group group-name
metric roundrobin
Alteon使用roundrobin(輪詢演算法)或 Least Connections(最小連線數)來選擇一臺真實伺服器。
3.為伺服器組定義虛擬伺服器。
a.指定虛擬伺服器名稱。
/c/slb/virt VirtServer_Name
ena
ipver v4
vip X.X.X.X
b.指定虛擬伺服器提供的埠及協議。
/c/slb/virt VirtServer_Name/service 80 http
c.指定後端伺服器組及真實伺服器埠。
/c/slb/virt VirtServer_Name/service 80 http
group group-name
rport 80
SLB 配置例項
此例可參考下圖所示的網路拓撲圖。配置SLB來為以下兩組伺服器群提供負載均衡:Server Group 1和Server Group 2。
Server Group 1是一組擁有3臺真實 Web 伺服器的伺服器群,伺服器的IP地址分別為192.168.250.10、192.168.250.11和192.168.250.12。
地址為 10.10.10.101 的虛擬伺服器 VSERVER1 使用最小連線數演算法在真實伺服器之間實現負載均衡,提供TCP的80服務。新連線帶有10min的會話保持(將客戶端流量分配給上次使用的伺服器)。
下面給出了配置伺服器群 Server Group 1 和虛擬伺服器 VSERVER1 所需的命令。
負載均衡演算法:預設的最小連線數改為輪詢;
進入Application Delivery > Virtual Service > Virtual Servers,具體操作如圖所示。
顯示 SLB 相關資訊
可使用下表中的命令來顯示SLB配置及狀態的相關資訊(部分命令僅新版本支援)。