不同設備的負載均衡設置要區別對待
我們常說負載均衡設置問題,那么可以分為硬件負載均衡設置和軟件負載均衡設置兩方面說起。那么本文呢,主要是討論一下路由器和交換機的負載均衡設置問題。顯而易見,他們都是硬件產品。但是,作為不同的產品,在功能上也有所區別,必然設置也是不同的。
TCP負載均衡與SLB都是為了同一目的,即在多臺服務器上分擔負載,他們之間不同的地方在于:TCP負載均衡是在路由器上做的,而SLB是先在交換機(只有6500,4980G支持)上定義服務器群組,然后再在邊界路由器上做靜態NAT轉換
一.TCP負載均衡
如圖1所示:內部兩臺服務器10.0.0.1與10.0.0.2向外提供同一WWW服務,當外部用戶訪問http://202.1.1.1時,將在這兩臺內部服務器之間輪流提供服務,其負載均衡設置方法與NAT相反:
- Router(config)#ip nat pool webservers 10.0.0.1 10.0.0.2 netmask 255.255.255.0 type rotary
- Router(config)#access-list 1 permit host 202.1.1.1
- Router(config)#ip nat inside destination list 1 pool webservers
- Router(config)#int fa0/0
- Router(config-if)#ip nat inside
- Router(config-if)#int s0
- Router(config-if)#ip nat outside
說明:***句定義了一個服務器地址池,其中關鍵字rotary的作用是當訪問202.1.1.1時使請求地址交替轉換為10.0.01、10.0.0.2
二.服務器負載均衡(SLB)
如圖2:WWW服務器的虛擬IP地址為10.0.0.254,內網用戶可以直接訪問http://10.0.0.254,如果要向部提供WWW服務,則必須在邊界路由器上對這個虛擬服務器地址做個靜態地址轉換。#p#
交換機上的負載均衡設置:
1.定義服務器群組
- Switch(config)#ip slb serverfarm webservers
- Switch(config-slb-sfarm)#real 10.0.0.1
- Switch(config-slb-real)#inservice
- Switch(config-slb-real)#exit
- Switch(config-slb-sfarm)#real 10.0.0.2
- Switch(config-slb-real)#inservice
說明:***句定義服務器群組名為webservers,第二名將真實服務器與服務器群組關聯起來,第三條語句表示啟用第二句指定的服務器;同理,***兩句將真實服務器10.0.0.2與服務器群組關聯起來并啟用它
2.虛擬服務器的負載均衡設置
- Switch(config)#ip slb vserver httpserver
- Switch(config-slb-vserver)#virtual 10.0.0.254 tcp www
- Switch(config-slb-vserver)#inservice
- Switch(config-slb-vserver)#client 0.0.0.0 0.0.0.0
說明:***句定義虛擬服務器名為httpserver,第二句配置虛擬服務器的IP地址為10.0.0.254,協議為TCP,服務為WWW服務;第三句啟用些虛擬服務器;第四句指定客戶為所有用戶,也可以指定特定用戶
到目前為止,內部用戶可以通過訪問http://10.0.0254來訪問WWW服務器了,如果需要將這臺服務器向名提供WWW服務,則還需要配置***一步靜態地址轉換
3.靜態地址轉換的負載均衡設置(可選)
- Rouer(config)#ip nat inside source static 10.0.0.0254 202.1.1.1
- Router(config)#int fa0/0
- Router(config-if)#ip nat inside
- Router(config-if)#int s0
- Router(config-if)#ip nat outside