簡介
本文說明如何配置Cisco Catalyst交換機以與Microsoft網路負載平衡(NLB)互動。
必要條件
需求
本文件沒有特定需求。
採用元件
本檔案中的資訊是根據以下軟體和硬體版本設定和設定:
- 執行Cisco IOS軟體15.1(1)SY1的Catalyst 6500 Sup2T交換器
- 運行Cisco IOS軟體15.0(2)SG7的Catalyst 4948交換機
- Microsoft Windows伺服器
附註:請參閱適當的組態設定指南來瞭解使用的命令,以便在其他思科平台上啟用這些功能。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
背景資訊
NLB技術可用於在一組伺服器之間分發客戶端請求。為了確保客戶端始終體驗可接受的效能級別,Microsoft Windows NLB提供了新增其他伺服器的功能,以便可以在客戶端負載增加時擴展無狀態應用程式(如基於IIS的Web伺服器)。此外,它還減少了因伺服器故障導致的停機時間。
Microsoft Windows NLB是一種群集技術,是所有Windows 2000 Server和Windows 2003 Server系列作業系統的一部分。它為所有客戶機提供單個虛擬IP地址作為整個群集的目標IP地址。
可以將NLB配置為在以下三種模式之一中工作:
- 單播模式
- 組播模式
- 網際網路群組管理協定(IGMP)模式
單播模式
以下是有關在單播模式下使用NLB的一些說明:
- 在單播模式下,NLB將集群中每台伺服器的實際媒體訪問控制(MAC)地址替換為公用NLB MAC地址。當群集中的所有伺服器都具有相同的MAC地址時,轉發到該地址的所有資料包都會傳送到群集中的所有成員。NLB建立虛構MAC地址,並將其分配給NLB群集中的每個伺服器。NLB根據成員的主機ID為每個NLB伺服器分配不同的虛擬MAC地址。此地址出現在乙太網幀頭中。
- MAC位址用於位址解析通訊協定(ARP)標頭,而不是乙太網路標頭。交換器使用乙太網路標頭中的MAC位址,而不是ARP標頭。這會導致將資料包傳送到NLB群集(目標MAC地址為群集MAC地址00-bf-ac-10-00-01)時出現問題。交換機檢視MAC地址00-bf-ac-10-00-01的內容可定址記憶體(CAM)表,並且因為沒有註冊到NLB群集MAC地址00-bf-ac-10-00-01的埠,因此幀將傳送到所有交換機埠。這會引入單播泛洪。為了避免泛洪,思科建議您為NLB使用專用VLAN,以便限制泛洪。
多點傳送模式
以下是有關在組播模式下使用NLB的一些說明:
- 在組播模式下,系統管理員按一下Microsoft NLB配置GUI中的「組播」按鈕。此選擇指示群整合員使用組播MAC地址(如0300.5e01.0101)響應其虛擬地址的ARP。
- 多點傳送MAC位址的ARP程式無法完成(因此會破壞RFC 1812)。需要靜態MAC地址才能到達本地子網外的集群。
- 虛擬IP地址為10.100.1.99,組播MAC地址為0300.5e01.0101。輸入以下命令可靜態填充ARP表:
arp 10.100.1.99 0300.5e01.0101
- 由於傳入資料包具有單播目標IP地址和組播目標MAC,因此Cisco裝置忽略此條目,並單播泛洪每個集群繫結資料包。為了避免這種泛濫,請插入一個靜態mac-address-table條目(如下所示),以便在硬體中交換群集繫結的資料包。
mac address-table static 0300.5e01.0101 vlan 200 interface TenGigabitEthernet1/4 TenGigabitEthernet1/5 disable-snooping
附註:將MAC地址靜態對映到多個埠時,只有Cisco Catalyst 4500系列交換機上的軟體支援該地址。此外,在Catalyst 4500系列交換器上使用此組態可能會造成CPU使用率高。為了避免此問題,可以將NLB隔離到特定VLAN,僅新增靜態ARP條目,並允許該VLAN上的泛洪。
附註:若是Cisco Catalyst 6000/6500系列交換器,您必須新增disable-snooping引數以僅將流量限制到指定的連線埠。設定靜態連線時,輸入disable-snooping關鍵字可防止目的地為靜態設定多點傳送MAC位址的多點傳送流量也傳送到相同VLAN中的其他連線埠。(其他平台不需要此命令)。
IGMP模式
以下是有關在IGMP模式下使用NLB的一些說明:
- 在IGMP模式下使用NLB需要最少的人工配置。虛擬MAC地址屬於Internet編號指派機構(IANA)範圍,以0100.5exx.xxxx開頭。由於MAC地址現在符合IANA規範,因此Cisco交換機可以使用IGMP監聽動態地程式設計MAC地址。這樣可消除手動將MAC位址程式設計到多點傳送模式中所需的連線埠對映的需要,以防止湧向VLAN。
- 一旦交換機收到來自集群中成員的成員身份報告,IGMP監聽將為您設定虛擬MAC地址。還必須使用協定無關組播(PIM)或IGMP查詢器功能為NLB VLAN設定Mrouter埠。
- 由於虛擬IP地址使用組播MAC地址,因此無法在本地子網外訪問。為了解決此問題,您必須在集群VLAN中具有第3層(L3)介面的每台裝置上配置靜態ARP條目。以與使用多點傳送模式相同的方式完成此操作。例如,如果虛擬IP地址為10.100.1.99,而多播MAC地址為0100.5e01.0101,則使用以下命令靜態填充ARP表:
arp 10.100.1.99 0100.5e01.0101
IGMP模式警告
在IGMP模式下使用NLB時,請記住以下重要注意事項:
附註:按照Cisco錯誤ID CSCsw72680的跟蹤,您不能在具有特定代碼版本的NLB VLAN交換器虛擬介面(SVI)上使用PIM。檢視解決此問題的代碼版本的錯誤詳細資訊或使用IGMP監聽查詢器功能。
附註:如思科錯誤ID CSCsy62709所跟蹤,在IGMP模式下路由到NLB伺服器的所有流量都會複製資料包。檢視受影響的代碼版本的錯誤詳細信息。
附註:由於受Cisco nug ID CSCug49149跟蹤的硬體限制,當交換機在PFC3B或PFC3C模式下運行時,無法通過同一6708線卡上的分散式Etherchannel傳送NLB流量。埠通道必須佈線,以便所有成員鏈路都位於同一個轉發引擎上。
網路圖表
設定
本節介紹如何為以組播或IGMP模式運行的Cisco Catalyst 6500和4948系列平台配置NLB。
多點傳送模式的組態
本節介紹如何為以組播模式運行的Cisco Catalyst 6500和4948系列平台配置NLB:
6500-1#show running-config
Building configuration...
!
hostname 6500-1
!
boot system flash disk0:s2t54-adventerprisek9-mz.SPA.151-1.SY1
!
interface TenGigabitEthernet1/4
switchport
switchport trunk allowed vlan 1,100,200
switchport mode trunk
!
interface TenGigabitEthernet1/5
switchport
switchport trunk allowed vlan 1,100,200
switchport mode trunk
!
interface Vlan100
ip address 10.100.1.1 255.255.255.0
!
!
interface Vlan200
ip address 10.200.1.1 255.255.255.0
!
!
arp 10.100.1.88 0300.5e01.0101 ARPA
!
!
mac address-table static 0300.5e01.0101 vlan 200 interface TenGigabitEthernet1/4
TenGigabitEthernet1/5 TenGigabitEthernet5/5
!
以下是有關此組態的一些重要說明:
- 介面Vlan100 ip地址值配置使用者VLAN。
- 介面Vlan200 ip地址值配置NLB集群VLAN。請務必將Microsoft Server的預設網關配置為此地址。
- arp 10.100.1.88 0300.5e01.0101 ARPA包括VLAN中的所有第3層介面,是NLB群集伺服器的虛擬IP地址。
- Mac地址表靜態0300.5e01.0101 vlan 200介面為組播虛擬MAC地址建立交換機中的靜態MAC條目到埠映射。
附註:確保在NLB群集上使用組播模式。思科建議您不要使用以01開頭的組播MAC地址,因為已知它們與IGMP設定衝突。
4948-1#show running-config
Building configuration...
!
hostname 4948-1
!
boot system bootflash:cat4500-entservices-mz.150-2.SG7
!
interface GigabitEthernet1/1
switchport access vlan 200
!
interface TenGigabitEthernet1/49
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 1,100,200
switchport mode trunk
!
interface TenGigabitEthernet1/50
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 1,100,200
switchport mode trunk
!
mac address-table static 0300.5e01.0101 vlan 200 interface Gi1/1 Te1/49 Te1/50
!
!
end
附註:mac address-table static 0300.5e01.0101 vlan 200介面在交換機中為組播虛擬MAC地址建立靜態條目。請務必記住,必須新增在交換機之間傳輸NLB流量的所有中繼介面。定義靜態MAC地址後,泛洪就會受到限制。如果忘記包含介面,NLB群集將中斷。
IGMP模式的配置
本節介紹如何為在IGMP模式下運行的Cisco Catalyst 6500和4948系列平台配置NLB
6500-1#show running-config
Building configuration...
!
hostname 6500-1
!
boot system flash disk0:s2t54-adventerprisek9-mz.SPA.151-1.SY1
!
ip igmp snooping querier
!
vlan configuration 1,100
no ip igmp snooping querier
!
vlan configuration 200
ip igmp snooping querier address 10.200.1.1
!
interface TenGigabitEthernet1/4
switchport
switchport trunk allowed vlan 1,100,200
switchport mode trunk
!
interface TenGigabitEthernet1/5
switchport
switchport trunk allowed vlan 1,100,200
switchport mode trunk
!
interface Vlan100
ip address 10.100.1.1 255.255.255.0
!
interface Vlan200
ip address 10.200.1.1 255.255.255.0
!
arp 10.100.1.99 0100.5e01.0101 ARPA
!
end
以下是有關此組態的一些重要說明:
- Theip igmp snooping querenables the snooping querier功能。
- Ip igmp監聽查詢器地址10.200.1.1為NLB VLAN配置監聽查詢器。
- 使用者VLAN是介面Vlan100。
- NLB群集VLAN 是介面Vlan200。請務必將Microsoft伺服器的預設網關配置為此地址(ip address 10.200.1.1 255.255.255.0)。
- arp 10.100.1.99 0100.5e01.0101 ARPA是NLB群集伺服器的虛擬IP地址。靜態ARP必須位於VLAN中的所有第3層介面上。
4948-1#show running-config
Building configuration...
!
hostname 4948-1
!
boot system bootflash:cat4500-entservices-mz.150-2.SG7
!
interface GigabitEthernet1/1
switchport access vlan 200
!
interface TenGigabitEthernet1/49
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 1,100,200
switchport mode trunk
!
interface TenGigabitEthernet1/50
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 1,100,200
switchport mode trunk
!
end
附註:無需配置靜態條目,因為IGMP監聽在此模式下動態執行。此外,下游第2層(L2)交換器上不需要此模式的特殊設定。
驗證
使用本節內容,確認您的組態是否正常運作。
附註:輸出直譯器工具(僅供已註冊客戶使用)(OIT)支援某些show命令。使用OIT檢視show命令輸出的分析。
多點傳送模式驗證
輸入show ip arpcommand以檢視ARP快取:
6500-1#sh ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.100.1.99 - 0300.5e01.0101 ARPA
輸入 show mac address-table static 命令檢視特定介面或VLAN上的特定MAC地址表的靜態和動態條目或MAC地址表的靜態和動態條目:
6500-1#show mac address-table static add 0300.5e01.0101
vlan mac address type learn age ports
----+---------------+-------+-----+------+-----------------
200 0300.5e01.0101 static No - Te1/4 Te1/5 Te5/5
4948-1#show mac address-table static add 0300.5e01.0101
Multicast Entries
vlan mac address type ports
------+---------------+-------+--------------------
200 0300.5e01.0101 static Gi1/1,Te1/49,Te1/50
IGMP模式驗證
輸入show ip arpcommand以檢視ARP快取:
6500-1#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.100.1.99 - 0100.5e01.0101 ARPA
輸入show ip igmp snooping mrouterer 以檢視從上游窺探查詢器接收的查詢所程式化的Mrouter連線埠:
4948-1#show ip igmp snooping mrouter
Vlan ports
---- -----
200 Te1/49(dynamic)
輸入 show mac address-table multicast igmp-snooping 若要檢視從IGMP窺探得知的動態新增MAC位址和成員連線埠:
4948-1#show mac address-table multicast igmp-snooping
Multicast Entries
vlan mac address type ports
------+---------------+------+-------------
200 0100.5e01.0101 igmp Gi1/1,Te1/49
輸入show ip igmp snooping 組以檢視加入組播組的集群成員的埠清單:
4948-1#show ip igmp snooping groups
Vlan Group Version Port List
-----------------------------------------
200 239.1.1.1 v2 Gi1/1
疑難排解
目前尚無適用於此組態的具體疑難排解資訊。