簡介
本檔案將概述網路對不同的中斷作出反應時的行為,著重說明虛擬連線埠通道(vPC)。
典型的中斷是 — 重新載入、鏈路丟失或連線丟失。
本文的目的是演示常見場景中的資料包丟失。
拓撲
在測試期間,除非另外說明,否則使用以下拓撲。
綠色和藍色線表示從每個交換矩陣互聯到兩個Nexus交換機的vPC埠通道。
帶外管理網路未概述。
這是FlexPod部署中通常推薦的簡化拓撲,如所示:
http://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/UCS_CVDs/flexpod_esxi51_ucsm2.html
採用元件
兩台Nexus 5548P交換機。
執行2.2(4b)軟體的兩個整合運算系統(UCS)6120光纖互連。
一個5108 UCS機箱。
兩台運行2.2(4)軟體的B200M3刀片和VIC 1240介面卡。
要執行和驗證連線測試,需要安裝兩個刀片並安裝RedHat Enterprise Linux 7.1作業系統。
組態.
vPC和portchannel配置均使用預設值。
feature vpc
vpc domain 75
role priority 3000
peer-keepalive destination 10.48.43.79 source 10.48.43.78
delay restore 150
peer-gateway
interface port-channel1
description vPC Peer-Link
switchport mode trunk
spanning-tree port type network
vpc peer-link
在本例中指向UCS交換矩陣互聯(FI)的vPC示例bdsol-6120-05 - A
interface port-channel101
description bdsol-6120-05-A
switchport mode trunk
spanning-tree port type edge trunk
vpc 101
測試
將執行下列測試。
— 資料鏈路丟失。
— 中斷性升級
— 服務中軟體升級(ISSU)
— 丟失對等保持連線鏈路 — 在此拓撲/配置的情況下丟失mgmt0介面。
— 丟失對等portchannel — 此配置中的Port-channel 1。
— 禁用vPC功能
基本流量。
單個iperf3會話用於每秒生成6.5 Gb的測試TCP流量,以驗證轉換期間的幀丟失。
RedHat2固定到交換矩陣互聯B,而RedHat1固定到交換矩陣互聯A — 這會導致需要穿過交換部分的流量。
Iperf3引數:
- 伺服器:iperf3 -s -i 1
- 客戶端iperf3 -c 10.37.9.131 -t 0 -i 1 -w 1M -V
選擇上述引數是為了實現高流量速率和易於發現資料包丟失。
TCP視窗被鉗位以避免已知的資料突發事件。允許iperf執行未鉗位可能會導致路徑沿途的輸入緩衝區發生偶發性捨棄(取決於QoS配置)。上述引數允許6-7 Gbps的持續速率而沒有幀丟失。
為了驗證我們是否可以檢查介面上的累積流量速率。
bdsol-n5548-07# show interface ethernet 1/1-2 | i rate
30 seconds input rate 5612504 bits/sec, 9473 packets/sec
30 seconds output rate 7037817832 bits/sec, 578016 packets/sec
input rate 5.60 Mbps, 9.38 Kpps; output rate 7.01 Gbps, 576.10 Kpps
30 seconds input rate 7037805336 bits/sec, 578001 packets/sec
30 seconds output rate 5626064 bits/sec, 9489 packets/sec
input rate 7.01 Gbps, 575.71 Kpps; output rate 6.56 Mbps, 9.79 Kpps
上面的輸出顯示7 Gbps的流量從介面Ethernet 1/2進入,離開介面Ethernet 1/1。
資料鏈路丟失
此測試用於測試當屬於vPC一部分的鏈路關閉時資料的行為。
此範例會使用乙太網路1/1(資料流量的輸出介面),但會使用指令行將其關閉。
bdsol-n5548-07# conf t
Enter configuration commands, one per line. End with CNTL/Z.
bdsol-n5548-07(config)# int et1/1
bdsol-n5548-07(config-if)# shut
在此案例中,由於6.5 Gbps資料流泛洪,只丟失了一個資料包。
UCS上portchannel中剩餘鏈路之間的流量幾乎立即達到平衡,在本例中使用UCS FI B的Ethernet 1/8(唯一剩餘)埠,該埠通向Nexus 5548 B,使用乙太網1/1將流量從那裡傳輸到UCS FI A。
bdsol-n5548-08# show interface ethernet 1/1-2 | i rate
30 seconds input rate 5575896 bits/sec, 9413 packets/sec
30 seconds output rate 6995947064 bits/sec, 574567 packets/sec
input rate 2.21 Mbps, 3.70 Kpps; output rate 2.78 Gbps, 227.99 Kpps
30 seconds input rate 6995940736 bits/sec, 574562 packets/sec
30 seconds output rate 5581920 bits/sec, 9418 packets/sec
input rate 2.78 Gbps, 227.99 Kpps; output rate 2.22 Mbps, 3.71 Kpps
中斷性升級或重新載入
可以通過執行bdsol-n5548-07(主vPC)的中斷升級模擬資料和控制平面的組合中斷。
預計流量丟失。
在功能上,此測試與重新載入vPC對等體相同。
bdsol-n5548-07# install all kickstart bootflash:n5000-uk9-kickstart.7.1.0.N1.1a.bin system bootflash:n5000-uk9.7.1.0.N1.1a.bin
(...)
Compatibility check is done:
Module bootable Impact Install-type Reason
------ -------- -------------- ------------ ------
1 yes disruptive reset Incompatible image
(...)
Switch will be reloaded for disruptive upgrade.
Do you want to continue with the installation (y/n)? [n] y
Install is in progress, please wait.
Performing runtime checks.
[####################] 100% -- SUCCESS
Setting boot variables.
[####################] 100% -- SUCCESS
Performing configuration copy.
[####################] 100% -- SUCCESS
Finishing the upgrade, switch will reboot in 10 seconds.
10秒後出現資料包丟失。
在這段時間內只丟失了55個資料包(在6.6 Gbps的資料流中)。
如果iperf3立即重新啟動,操作員可以驗證流量確實切換到了bdsol-n5548-08。
bdsol-n5548-08# show interface ethernet 1/1-2 | i rate
30 seconds input rate 5601392 bits/sec, 9455 packets/sec
30 seconds output rate 7015307760 bits/sec, 576159 packets/sec
input rate 2.25 Mbps, 3.77 Kpps; output rate 2.81 Gbps, 231.14 Kpps
30 seconds input rate 7015303696 bits/sec, 576152 packets/sec
30 seconds output rate 5605280 bits/sec, 9462 packets/sec
input rate 2.81 Gbps, 231.14 Kpps; output rate 2.25 Mbps, 3.77 Kpps
流量速率顯示低於6Gbps,因為速率計數器的平均值超過30秒。
vPC對等鏈路關閉
在此示例中,vPC對等鏈路關閉,由配置更改觸發。
此時,流量由bdsol-n5548-07(起作用的vPC輔助)處理。
事件的序列。
Port-channel 1關閉。
2015 2010年7月10日15:00:25 bdsol-n5548-07 %ETHPORT-5-IF_DOWN_CFG_CHANGE:Interface port-channel1已關閉(配置更改)
由於bdsol-n5548-07的作用是次要的,它將暫停其vPC,因為它無法保證無負載拓撲:
2015 Jul 10 15:00:28 bdsol-n5548-07 %VPC-2-VPC_SUSP_ALL_VPC: Peer-link going down, suspending all vPCs on secondary
2015 Jul 10 15:00:28 bdsol-n5548-07 %ETHPORT-5-IF_DOWN_INITIALIZING: Interface port-channel928 is down (Initializing)
2015 Jul 10 15:00:28 bdsol-n5548-07 %ETHPORT-5-IF_DOWN_INITIALIZING: Interface port-channel102 is down (Initializing)
2015 Jul 10 15:00:28 bdsol-n5548-07 %ETHPORT-5-IF_DOWN_INITIALIZING: Interface port-channel101 is down (Initializing)
在此期間,iperf3丟失了部分流量 — 90個資料包。
但恢復得很快。
由於vPC在bdsol-n5548-07上掛起,因此所有流量均由bdsol-n5548-08處理
bdsol-n5548-08# show int ethernet 1/1-2 | i rate
30 seconds input rate 5623248 bits/sec, 9489 packets/sec
30 seconds output rate 7036030160 bits/sec, 577861 packets/sec
input rate 2.83 Mbps, 4.74 Kpps; output rate 3.54 Gbps, 290.64 Kpps
30 seconds input rate 7036025712 bits/sec, 577854 packets/sec
30 seconds output rate 5627216 bits/sec, 9498 packets/sec
input rate 3.54 Gbps, 290.64 Kpps; output rate 2.83 Mbps, 4.75 Kpps
同樣,由於計算的是平均負載,因此速率不會立即顯示每秒6.5 GB。
從vPC鏈路故障中恢復。
當vPC對等鏈路恢復活動狀態時,流量可能會在鏈路之間重新平衡,並且可能會由於拓撲更改而出現短暫的資料包丟失。
在本實驗測試中,1個資料包丟失。
服務中軟體升級(ISSU)
在此測試中,已執行ISSU升級以驗證流量中斷。
在此測試期間的vPC角色如下所示:
bdsol-n5548-07 — 主要
bdsol-n5548-08 — 次要。
要執行ISSU定義的標準,必須滿足以下條件。
為了查詢有關用於檢查這些條件並執行ISSU的命令的資訊,使用了以下指南:
http://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus5500/sw/upgrade/705_N1_1/n5500_upgrade_downgrade_700.html#pgfId-727913。
在主節點上先執行ISSU,然後在輔助vPC對等節點上執行ISSU後,未丟失任何資料包。
這是因為ISSU的所有資料平面功能都保持未中斷的狀態,並且只有控制平面流量會受到影響。
ISSU的已知問題
第3層功能和許可證。
在ISSU測試期間,需要解決許多問題。「show install all impact ...」 命令可能會提供無法執行ISSU的輸出,說明如下:"如果啟用L3,則不支援無中斷安裝。" 在測試環境中,這是由於已安裝許可證檔案中的LAN_BASE_SERVICES_PKG正在使用所致。
LAN_BASE_SERVICES_PKG包括L3功能,為了執行ISSU,必須未使用此程式包,而且必須使用「clear license LICENSEFILE」命令從裝置清除許可證檔案。裝置當前可能正在使用許可證檔案。要清除此類許可證檔案,必須使用「show license usage」並禁用這些軟體包的功能,檢查哪些軟體包正在使用。
非邊緣STP埠
在測試期間,還必須關閉北向埠通道,因為它未通過「show spanning-tree issu-impact」非邊緣(標準3)檢查,這將導致中斷升級。在「show spanning-tree vlan 1」命令中,此北向埠通道未列為vPC邊緣。
對等保持連線鏈路丟失
在對等keepalive mgmt0鏈路丟失後,未記錄流量中的中斷。在此拓撲中,管理介面(mgmt0)用作保持連線鏈路,因此不會影響測試期間生成的資料流量。
裝置注意到mgmt0介面關閉,對等keepalive失敗,但由於對等鏈路處於開啟狀態,因此資料位置通訊可以繼續。
2015 Jul 14 12:11:28 bdsol-n5548-07 %IM-5-IM_INTF_STATE: mgmt0 is DOWN in vdc 1
2015 Jul 14 12:11:32 bdsol-n5548-07 %VPC-2-PEER_KEEP_ALIVE_RECV_FAIL: In domain 75, VPC peer keep-alive receive has failed
2015 Jul 14 12:12:07 bdsol-n5548-07 %IM-5-IM_INTF_STATE: mgmt0 is UP in vdc 1
禁用vPC功能
此測試將描述在即時資料傳輸期間一台交換機上禁用vPC時發生的情況。
可在全域性配置模式下使用以下命令禁用VPC功能:
bdsol-n5548-07(config)# no feature vpc
在主或輔助vPC對等體上禁用vPC功能會導致資料連線立即丟失。這是因為vPC的基於對等點的性質。禁用此功能後,交換機上的所有vPC功能都將停止運行,對等鏈路將關閉,vPC keepalive狀態將為「掛起」,測試環境的埠通道101將關閉。這一點在仍然啟用vPC功能的對等交換機的show vPC輸出中很明顯。
bdsol-n5548-07# show vpc
Legend:
(*) - local vPC is down, forwarding via vPC peer-link
vPC domain id : 75
Peer status : peer link is down
vPC keep-alive status : Suspended (Destination IP not reachable)
...
vPC status
----------------------------------------------------------------------------
id Port Status Consistency Reason Active vlans
------ ----------- ------ ----------- -------------------------- -----------
101 Po101 down success success -
就像以前一樣,交通中斷只是短暫的。
在上述測試條件下,單個會話丟失了50-80個資料包。
刪除「feature vpc」命令也導致從埠通道中刪除vPC配置。
需要重新讀取此配置。
結論
vPC功能旨在通過在多個裝置之間的埠通道中拆分資料流量來帶來恢復能力。
這個簡單的想法需要複雜的控制平面實現。
上述測試旨在顯示可能在功能的生命週期中發生的對控制平面和資料平面的破壞。
正如預期的那樣,幾乎立即檢測到資料平面中斷並對其進行糾正,在測試中丟失了單個資料包。
測試的控制平面中斷表明,即使控制平面受到影響,vPC仍能保持亞秒的收斂時間。
執行最具破壞性的測試(vPC對等鏈路正在關閉)可能同時存在資料故障和控制層面故障。同時也證明了收斂速度很快。