簡介
本文檔介紹執行Nexus 9000 CRC(循環冗餘檢查)指令碼的步驟,該指令碼標識具有CRC錯誤的埠並提供補救步驟。
背景資訊
預設情況下,Cisco Nexus 9000系列交換機使用直通交換。 直通交換是指交換機對幀做出轉發決定,並在交換機處理了足夠的幀報頭做出有效的轉發決定後立即開始從出口介面轉發幀。這不同於儲存轉發交換,在儲存轉發交換中,交換機在從輸出介面轉發幀之前緩衝整個幀。
要排除介面CRC錯誤,需要檢查CRC和FCS(幀校驗序列)計數器增量值,以排除這些交換機中的介面計數器錯誤。
此指令碼自動識別9200和9300雲規模ASIC(應用專用積體電路)交換機中的CRC/FCS錯誤。它定期收集介面CRC和FCS計數器值,檢視錯誤是歷史錯誤還是實際錯誤,並提供補救步驟。
指令碼執行分為兩個部分,
- 輪詢器指令碼(指令碼–1)每10-30收集一次檔案中的介面錯誤資料,最多持續七天。
- 分析器指令碼(Script-2)分析這些輸出,並給出帶有錯誤源介面以及僅轉發儲存資料包的介面的表格輸出。
至少在30分鐘的指令碼–1執行後運行指令碼–2,即至少在script-1執行過程中收集兩個或多個檔案時。
指令碼將收集這些命令集的輸出並對其進行分析以確定CRC的來源。請參閱「相關資訊」部分中的連結。
switch# show interface
switch# show interface counters errors non-zero
switch# show interface hardware-mappings
switch# 插槽{x} show hardware internal tah counters asic {y}
必要條件
指令碼可在Git上獲得。
它需要從網路訪問Nexus交換機的客戶端電腦(跳轉伺服器)下載並執行,而需要進行CRC錯誤分析。
按一下此處下載指令碼。
需求
確保在客戶端電腦(跳轉伺服器)中安裝這些前提條件:
- Python3
- 可對Nexus交換機進行網路訪問的客戶端電腦(跳轉伺服器)
- Nexus_CRC_requirements.txt以git格式提供,用於安裝在客戶端電腦上。
(這是客戶端跳轉主機的一次性設定。此步驟將安裝所需的python庫以跳轉)
安裝requirements.txt的步驟
步驟1:下載NEXUS_CRC_requirements.txt
第2步:開啟終端視窗/命令提示符
第3步:導航到NEXUS_CRC_requirements.txt所在的資料夾,然後運行命令:
#pip install -r Nexus_CRC_requirements.txt
成功安裝後,將顯示如下消息:
已成功安裝DateTime-4.3 numpy-1.21.2 pandas-1.3.2 paramiko-2.7.2 python-dateutil-2.8.2 stdiomask-0.0.5平板式–0.8.9 termcolor-1.1.0
採用元件
指令碼在這些跳轉伺服器上進行了測試:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
相關產品
此指令碼旨在分析Nexus 9200和9300雲規模ASIC交換機的CRC錯誤:
適用的平台:Nexus 9200/9300固定交換機
- N9K-C92160YC-X
- N9K-C92300YC
- N9K-C92304QC
- N9K-C92348GC-X
- N9K-C9236C
- N9K-C9272Q
- N9K-C9332C
- N9K-C9364C
- N9K-C93108TC-EX
- N9K-C93108TC-EX-24
- N9K-C93180LC-EX
- N9K-C93180YC-EX
- N9K-C93180YC-EX-24
- N9K-C93108TC-FX
- N9K-C93108TC-FX-24
- N9K-C93180YC-FX
- N9K-C93180YC-FX-24
- N9K-C9348GC-FXP
- N9K-C93240YC-FX2
- N9K-C93216TC-FX2
- N9K-C9336C-FX2
- N9K-C9336C-FX2-E
- N9K-C93360YC-FX2
- N9K-C93180YC-FX3
- N9K-C93108TC-FX3P
- N9K-C93180YC-FX3S
- N9K-C9316D-GX
- N9K-C93600CD-GX
- N9K-C9364C-GX
- N9K-C9364D-GX2A
- N9K-C9332D-GX2B
背景資訊
預設情況下,Cisco Nexus 9000系列交換機使用直通交換。
需要檢查CRC和FCS計數器增量值,以排除這些交換機中的介面計數器錯誤故障。
此指令碼自動識別9200和9300雲級ASIC交換機中的CRC/FCS錯誤。它定期收集介面CRC和FCS計數器值,檢視錯誤是歷史錯誤還是實際錯誤,並提供補救步驟。
指令碼執行分為兩個部分,
- 輪詢器指令碼(指令碼–1)每10-30收集一次檔案中的介面錯誤資料,最多持續七天。
- 分析器指令碼(Script-2)分析這些輸出,並給出帶有錯誤源介面以及僅轉發儲存資料包的介面的表格輸出。
至少在30分鐘的指令碼–1執行後運行指令碼–2,即至少在script-1執行過程中收集兩個或多個檔案時。
指令碼執行步驟
輪詢器指令碼(指令碼–1)執行
這些步驟是為了執行Poller指令碼,該指令碼定期在檔案中收集CRC /FCS錯誤計數器。
第1步:打開terminal /command提示符並執行「NEXUS_CRC_POLLER.py」 :
#python3 NEXUS_CRC_POLLER.py
輸入資料:
輸入Nexus交換機IP /FQDN、使用者名稱和密碼:
步驟2:輸入要儲存檔案的資料夾路徑(跳轉主機上的位置):
有效的資料夾格式:
範例:
Windows-> C:\Users\Admin\Desktop\Nexus\
MAC -> /Users/admin/Desktop/Nexus/
**請注意,如果資料夾格式不是上述格式,則資料收集和指令碼執行會受到影響。此外,請確保要儲存檔案的資料夾已存在**
步驟3:輸入要運行指令碼的持續時間:
最長 — 七天
最小 — 運行至少30分鐘,多次收集CRC計數器並確定增量
**指令碼每10到30分鐘收集一次介面錯誤,並將資料儲存到檔案之前的輸入中指定的路徑上。基於輸入中提供的結束時間的資料收集指令碼結束時間**
第4步:如果域中沒有錯誤,它會詢問使用者是否仍要繼續並再次收集資料:
分析器指令碼(指令碼2)執行
這些步驟是執行Parser指令碼,該指令碼分析由Poller指令碼收集的CRC /FCS錯誤檔案,並提供補救步驟。
開始解析器指令碼(指令碼–2)執行時,在輪詢器指令碼(指令碼–1)執行過程中至少生成兩個檔案來比較資料(即輪詢器指令碼執行大約30分鐘之後)。
將終端會話字型解析度保持為100%,以獲得正確的表格輸出檢視。
第1步:開啟terminal /command prompt並執行「NEXUS_CRC_PARSER.py」:
輸入從Script-1收集資料的相同檔案位置。
範例:
輸入儲存檔案的資料夾的絕對路徑:/Users/rgajjar/Desktop/CRC_NEXUS/
分析器指令碼(指令碼–2)輸出檢查
交換機版本>=10.2的「執行與輸出」表示例:
交換機版本< 10.2的執行和輸出表示例:
相關資訊
要進一步瞭解N9K CRC錯誤的識別,請參閱:https://www.cisco.com/c/en/us/support/docs/switches/nexus-9000-series-switches/216239-nexus-9000-cloud-scale-asic-crc-identifi.html#anc12