본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 스태킹 포트/케이블 문제 및 자동 재로드와 관련된 문제에 대한 명령/등록 문제를 해결하는 방법에 대해 설명합니다.
유용한 레지스터(각 ASIC 및 코어용)를 수집하고 분석합니다. 세 가지 주요 항목이 있습니다.
show platform hardware fed switch active fwd-asic register read register-name <name>
첫 번째 비트는 asic이 사용 가능한지 여부를 알려줍니다. 0x1로 설정되어 있습니다. 0x0으로 설정된 경우 전달 문제가 있습니다. 오류 카운터 또는 상자에서 패킷을 제대로 복구할 수 없습니다.
Switch#sh platform hardware fed switch active fwd-asic register read register-name SifInfo For asic 0 core 0 Module 0 - SifInfo[0][0] available : 0x1 <---- should be 0x1 indicating balloting is completed headerVersion : 0x0 nodeAllLinksAvailable : 0x1 nodeId : 0x4 <---- asic ID (unique across all asics in the stack) numNodes : 0x8 <---- how many asics are there in whole stack serdesSpeed : 0x2 sifAllLinksAvailable : 0x1 sifSupStall : 0x0 wrappedAtRac0 : 0x0 <---- If a single stack port is down, 3 of 6 should wrap w/ value wrappedAtRac1 : 0x0 of 0x1. Will appears in groups for 0, 2 and 4 or 1, 3 and 5. wrappedAtRac2 : 0x0 wrappedAtRac3 : 0x0 wrappedAtRac4 : 0x0 wrappedAtRac5 : 0x0
참고: 각 스택 케이블에는 6개의 랙 링(링 액세스 제어)이 있으며, 각각 40Gig에서 3개의 발신/3개의 수신 링이 있습니다. WrappedAtRac 0부터 5까지는 스택 링크가 다운되었는지 여부에 따라 달라집니다. 상황이 좋으면 0x0(기본당 링크 6개, 발신 3개, 수신 3개)으로 표시됩니다. 예를 들어 홀수는 나가는 수이고 짝수는 들어오는 수이거나 그 반대의 경우도 마찬가지입니다.
각 Rac를 자세히 확인하기 위해 확인할 중요 요소가 표시됩니다. active/linkOk/syncOk 비트는 특정 Rac가 연결되었는지 여부를 알려줍니다(OK이면 0x1로 표시됨).
Switch#sh plat hardware fed sw active fwd-asic register read register-name SifRacStatus For asic 0 core 0 Module 0 - SifRacStatus[0][0] active : 0x1 <---- available : 0x1 copyOk : 0x1 disabled : 0x0 insertOk : 0x1 linkOk : 0x1 <---- messageOk : 0x1 noDataOnRing : 0x0 pcsAlignmentOk : 0x1 pcsCodewordSync : 0xf reOrderOk : 0x1 slapId : 0x0 stripOk : 0x1 syncOk : 0x1 <---- toPbcOk : 0x1 transmitOk : 0x1
Rac의 전원이 꺼졌는지 여부를 확인합니다. greenPowerDisable 매개 변수를 확인합니다. 이는 모든 Racs(적어도 Nyquist 플랫폼의 경우)에 대해 0x0을 보여줍니다. 하단 박스인 3650 스위치와 같이 스택 케이블 자체의 HW 제한으로 인해 Racs 전원 중단 또는 greenPowerDisable 매개변수가 0x1로 표시되는 몇 가지 예외가 있습니다. 그러면 스택 케이블은 기본당 2개의 Racs만 지원합니다. 나머지 2개의 Acl의 전원이 꺼집니다.
Switch#sh plat hardware fed sw active fwd-asic register read register-name SifRacControl For asic 0 core 0 Module 0 - SifRacControl[0][0] copyEn : 0x1 deployToken : 0x0 disablePmaChecks : 0x0 forceSync : 0x0 greenPowerDisable : 0x0 <---- init : 0x0 initRacInfoLinkedList : 0x0 insertEn : 0x1 messageEn : 0x1 reOrderEn : 0x1 stripEn : 0x1 toPbcEn : 0x1 transmitEn : 0x1
이는 시스템에 링크 변경(작동/중단 상황)이 있기 때문에 트리거됩니다. 인터럽트는 소프트웨어 레벨에서 처리됩니다. 링크 관련 변경 사항이 있는지 확인하기 위해 처리된 다음 게시됩니다(로그 생성).
Switch#sh plat hardware fed sw active fwd-asic register read register-name SifExceptionInterruptA4 For asic 0 core 0 Module 0 - SifExceptionInterruptA4[0][0] sifRac0LinkOkChange : 0x0 sifRac0LinkedListSpill : 0x0 sifRac0SyncOkChange : 0x1 sifRac0TransitFifoSpill : 0x0 sifRac1LinkOkChange : 0x0 sifRac1LinkedListSpill : 0x0 sifRac1SyncOkChange : 0x1 sifRac1TransitFifoSpill : 0x0 sifRac2LinkOkChange : 0x0 sifRac2LinkedListSpill : 0x0 sifRac2SyncOkChange : 0x1 sifRac2TransitFifoSpill : 0x0 sifRac3LinkOkChange : 0x0 sifRac3LinkedListSpill : 0x0 sifRac3SyncOkChange : 0x1 sifRac3TransitFifoSpill : 0x0 sifRac4LinkOkChange : 0x0 sifRac4LinkedListSpill : 0x0 sifRac4SyncOkChange : 0x1 sifRac4TransitFifoSpill : 0x0 sifRac5LinkOkChange : 0x0 sifRac5LinkedListSpill : 0x0 sifRac5SyncOkChange : 0x1 sifRac5TransitFifoSpill : 0x0
이것은 하드웨어 인터럽트로, 투표 완료 시 세부사항을 알려줍니다 (투표 = 기본 초기화 프로세스). A8이 완료되면 시스템은 기본 가용 비트가 제대로 설정되었는지 확인합니다. 그렇지 않은 경우 투표가 다시 실행됩니다.
참고: 최대 개수에 도달하면 스위치가 다시 로드되고 사용 가능한 HW 비트가 설정되지 않았거나 투표가 완료되지 않았습니다.
Switch#sh plat hardware fed sw active fwd-asic register read register-name SifExceptionInterruptA8 For asic 0 core 0 Module 0 - SifExceptionInterruptA8[0][0] sifBallotDone : 0x0 sifBallotOverallTimerExpires : 0x0 sifBallotPerStateTimerExpires : 0x0 sifBallotSpeedChangeNeeded : 0x0 sifBallotStart : 0x1 sifDebugSent : 0x0 sifEastNeighborChange : 0x1 sifMessageReceiveBufferCreditsEmpty : 0x0 sifMessageReceived : 0x1 sifMessageSent : 0x1 sifNodeIdChanged : 0x1 sifOob3in2DropCntOverflow : 0x0 sifOobFlushDropCntOverflow : 0x0 sifOobStackSifCreditDropCntOverflow : 0x0 sifOobStackSifMtuDropCntOverflow : 0x0 sifOobSupSifMtuDropCntOverflow : 0x0 sifRacInfoLinkedListInitDone0 : 0x1 sifRacInfoLinkedListInitDone1 : 0x1 sifRacInfoLinkedListInitDone2 : 0x1 sifRacInfoLinkedListInitDone3 : 0x1 sifRacInfoLinkedListInitDone4 : 0x1 sifRacInfoLinkedListInitDone5 : 0x1 sifSegmentBuffer0LinkedListSpill : 0x0 sifSegmentBuffer1LinkedListSpill : 0x0 sifSegmentBufferLinkedListInitDone0 : 0x1 sifSegmentBufferLinkedListInitDone1 : 0x1 sifStackTopologyChange : 0x1 sifUnmappedDestIndex : 0x0 sifWestNeighborChange : 0x1
다음 명령은 SDP 메시지와 SIF 관리 메시지를 포함하는 SIF 카운터를 표시합니다. 실패한 메시지가 있는 경우 해당 메시지에 초점을 맞춥니다.
Switch#show platform software sif switch active r0 counters Stack Interface (SIF) Counters ------------------------------ Stack Discovery Protocol (SDP) Messages --------------------------------------- Message Tx Success Tx Fail Rx Success Rx Fail ------------------------------------------------------------------------------ Discovery 0 0 0 0 Neighbor 0 0 0 0 Forward 455966 0 1355818 107 --------------------------------------- SIF Management Messages ----------------------- Message Success Fail -------------------------------------------------- Link Status 16 0 Link Management 0 0 Chassis Num 1 0 Topo Change 3 0 Active Declare 1 0 Template set 2 0
추가 명령을 실행할 수 있으며 인터럽트가 임계값을 초과할 때만 정보를 표시합니다. 명령은 입니다show platform software sif switch active R0 exceptions.
interrupts에 문제가 없을 때의 출력은 다음과 같습니다.
Switch#
Switch#show platform software sif switch active R0 exceptions
Switch#
인터럽트가 있을 때 출력은 다음 스크립트와 비슷합니다. 인터럽트는 몇 가지 시나리오(부팅, 플러그/플러그 해제 등)에서 예상되므로 실제 문제가 있고 인터럽트가 계속 발생하는 경우 초/분 동안 명령을 반복해서 실행하십시오.
Switch#show platform software sif switch active r0 exceptions
*******************************
Asicnum: 0
SIF INT : SIFEXCEPTIONINTERRUPTA1_SIFRAC5PMARECEIVEFIFOSPILL3_FIELD_IDX
Occurred count: 1
First Time: Fri May 18 08:03:23 2018
Last Time: Fri May 18 08:03:23 2018
---------------------------------
SIF INT : SIFEXCEPTIONINTERRUPTA1_SIFRAC5PMARECEIVEFIFOSPILL2_FIELD_IDX
Occurred count: 1
First Time: Fri May 18 08:03:23 2018
Last Time: Fri May 18 08:03:23 2018
---------------------------------
SIF INT : SIFEXCEPTIONINTERRUPTA1_SIFRAC5PMARECEIVEFIFOSPILL1_FIELD_IDX
Occurred count: 1
First Time: Fri May 18 08:03:23 2018
Last Time: Fri May 18 08:03:23 2018
---------------------------------
SIF INT : SIFEXCEPTIONINTERRUPTA1_SIFRAC5PMARECEIVEFIFOSPILL0_FIELD_IDX
Occurred count: 1
First Time: Fri May 18 08:03:23 2018
Last Time: Fri May 18 08:03:23 2018
이 표에서는 다음과 같은 가장 일반적인 SIF 예외에 대해 자세히
show platform software sif switch active R0 exceptions 설명합니다.
예외 번호 | 필드 이름 | 심각도 | 사용 | 설명 |
0 | sifRac{0:5}PmaTransmitFifoSpill{0:3} | major(중요) | 통계 | 이는 시스템 클록과 직렬 클록 사이의 푸시-풀 FIFO가 클록 스필을 초과할 경우 발생합니다. 이런 일이 일어날 수 없습니다. 이 경우, Serdes 클럭이 (프로그래밍 또는 잘못된 Serdes에 의해) 비활성화되었음을 나타내는 표시일 가능성이 높습니다. 프로그래밍 문제 때문이 아니라면 이는 중대한 사안이다. 하지만 SIF는 스스로 치유합니다. 작은 문제의 최종 결과는 분실 세그먼트이거나 극단적인 경우에는 재초기화 입니다. 이것이 작은 문제가 아니었다면, 그리고 그것이 여전히 발생하고 있다면, 그리고 나서 이 국장을 처리한 후에, 그것은 당신에게 그 상태가 이 시점에서 여전히 발생하고 있다고 말하면서, 재발사합니다. 이 전송 링크는 toast입니다. |
1 | sifRac{0:5}PmaReceiveFifoSpill{0:3} | major(중요) | 통계 | 이는 시스템 클록과 직렬 클록 사이의 푸시-풀 FIFO가 클록 스필을 초과할 경우 발생합니다. 이런 일이 일어날 수 없습니다. 이 경우, Serdes 클럭이 (프로그래밍 또는 잘못된 Serdes에 의해) 비활성화되었음을 나타내는 표시일 가능성이 높습니다. 프로그래밍 문제 때문이 아니라면 이는 중대한 사안이다. 하지만 SIF는 스스로 치유합니다. 작은 문제의 최종 결과는 분실 세그먼트이거나 극단적인 경우에는 재초기화 입니다. 이것이 작은 문제가 아니었다면, 그리고 그것이 여전히 발생하고 있다면, 그리고 나서 이 국장을 처리한 후에, 그것은 당신에게 그 상태가 이 시점에서 여전히 발생하고 있다고 말하면서, 재발사합니다. 이 전송 링크는 toast입니다. |
2 | sifRac{0:5}SerdesLossOfLock{0:3} | major(중요) | 통계 | 수신된 Serdes 클럭의 상태를 알려주기 위해 sifRac{0:5}PmaReceiveFifoSplit{0:3}과(와) 상관관계에 사용됩니다. 정상 작동 조건입니다. 사양이 부족한 경우 IdleDensity Timer는 차이를 보상할 수 없습니다. 일반적으로, 이것은 수신기 Serdes가 제대로 작동 한다는 가정이 실제로 사실임을 보장하기 위한 문제 검사기입니다. |
3 | sifRac{0:5}ClockLossOfLock{0:3} | major(중요) | 통계 | 수신된 Serdes 클럭의 상태를 알려주기 위해 sifRac{0:5}PmaReceiveFifoSplit{0:3}과(와) 상관관계에 사용됩니다. 정상 작동 조건입니다. 사양이 부족한 경우 IdleDensity Timer는 차이를 보상할 수 없습니다. 일반적으로, 이것은 수신기 Serdes가 제대로 작동 한다는 가정이 실제로 사실임을 보장하기 위한 문제 검사기입니다. |
4 | sifRac{0:5}syncOkChange | minor(경미) | 모니터링 | 링크 플랩 표시 |
sifRac{0:5}링크OkChange | minor(경미) | 모니터링 | 링크 플랩 표시 | |
sifRac{0:5}linkedListSpill | major(중요) | 모니터링 | 재정렬 알고리즘의 일부인 RAC 연결 목록이 가능한 최대 항목을 초과했습니다. 이는 재주문이 이 RAC에서 데이터 세그먼트 및 OOB 메시지를 테일 드롭하고 있음을 의미합니다. 이는 스택이 잘못 구성되었거나 연결된 목록에 소프트 오류가 발생하지 않은 경우 발생할 수 없습니다. 예외 9 및 10을 참조하십시오. | |
sifRac{0:5}transitFifoSpill | major(중요) | 통계 | SIF를 통해 다른 노드로 데이터를 이동하는 TransitFifo의 책임으로 인해 IdleDensityTimer w.r.t.가 이 스위치와 네이버의 실제 Serdes 클록 ppm(parts per million) 오프셋으로 잘못 구성되었기 때문일 가능성이 높습니다. | |
5 | sifRac{0:5}missingToken | major(중요) | 통계 | Stack Conch 셸이 유실, 손상, 재배포되는 등의 문제가 발생했습니다. 이는 스택의 비트 히트가 SifTokenDesc에 도달했음을 나타내는 것일 수 있습니다. 이것은 일어날 가능성이 매우 희박한 일입니다. 이를 다양한 방법으로 처리하도록 SIF를 구성할 수 있습니다. 다시 투표하고 처음부터 다시 시작하거나, 토큰을 다시 배포하거나, SIF가 다시 배포하도록 허용합니다. |
sifRac{0:5}duplicateToken | major(중요) | 통계 | ||
sifRac{0:5}tokenDeployed | 정보 | 통계 | ||
6 | sifRac{0:5}RwCrcErrorCntOverflow | minor(경미) | 통계 | 스택 케이블 또는 네이버 박스의 모든 표시기가 손상되었을 가능성이 높습니다. 주로 디버깅을 위해 이 세부 사항을 살펴봅니다. 정상 작동 과정에서 syncOkChange 및 linkOkChange는 사용자가 알아야 할 전부입니다. LONG-TERM-BER를 수집할 때, 비트 오류의 적절한 카운팅을 위해 카운터가 롤오버될 때 이들을 모니터링하고 카운트해야 합니다. invalidRw 또는 pcsCodeWordError가 있는 경우 CRC가 검사되지 않을 수 있습니다. 이렇게 하면 BER에 대한 이 모든 레지스터를 합산할 수 있습니다. |
sifRac{0:5}데이터 Crc오류CntOverflow | minor(경미) | 통계 | ||
sifRac{0:5}InvalidRwErrorCntOverflow | minor(경미) | 통계 | ||
sifRac{0:5}PcsCodeWordErrorCntOverflow | minor(경미) | 통계 | ||
7 | sifRac{0:5}RdispErrorCntOverflow | minor(경미) | 통계 | |
sifRac{0:5}PrbsUnLockErrorCntOverflow | 정보 | 통계 | 최적의 프로그램을 찾기 위해 IBM HSS 매크로의 최상의 구성을 찾는 데 사용할 수 있는 통계를 제공합니다. | |
sifRac{0:5}PrbsBitErrorCntOverflow | 정보 | 통계 | ||
sifRac{0:5}오류 캡처CntOverflow | 정보 | 실습 | 스택에서 무슨 일이 일어나고 있는지 확인하기 위해 검사를 위해 오류가 발생한 ringWords의 형식을 캡처하기 위한 통계를 표시합니다. | |
8 | sifRacInfoLinkedListInitDone{0:5} | 정보 | 모니터링 | RAC 연결 목록의 HW 초기화가 완료되었습니다. |
sifDropSegmentCntOverflow | 정보 | 통계 | ||
sifPbcInconsistentSopEopCntOverflow | 정보 | 통계 | 최악의 시나리오죠 PBC의 프로토콜 양식에 따라 데이터 도착을 확인합니다. | |
sifPbcErrorCntOverflow | 정보 | 통계 | ||
sifSupInconsistentSopEopCntOverflow | 정보 | 통계 | 최악의 시나리오죠 SUP(OOBM)의 프로토콜 양식에 따라 데이터 도착을 확인합니다. | |
sif수퍼바이저 오류CntOverflow | 정보 | 통계 | ||
sifReorderInconsistentSopEopCntOverflow | 정보 | 통계 | 누락된 세그먼트 표시기가 롤오버되었음을 나타냅니다. | |
sif디버그 전송됨 | 정보 | 실습 | 스택에 디버그 세그먼트를 삽입하라는 표시를 표시합니다. | |
sif메시지 전송됨 | 정보 | 실습 | OOBM의 자동화된 특성으로 인해, 이들은 실습 상황에서만 유용하다. | |
sif메시지수신 | 정보 | 실습 | ||
sif메시지드랍됨 | 정보 | 실습 | ||
sifMessageReceiveBufferCreditsEmpty | minor(경미) | 모니터링 | 크레딧이 발생하는 경우 이를 새로 고치십시오. 신용등급은 이것이 이탈되지 않도록 적극적으로 모니터링된다. | |
sif매핑되지 않은 대상 인덱스 | minor(경미) | 통계 | 복사/스트립 동안 destIndex를 매핑할 수 없으며 portCopy가 '0'으로 설정되고 portStrip이 '1'로 설정되었습니다. 이는 컨피그레이션 문제를 나타냅니다. | |
sifSegmentBuffer{0:1}linkedListSpill | major(중요) | 모니터링 | 다시 주문의 일부인 세그먼트 연결 목록이 가능한 최대 항목을 초과했습니다. 다시 정렬이 이제 데이터 세그먼트 및 OOB 메시지를 테일 드롭하고 있음을 나타냅니다. 이는 스택이 잘못 구성되었거나 연결된 목록에 소프트 오류가 발생하지 않은 경우 발생할 수 없습니다. 예외 9 및 10을 참조하십시오. | |
sifSegmentBufferLinkedListInitDone{0:1] | 정보 | 모니터링 | 세그먼트 연결 목록의 HW 초기화가 완료되었습니다. | |
sifVoteDone | 정보 | 모니터링 | 기표 투표가 완료되었습니다. | |
sifVotingSpeedChangeNeeded | 정보 | 모니터링 | 마지막 투표 성공 이후 스택 링크에서 새로운 속도가 필요합니다. 즉, 노드가 스택에 들어왔으므로 스택 속도의 동적인 상태가 변경되었습니다. 현재 속도보다 느리면 스택이 아래로 조정해야 합니다. 또는 이전보다 더 빨라진 것입니다. 이는 새로운 짧은 케이블의 결과일 수 있습니다. | |
sifEastNeighbor변경 | 정보 | 모니터링 | 스택 가동, 병합 및 랩 시나리오를 모니터링합니다. | |
sifWestNeighbor변경 | 정보 | 모니터링 | ||
sif노드 ID변경됨 | 정보 | 모니터링 | 마지막 투표의 결과로 SifInfo.nodeId가 변경되었음을 나타냅니다. | |
sifStack토폴로지변경 | 정보 | 모니터링 | 스택 가동, 병합 및 랩 시나리오를 모니터링합니다. | |
9 | sifRacInfoBuffer{0:5}EccCorrected | major(중요) | 모니터링 | sifRacInfoBuffer{0:5}에 소프트 오류가 발생했습니다. 이 문제는 심각하지만 최악의 경우 일부 순서가 잘못된 패킷 또는 나중에 이그레스 데이터 경로에 패킷이 드롭됩니다. 여기서는 도플러 재설정이 필요하지 않습니다. |
sifRacInfoBuffer{0:5}EccDetected | major(중요) | 모니터링 | ||
sifRacInfoLinkedListBuffer{0:5}EccCorrected | major(중요) | 모니터링 | sifRacInfoLinkedListBuffer{0:5}에 소프트 오류가 발생했습니다. 이 SW 부하에 대한 과도한 HA 지침에 따라 Doppler를 재설정하고자 합니다. 이로 인해 SifReorder에 성능 문제가 발생할 수 있습니다. | |
sifRacInfoLinkedListBuffer{0:5}EccDetected | major(중요) | 모니터링 | ||
sifSegmentLinkedListBuffer{0:1}EccCorrected | major(중요) | 모니터링 | sifRacInfoLinkedListBuffer{0:5}에 소프트 오류가 발생했습니다. 이 SW 부하에 대한 과도한 HA 지침에 따라 Doppler를 재설정하고자 합니다. 이로 인해 SifReorder에 성능 문제가 발생할 수 있습니다. | |
sifSegmentLinkedListBuffer{0:1}EccDetected | major(중요) | 모니터링 | ||
10 | 대상 인덱스 테이블 패리티 오류 | major(중요) | 모니터링 | 메모리에 패리티 오류가 발생했습니다. 내용을 다시 로드하고 일부 패킷이 잘못 복사/제거될 수 있음을 인식합니다. Reset Doppler는 필요하지 않을 수 있습니다. |
전역-로컬 포트 테이블 | major(중요) | 모니터링 | ||
Cpu인덱스테이블 | major(중요) | 모니터링 | ||
해시 테이블 | major(중요) | 모니터링 | ||
해시 테이블B | major(중요) | 모니터링 | ||
메시지큐피포 | major(중요) | 모니터링 | 메시지 제어 메모리에 소프트 오류가 발생했습니다. 이는 잘못 전달되거나 순서가 잘못된 OOB로 이어질 수 있는 일시적인 문제입니다. 이것은 자체 치유가 될 수 있으며 여기 항목의 새 사용자가 이전 항목을 덮어쓸 수 있으므로 도플러 재설정이 필요하지 않습니다. | |
메시지 대기열 링크 버퍼 | major(중요) | 모니터링 |
이는 EDCS-757121:NG3K SIF 드라이버 소프트웨어 기능 사양에 나와 있습니다.
기타 스태킹 레지스터
- SifRac상태
- Sif통계
- SifRacInsertedCnt
- SifRacCopiedCnt
- SifRacPmaControl
- SifVotingWatchDogTimer
- SifPbcSifErrorCnt
- Sif메시지 상태
- Sif제어
- SupStack인터페이스제어
- SifSifPbcCnt0
- SifSifPbcCnt1
- SifSifPbcDroppedCnt
- SifSerdesHssMacroStatus
- SifSerdesHssChannelStatusRx
- SifSerdesHssChannelStatusTx
각 레지스터에 대한 세부 사항을 이해할 수 있습니다.
스택 포트의 상태를 모니터링하는 CLI:
show platform hardware fed switch <> fwd-asic register read register-name SifSerdesHssMacroStatus
show platform hardware fed switch <> fwd-asic register read register-name SifInfo
show platform hardware fed switch <> fwd-asic register read register-name SifRacStatus
show platform hardware fed switch <> fwd-asic register read register-name SifRacControl
show platform hardware fed switch <> fwd-asic register read register-name SifExceptionInterruptA8
show platform hardware fed switch <> fwd-asic register read register-name SifExceptionInterruptA4
show platform hardware fed switch <> fwd-asic register read register-name SifStatistics
show platform hardware fed switch <> fwd-asic register read register-name SifRacInsertedCnt
show platform hardware fed switch <> fwd-asic register read register-name SifRacCopiedCnt
show platform hardware fed switch <> fwd-asic register read register-name SifRacPmaControl
show platform hardware fed switch <> fwd-asic register read register-name SifPottingWatchDogTimer
show platform hardware fed switch <> fwd-asic register read register-name SifPbcSifErrorCnt
show platform hardware fed switch <> fwd-asic register read register-name SifMessageStatus
show platform hardware fed switch <> fwd-asic register read register-name SifControl
show platform hardware fed switch <> fwd-asic register read register-name SupStackInterfaceControl
show platform hardware fed switch <> fwd-asic register read register-name SifSifPbcCnt0
show platform hardware fed switch <> fwd-asic register read register-name SifSifPbcCnt<>
show platform hardware fed switch <> fwd-asic register read register-name SifSifPbcDroppedCnt
show platform hardware fed switch <> fwd-asic register read register-name SifSerdesHssChannelStatusRx
show platform hardware fed switch <> fwd-asic register read register-name SifSerdesHssChannelStatusTx
show platform hardware fed switch <> fwd-asic register read register-name SifRacDataCrcErrorCnt
show platform hardware fed switch <> fwd-asic register read register-name SifgRacRwCrcErrorCnt
show platform software sif switch <> R0 counters
show platform software sif switch <> R0 예외
Linux 커널에서 레지스터 읽기
.
Linux Shell로 이동한 후 다음 스크립트를 진행합니다.
[Switch_2_RP_0:~]$ dope.sh Num Asics: 0 Cat9300 platform dope vft **************************************************** DOPpler Examiner http://wwwin-dopplersdk.cisco.com **************************************************** Detecting number of asics...found 1 asics asic-0: phy_addr=0x87f80000000 virt_addr=0x7f84d746f000 Loading Library : libasd2_DL.so ... Success. (null) ASIC Layer libraries successfully loaded!!! ASIC version: 0x448 Starting ASIC Driver create Driver and Device Init Completed. dope[0,0]> rdsp SifControl <------- rdsp <register name>
Dope.sh에서 ASIC 변경
이전 스크립트는 switch one, asic zero를 읽고 있습니다. 이 스크립트를 수행하여 이 변경:
dope[0,0]> asic 1 <--- changes to asic 1
dope[1,0]>
참고: Dope.sh(Doppler shell)는 하드웨어 프로그래밍에서 가장 낮은 레벨입니다. 이는 하드웨어에서 벨소리 값을 직접 읽는 방법입니다. 가장 세분화된 데이터를 가져오려면 명령 뒤에rdsp 이전 스크립트의 기타 스태킹 레지스터를 사용합니다(필요한 경우).
자동 재로드 문제
무음 다시 로드(crashdump/system_report가 생성되지 않음)가 있을 때마다, 이벤트를 일으킬 수 있는 원인에 대한 자세한 정보를 얻기 위해 일부 특정 파일을 표시하는 크래시 추적 로그가 있습니다.
1단계
먼저 stack_mgr_R0을 살펴보고 그 관점에서 다시 로드하는 이유를 확인할 수 있습니다. 예:
2단계
이제 pvp 로그로 이동할 수 있습니다. stack_mgr_R0에서 추출된 타임스탬프(특히 다시 로드가 발생한 경우)를 사용하고 pvp_F0 및 pvp_R0을 검토하여 모든 다시 로드 오케스트레이션 시퀀스를 실행하기 전에 프로세스 종료 시퀀스가 시작된 시기를 확인합니다. 예:
참고: pvp_F0 및 pvp_R0을 표시할 수 있다.
참고: linux_iosd_image 프로세스가 pvp_R0에서 종료되는 것을 볼 수 있지만 이전에 pvp_F0 내에서 다른 프로세스가 종료되었기 때문에 두 가지를 모두 확인하십시오. 이것이 중요한 요인입니다. 왜냐하면 가장 첫 번째 과정이 살해되었기 때문입니다. 그런 다음 문제의 트리거를 가리킬 수 있습니다.
3단계
pvp_F0 및 pvp_R0 내에는, 프로세스 데드/홀드다운 후에 제공되는 종료 코드도 존재한다. 실제 프로세스 충돌의 경우 종료 코드 129 등이 사용됩니다. 이것이 바로 pvp가 crashdump/system_report를 생성해야 한다는 것을 인식하는 방법입니다. crashdump/system_report가 없으면 일반적으로 종료 코드는 0입니다. 예:
4단계
범인 프로세스를 식별한 후 프로세스 관련 추적 로그로 이동하여 자세한 내용을 확인합니다.
스택 멤버 시간 초과/다시 로드 - 사례 연구
두 스위치 간 불량 케이블 하나가 발생하여 스택의 모든 스위치가 킵얼라이브가 손실되어 다시 로드될 수 있습니다.
증상
스택 추적 또는 스위치에서 문제가 발생하면 다음과 같은 오류가 발생합니다.
- 9300-1# show platform software trace message stack-mgr switch active R0 | inc가 응답하지 않음
- 2018 <tel:2018>/05/10 13:57:30.397 [stack_mgr] [24459]: UUID: 0, ra: 0, TID: 0(참고): 피어 4가 8000 <tel:8000>밀리초 동안 응답하지 않습니다. Bookkeep=3EFD last_msg = 3EFD5
- 2018 <tel:2018>/05/10 13:57:29.396 [stack_mgr] [24459]: UUID: 0, ra: 0, TID: 0(참고): 8000 <tel:8000>밀리초 동안 피어 6이 응답하지 않습니다. Bookkeep=3EFDC last_msg = 3EFD4
책갈피는 스택의 각 스위치에서 마지막으로 수신한 시간에 대해 1초마다 확인합니다(책갈피를 실행하는 스위치의 관점에서). 8000 msec의 킵얼라이브가 없는 후, 피어가 들리지 않은 흔적을 인쇄하기 시작합니다. 16000msec에 문제의 스위치가 손실된 keepalive를 위해 다시 로드됩니다.
9300-1#sh switch stack-ports sum Load for five secs: 8%/4%; one minute: 9%; five minutes: 9% Time source is NTP, 11:53:11.196 EDT Thu May 17 2018 Sw#/Port# Port Status Neighbor Cable Length Link OK Link Active Sync OK #Changes to LinkOK In Loopback ------------------------------------------------------------------------------------------------------------------- 1/1 OK 2 100cm Yes Yes Yes 2 No 1/2 OK 8 300cm Yes Yes Yes 143 No <----------- 2/1 OK 3 50cm Yes Yes Yes 1 No 2/2 OK 1 100cm Yes Yes Yes 1 No 3/1 OK 4 50cm Yes Yes Yes 1 No 3/2 OK 2 50cm Yes Yes Yes 1 No 4/1 OK 5 50cm Yes Yes Yes 1 No 4/2 OK 3 50cm Yes Yes Yes 1 No 5/1 OK 6 50cm Yes Yes Yes 1 No 5/2 OK 4 50cm Yes Yes Yes 1 No 6/1 OK 7 50cm Yes Yes Yes 1 No 6/2 OK 5 50cm Yes Yes Yes 1 No 7/1 OK 8 50cm Yes Yes Yes 1 No 7/2 OK 6 50cm Yes Yes Yes 1 No 8/1 DOWN NONE 300cm No No Yes 116 No <---------------- 8/2 OK 7 50cm Yes Yes Yes 1 No
이 시간 초과는 스위치 간 스택 링크에서 많은 양의 불안정성이 나타나는 부분에서도 발견되었으며, 결국 한 스위치에서는 스택 포트가 작동 중이고 트래픽을 전달할 수 있다고 생각하지만 다른 스위치에서는 중단되었다고 생각했습니다.
스택-링은 시계 방향 및 반-시계 방향 양쪽에서 작동한다. 링의 트래픽은 대상에 관계없이 두 경로 중 하나를 사용할 수 있습니다. 이는 스위치 2가 킵얼라이브를 스위치 1로 전송하려는 경우 스위치 3, 4, 5, 6, 7, 8, 1을 거치고, 2에서 1로 바로 전송할 수 있음을 의미합니다. 스위치 1에서 스위치 2로의 반환 트래픽이 스위치 8로 해시되면 삭제되어 이전 스크립트에 표시된 시간 초과가 발생합니다.
약어
- OOB: 대역 외
- SIF: 스택 인터페이스
- RAC: 링 액세스 컨트롤러
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
27-Jun-2024 |
최초 릴리스 |