소개
이 문서에서는 CRC 오류가 있는 포트를 식별하고 교정 단계를 제공하는 Nexus 9000 CRC(Cyclic Redundancy Check) 스크립트를 실행하는 단계에 대해 설명합니다.
배경 정보
Cisco Nexus 9000 Series 스위치는 기본적으로 컷스루 스위칭을 사용합니다. 컷스루 스위칭은 스위치에서 프레임에 대해 포워딩 결정을 내리고, 스위치에서 프레임 헤더를 충분히 처리하여 유효한 포워딩 결정을 내리는 즉시 이그레스 인터페이스에서 프레임을 포워딩하기 시작하는 것입니다. 이는 이그레스 인터페이스에서 프레임을 포워딩하기 전에 스위치에서 전체 프레임을 버퍼링하는 저장 후 전달 스위칭과 다릅니다.
인터페이스 CRC 오류를 해결하려면 CRC 및 FCS(Frame Check Sequence) 카운터 증분 값을 검토하여 이러한 스위치의 인터페이스 카운터 오류를 해결해야 합니다.
이 스크립트는 9200 및 9300 클라우드 스케일 ASIC(Application Specific Integrated Circuit) 스위치에서 CRC/FCS 오류 식별을 자동화합니다. 주기적인 간격으로 인터페이스 CRC 및 FCS 카운터 값을 수집하여 오류가 기록 또는 라이브 상태인지 확인하고 교정 단계를 제공합니다.
스크립트 실행은 두 부분으로 나뉘며,
- 폴러 스크립트(Script-1)는 최대 7일 동안 10~30일마다 파일의 인터페이스 오류 데이터를 수집합니다.
- Parser Script(Script-2)는 이러한 출력을 분석하고 오류의 소스인 인터페이스 및 압축된 패킷을 전달하는 인터페이스를 사용하여 테이블 형식의 출력을 제공합니다.
script-1을 30분 정도 실행한 후, 즉 script-1 실행의 일부로 2개 이상의 파일이 수집되면 script-2를 실행합니다.
스크립트는 이러한 명령 집합의 출력을 수집하고 이를 분석하여 CRC의 소스를 식별합니다. "관련 정보" 섹션의 링크를 참조하십시오.
switch# show interface
switch# 0이 아닌 인터페이스 카운터 오류 표시
switch# show interface 하드웨어 매핑
스위치 번호 슬롯 {x} show hardware internal tah counters asic {y}
사전 요구 사항
이 스크립트는 Git에서 사용할 수 있습니다.
CRC 오류 분석이 필요한 Nexus 스위치에 대한 네트워크 액세스와 함께 클라이언트 머신(jump server)에서 다운로드하고 실행해야 합니다.
스크립트를 다운로드하려면 여기를 클릭하십시오.
요구 사항
클라이언트 시스템(jump server)에 이러한 전제 조건이 설치되어 있는지 확인합니다.
- 파이썬3
- Nexus 스위치에 대한 네트워크 액세스를 갖는 클라이언트 시스템(jump 서버)
- 클라이언트 컴퓨터에 설치할 git에서 Nexus_CRC_requirements.txt를 사용할 수 있습니다.
(클라이언트 점프 호스트에서 1회 설정입니다. 이 단계에서는 jump-host에 필요한 python 라이브러리를 설치합니다.
requirements.txt를 설치하는 단계
1단계: NEXUS_CRC_requirements.txt 다운로드
2단계: 터미널 창/명령 프롬프트 열기
3단계: NEXUS_CRC_requirements.txt가 있는 폴더로 이동한 다음 명령을 실행합니다.
#pipr 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 tabulate-0.8.9 termcolor-1.1.0을 성공적으로 설치했습니다.
사용되는 구성 요소
스크립트는 다음 점프 서버에서 테스트됩니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
관련 제품
이 스크립트는 Nexus 9200 및 9300 Cloud Scale ASIC 스위치에 대한 CRC 오류를 분석하기 위한 것입니다.
해당 플랫폼: Nexus 9200/9300 Fixed 스위치
- 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 Series 스위치는 기본적으로 컷스루 스위칭을 사용합니다.
CRC 및 FCS 카운터 증분 값을 검토하여 이러한 스위치의 인터페이스 카운터 오류를 해결해야 합니다.
이 스크립트는 9200 및 9300 클라우드 스케일 ASIC 스위치에서 CRC/FCS 오류 식별을 자동화합니다. 주기적인 간격으로 인터페이스 CRC 및 FCS 카운터 값을 수집하여 오류가 기록 또는 라이브 상태인지 확인하고 교정 단계를 제공합니다.
스크립트 실행은 두 부분으로 나뉘며,
- 폴러 스크립트(Script-1)는 최대 7일 동안 10~30일마다 파일의 인터페이스 오류 데이터를 수집합니다.
- Parser Script(Script-2)는 이러한 출력을 분석하고 오류의 소스인 인터페이스 및 압축된 패킷을 전달하는 인터페이스를 사용하여 테이블 형식의 출력을 제공합니다.
script-1을 30분 정도 실행한 후, 즉 script-1 실행의 일부로 2개 이상의 파일이 수집되면 script-2를 실행합니다.
스크립트 실행 단계
폴러 스크립트(스크립트-1) 실행
이 단계는 주기적으로 파일의 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단계: 스크립트를 실행할 기간을 입력합니다.
최대 - 7일
Minimum(최소) - CRC 카운터를 여러 번 수집하고 증분 식별을 위해 30분 이상 실행합니다.
**Script는 10~30분마다 인터페이스 오류를 수집하고 이전 입력에서 지정한 경로에 있는 파일에 데이터를 저장합니다. 입력에 제공된 End Time을 기준으로 한 데이터 수집 스크립트 종료 시간입니다**
4단계: 도메인에 오류가 없으면 사용자가 계속 진행하여 데이터를 한 번 더 수집할지 묻습니다.
파서 스크립트(스크립트-2) 실행
이 단계는 폴러 스크립트에서 수집한 CRC/FCS 오류 파일을 분석하고 교정 단계를 제공하는 파서 스크립트를 실행하는 것입니다.
데이터를 비교하기 위해 폴러 스크립트(Script-1) 실행의 일부로 생성된 두 개 이상의 파일이 있으면(폴러 스크립트 실행 약 30분 후) 파서 스크립트(Script-2) 실행을 시작합니다.
올바른 표 형식 출력 보기를 위해 터미널 세션 글꼴 해상도를 100%로 유지합니다.
1단계: terminal /command 프롬프트를 열고 "NEXUS_CRC_PARSER.py"를 실행합니다.
Script-1에서 데이터를 수집한 동일한 파일 위치를 입력합니다.
예:
파일이 저장된 폴더의 절대 경로를 입력합니다. /Users/rgajjar/Desktop/CRC_NEXUS/
파서 스크립트(Script-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