简介
本文档介绍执行Nexus 9000 CRC(循环冗余校验)脚本的步骤,该脚本标识存在CRC错误的端口并提供补救步骤。
背景信息
默认情况下,Cisco Nexus 9000系列交换机使用直通交换。 直通交换是指交换机对帧做出转发决策,并在交换机处理了足够的帧报头做出有效转发决策后,开始从出口接口转发帧。这与存储转发交换不同,存储转发交换是指交换机在将帧从出口接口转发出来之前缓冲整个帧。
要排除接口CRC错误,需要检查CRC和FCS(帧校验序列)计数器增量值,以排除这些交换机中的接口计数器错误。
此脚本可自动识别9200和9300云扩展ASIC(专用集成电路)交换机中的CRC/FCS错误。它定期收集接口CRC和FCS计数器值,以查看错误是历史错误还是实际错误,并提供补救步骤。
脚本执行分为两个部分,
- 轮询器脚本(脚本–1)每10-30收集一次文件中的接口错误数据,持续时间最多为七天。
- 解析器脚本(Script-2)会分析这些输出,并提供表格输出,其中带有作为错误来源的接口,以及刚刚转发已压缩数据包的接口。
至少在脚本–1执行30分钟之后运行脚本–2,这至少是在作为脚本–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交换机的客户端(跳转服务器)下载并执行,需要对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-93180-YC-EX-24
- N9K-C-93108-FX
- N9K-C93108TC-FX-24
- N9K-C-93180-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-C-93180-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)会分析这些输出,并提供表格输出,其中带有作为错误来源的接口,以及刚刚转发已压缩数据包的接口。
至少在脚本–1执行30分钟之后运行脚本–2,这至少是在作为脚本–1执行的一部分收集两个或多个文件时。
脚本执行步骤
轮询器脚本(脚本–1)执行
这些步骤用于执行Poller脚本,该脚本定期在文件中收集CRC /FCS错误计数器。
第1步:打开terminal /command prompt并执行“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脚本,该脚本分析轮询器脚本收集的CRC /FCS错误文件并提供补救步骤。
开始解析器脚本(Script-2)执行,在轮询器脚本(Script-1)执行过程中至少生成了两个文件以比较数据(即轮询器脚本执行大约30分钟之后)。
将终端会话字体分辨率保持为100%,以获得正确的表格输出视图。
第1步:打开终端/命令提示符并执行“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