In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird die Fehlerbehebung bei Befehlen/Registern für Probleme beschrieben, die speziell mit Stacking-Port-/Kabelproblemen und automatischen Neuladevorgängen zusammenhängen.
Erfassung und Analyse von nützlichen Registern (für jeden ASIC und Core). Es gibt drei Hauptkategorien:
show platform hardware fed switch active fwd-asic register read register-name <name>
Das erste Bit sagt uns, ob Basic verfügbar ist oder nicht. Er ist auf 0x1 festgelegt. Wenn 0x0 eingestellt ist, treten Weiterleitungsprobleme auf. Fehlerindikatoren oder Fehlerboxen können Pakete nicht richtig wiederherstellen.
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
Hinweis: Jedes Stack-Kabel hat sechs Rack-Ringe (Ringzugriffskontrolle), drei ausgehend/drei eingehend mit je 40Gig. WrappedAtRac 0 bis 5 gibt an, ob eine Stapelverbindung ausgefallen ist oder nicht. Wenn die Dinge gut sind, wird es als 0x0 angezeigt (sechs Verbindungen pro Basis, drei ausgehende, drei eingehende). Beispielsweise sind ungerade Nummern ausgehend und gerade Nummern eingehend oder umgekehrt).
Um jedes Racs detailliert zu überprüfen, werden kritische Aspekte angezeigt; active/linkOk/syncOk Bits, die uns sagen, ob ein bestimmter Rack eine Verbindung hergestellt hat oder nicht (wenn OK, wird es als 0x1 angezeigt).
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
Prüfen Sie, ob Rac ausgeschaltet ist oder nicht. Überprüfen Sie den Parameter greenPowerDisable. Dies zeigt 0x0 für alle Racs (mindestens für Nyquist-Plattform). Es gibt einige Ausnahmen, bei denen aufgrund der HW-Beschränkung des Stack-Kabels selbst erwartet wird, dass der Parameter "Racs power down" oder "greenPowerDisable" als 0x1 angezeigt wird, z. B. der Switch 3650, der die untere Endbox darstellt. Das Stack-Kabel unterstützt dann nur noch zwei Racs pro Basis. Die verbleibenden zwei Racs sind ausgeschaltet.
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
Dies wird ausgelöst, weil im System ein Linkwechsel stattfindet (Up/Down-Situation). Der Interrupt wird auf Softwareebene abgewickelt. Es wird verarbeitet, um zu sehen, ob es irgendwelche Link-bezogenen Änderungen, und dann wird es veröffentlicht (log generiert).
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
Dies ist der Hardware-Interrupt, der uns Details beim Abstimmen gibt (Abstimmen = Grundinitialisierung). Nachdem A8 abgeschlossen ist, prüft das System, ob ein grundlegendes verfügbares Bit richtig eingestellt ist. Ist dies nicht der Fall, wird die Stimmabgabe erneut durchgeführt.
Hinweis: Wenn die maximale Anzahl erreicht ist, wird der Switch mit einem Fehler neu geladen, der besagt, dass das verfügbare HW-Bit nicht gesetzt wurde oder Balloting nicht abgeschlossen wurde.
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
Mit dem nächsten Befehl werden SIF-Zähler angezeigt, die SDP- und SIF-Verwaltungsmeldungen enthalten. Konzentrieren Sie sich ggf. auf die fehlgeschlagenen Nachrichten.
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
Es gibt einen zusätzlichen Befehl, der ausgeführt werden könnte und nur dann Informationen anzeigt, wenn ein Interrupt den Schwellenwert überschreitet. Der Befehl lautet.show platform software sif switch active R0 exceptions Hier ist die Ausgabe, wenn keine Probleme auf den Interrupts vorhanden sind:
Switch#
Switch#show platform software sif switch active R0 exceptions
Switch#
Wenn Interrupts vorhanden sind, ist die Ausgabe ähnlich wie das nächste Skript. In einigen Szenarien (Bootvorgang, Plug-and-Unplug usw.) werden Interrupts erwartet. Wenn also ein echtes Problem vorliegt und es zu kontinuierlichen Interrupts kommt, führen Sie den Befehl wiederholt für einen Zeitraum von Sekunden/Minuten aus.
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
Diese Tabelle enthält die häufigsten SIF-Ausnahmen von
show platform software sif switch active R0 exceptions:
Ausnahme# | Feldname | Schweregrad | Nutzung | Beschreibung |
0 | sifRac{0:5}PmaTransmitFifoSpill{0:3} | Major (Schwerwiegend) | Statistik | Dies wird ausgelöst, wenn der Push-Pull-FIFO zwischen der Systemuhr und der serdes-Uhr verschüttet wird. Das kann nicht passieren. Wenn dies der Fall ist, ist es wahrscheinlich ein Hinweis darauf, dass die Serdes-Uhr deaktiviert wurde (entweder durch Programmierung oder eine fehlerhafte Serdes.) Wenn dies nicht auf ein Programmierungsproblem zurückzuführen ist, ist es ein großes Problem. Aber der SIF heilt sich selbst. Und das Endergebnis eines kleinen Problems ist ein verlorenes Segment oder in extremen Fällen eine Neuinit. Wenn dies kein kleines Problem war, und es immer noch auftritt, dann nach der Verarbeitung dieses CHIEF, wird es wieder ausgelöst, und Ihnen sagen, dass der Zustand noch an diesem Punkt auftritt. Diese Übertragungsverbindung ist ein Toast. |
1 | sifRac{0:5}PmaReceiveFifoSpill{0:3} | Major (Schwerwiegend) | Statistik | Dies wird ausgelöst, wenn der Push-Pull-FIFO zwischen der Systemuhr und der serdes-Uhr verschüttet wird. Das kann nicht passieren. Wenn dies der Fall ist, ist es wahrscheinlich ein Hinweis darauf, dass die Serdes-Uhr deaktiviert wurde (entweder durch Programmierung oder eine fehlerhafte Serdes.) Wenn dies nicht auf ein Programmierungsproblem zurückzuführen ist, ist es ein großes Problem. Aber der SIF heilt sich selbst. Und das Endergebnis eines kleinen Problems ist ein verlorenes Segment oder in extremen Fällen eine Neuinit. Wenn dies kein kleines Problem war, und es immer noch auftritt, dann nach der Verarbeitung dieses CHIEF, wird es wieder ausgelöst, und Ihnen sagen, dass der Zustand noch an diesem Punkt auftritt. Diese Übertragungsverbindung ist ein Toast. |
2 | sifRac{0:5}SerdesLossOfLock{0:3} | Major (Schwerwiegend) | Statistik | In Korrelation mit sifRac{0:5}PmaReceiveFifoSpill{0:3} zu verwenden, um über den Zustand der empfangenen Serdes-Uhren mit normalem Betriebszustand zu informieren. Wenn sie nicht den Spezifikationen entsprechen, kann der IdleDensity-Timer den Unterschied nicht ausgleichen. Im Allgemeinen ist dies ein Problem-Checker, um sicherzustellen, dass die Annahme, dass die Empfänger Serdes richtig funktionieren, tatsächlich wahr ist. |
3 | sifRac{0:5}ClockLossOfLock{0:3} | Major (Schwerwiegend) | Statistik | In Korrelation mit sifRac{0:5}PmaReceiveFifoSpill{0:3} zu verwenden, um über den Zustand der empfangenen Serdes-Uhren mit normalem Betriebszustand zu informieren. Wenn sie nicht den Spezifikationen entsprechen, kann der IdleDensity-Timer den Unterschied nicht ausgleichen. Im Allgemeinen ist dies ein Problem-Checker, um sicherzustellen, dass die Annahme, dass die Empfänger Serdes richtig funktionieren, tatsächlich wahr ist. |
4 | sifRac{0:5}syncOkChange | geringfügig | Überwachung | Anzeige der Lasche |
sifRac{0:5}linkOkChange | geringfügig | Überwachung | Anzeige der Lasche | |
sifRac{0:5}linkedListSpill | Major (Schwerwiegend) | Überwachung | RAC-verknüpfte Listen, die Teil des Reorder-Algorithmus sind, haben die maximal möglichen Einträge überschritten. Dies ist sehr schlecht und bedeutet, dass die Neuordnung jetzt Tail-Dropping-Datensegmente und OOB-Nachrichten auf diesem RAC ist. Dies ist nur möglich, wenn der Stack falsch konfiguriert ist oder in der verknüpften Liste ein Soft-Fehler aufgetreten ist. Siehe Ausnahmen 9 und 10. | |
sifRac{0:5}transitFifoSpill | Major (Schwerwiegend) | Statistik | Der für das Verschieben von Daten durch das SIF an andere Knoten verantwortliche transitFifo hat dies wahrscheinlich aufgrund einer Fehlkonfiguration des IdleDensityTimer w.r.t. auf den tatsächlichen Serdes-Uhren-ppm-Offset (parts per million) für diesen Switch im Vergleich zum Nachbarn verschüttet. | |
5 | sifRac{0:5}missingToken | Major (Schwerwiegend) | Statistik | Die Stack-Conch-Shell ist verloren gegangen, beschädigt, neu bereitgestellt usw. Dies ist wahrscheinlich ein Hinweis darauf, dass ein Bit-Hit auf dem Stapel einen SifTokenDesc erreicht hat. Das ist sehr unwahrscheinlich. Das SIF kann so konfiguriert werden, dass es auf verschiedene Weise damit umgeht. Neuabstimmung und Neustart, erneute Bereitstellung eines Tokens oder erneute Bereitstellung durch die SIF |
sifRac{0:5}doubleToken | Major (Schwerwiegend) | Statistik | ||
sifRac{0:5}tokenDeployed | Info | Statistik | ||
6 | sifRac{0:5}RwCrcErrorCntOverflow | geringfügig | Statistik | Wahrscheinlich sind alle Anzeichen für eine Kompromittierung des Stack-Kabels oder des benachbarten Gehäuses vorhanden. Im Wesentlichen zum Debuggen auf dieses Detail aufgeteilt. Im laufenden Betrieb sind syncOkChange und linkOkChange alles was Sie wissen müssen. Bei der Erfassung von LONG-TERM-BER müssen Sie diese überwachen und zählen, wenn die Zähler für die korrekte Zählung von Bitfehlern umgestellt werden. Wenn invalidRw oder pcsCodeWordError vorhanden ist, wird die CRC möglicherweise nicht überprüft. Auf diese Weise können Sie alle diese Register für BER summieren. |
sifRac{0:5}DataCrcErrorCntOverflow | geringfügig | Statistik | ||
sifRac{0:5}InvalidRwErrorCntOverflow | geringfügig | Statistik | ||
sifRac{0:5}PcsCodeWordErrorCntOverflow | geringfügig | Statistik | ||
7 | sifRac{0:5}RdispErrorCntOverflow | geringfügig | Statistik | |
sifRac{0:5}PrbsUnLockErrorCntOverflow | Info | Statistik | Rufen Sie Statistiken auf, die Sie bei der Suche nach der besten Konfiguration der IBM HSS-Makros verwenden können, um die optimale Programmierung zu finden. | |
sifRac{0:5}PrbsBitErrorCntOverflow | Info | Statistik | ||
sifRac{0:5}ErrorCaptureCntOverflow | Info | Labor | Statistiken zur Erfassung fehlerhafter RingWords anzeigen, um zu überprüfen, was auf dem Stack passiert. | |
8 | sifRacInfoLinkedListInitDone{0:5} | Info | Überwachung | Die HW-Initialisierung der verknüpften RAC-Liste ist abgeschlossen. |
sifDroppedSegmentCntOverflow | Info | Statistik | ||
sifPbcInconsistentSopEopCntOverflow | Info | Statistik | Worst-Case-Szenario. Prüfen Sie, ob die Daten vom PBC gemäß Protokollformular eingehen. | |
sifPbcErrorCntOverflow | Info | Statistik | ||
sifSupInconsistentSopEopCntOverflow | Info | Statistik | Worst-Case-Szenario. Überprüfen Sie, ob die Daten gemäß dem Protokollformular von SUP (OOBM) ankommen. | |
sifSupErrorCntOverflow | Info | Statistik | ||
sifReorderInconsistentSopEopCntOverflow | Info | Statistik | Angabe, dass der fehlende Segmentindikator übernommen wurde. | |
sifDebuggenGesendet | Info | Labor | Anzeige zum Einfügen von Debugsegmenten in den Stapel aufrufen. | |
SifNachrichtGesendet | Info | Labor | Aufgrund der Automatisierung des OOBM sind diese nur in Laborsituationen sinnvoll. | |
SifNachrichtErhalten | Info | Labor | ||
SifNachrichtAbgebrochen | Info | Labor | ||
sifMessageReceiveBufferCreditsEmpty | geringfügig | Überwachung | Aktualisieren Sie die Gutschriften, wenn dies nicht möglich ist. Der Kreditniveau wird aktiv überwacht, damit dieses nicht stolpert. | |
sifNicht zugeordnetZielIndex | geringfügig | Statistik | Während des Copy/Strip konnte der destIndex nicht zugeordnet werden, und eine portCopy wurde auf '0' und portStrip auf '1' festgelegt. Dies weist auf ein Konfigurationsproblem hin. | |
sifSegmentBuffer{0:1}linkedListSpill | Major (Schwerwiegend) | Überwachung | Segmentverknüpfte Listen, die Teil der Neuordnung sind, haben die maximal möglichen Einträge überschritten. Dies ist ein Hinweis darauf, dass die Neuordnung jetzt Datensegmente und OOB-Nachrichten per Tail-Drop verwirft. Dies ist nur möglich, wenn der Stack falsch konfiguriert ist oder in der verknüpften Liste ein Soft-Error aufgetreten ist. Siehe Ausnahmen 9 und 10. | |
sifSegmentBufferLinkedListInitDone{0:1] | Info | Überwachung | HW-Initialisierung der Segment-Linkliste ist abgeschlossen. | |
sifAbstimmungFertig | Info | Überwachung | Indikationsabstimmung abgeschlossen. | |
sifBallotSpeedChangeErforderlich | Info | Überwachung | Seit dem letzten erfolgreichen Wahlgang ist eine neue Geschwindigkeit auf der Stack-Verbindung erforderlich. Dies bedeutet, dass ein Knoten in den Stack eingetreten ist, hat sich die Dynamik der Stack-Geschwindigkeit. Wenn der Stapel langsamer als die aktuelle Geschwindigkeit ist, muss er sich nach unten anpassen. Oder indem sie schneller sind als zuvor. Es kann das Ergebnis eines neuen kürzeren Kabels sein. | |
sifOstNachbarnÄndern | Info | Überwachung | Überwachung für Stack-Aktivierungs-, Zusammenführungs- und Wrap-Szenarien | |
sifWestNachbarnÄndern | Info | Überwachung | ||
SifKnotenIDChanged | Info | Überwachung | Angabe, dass als Ergebnis des letzten Wahlgangs die SifInfo.nodeId geändert wurde. | |
sifStackTopologieänderung | Info | Überwachung | Überwachung für Stack-Aktivierungs-, Zusammenführungs- und Wrap-Szenarien | |
9 | sifRacInfoBuffer{0:5}EccCorrected | Major (Schwerwiegend) | Überwachung | sifRacInfoBuffer{0:5} wurde mit einem weichen Fehler behoben. Dies ist nicht gut, im schlimmsten Fall jedoch können Pakete außerhalb der festgelegten Reihenfolge oder spätere Paketverluste im Ausgangsdatenpfad auftreten. Ein Zurücksetzen des Dopplers ist hier nicht erforderlich. |
sifRacInfoBuffer{0:5}EccDetected | Major (Schwerwiegend) | Überwachung | ||
sifRacInfoLinkedListBuffer{0:5}EccCorrected | Major (Schwerwiegend) | Überwachung | sifRacInfoLinkedListBuffer{0:5} wurde mit einem weichen Fehler getroffen. Je nach übergeordneter HA-Richtlinie für diese SW-Last müssen Sie den Doppler zurücksetzen. Dies kann zu Leistungsproblemen bei SifReorder führen. | |
sifRacInfoLinkedListBuffer{0:5}EccDetected | Major (Schwerwiegend) | Überwachung | ||
sifSegmentLinkedListBuffer{0:1}EccCorrected | Major (Schwerwiegend) | Überwachung | sifRacInfoLinkedListBuffer{0:5} wurde mit einem weichen Fehler getroffen. Je nach übergeordneter HA-Richtlinie für diese SW-Last müssen Sie den Doppler zurücksetzen. Dies kann zu Leistungsproblemen bei SifReorder führen. | |
sifSegmentLinkedListBuffer{0:1}EccDetected | Major (Schwerwiegend) | Überwachung | ||
10 | ZielIndexTabelleParitätsfehler | Major (Schwerwiegend) | Überwachung | Der Speicher wurde mit einem Paritätsfehler behoben. Laden Sie Inhalte neu, und stellen Sie fest, dass einige Pakete fälschlicherweise kopiert oder entfernt wurden. Ein Zurücksetzen des Dopplers ist wahrscheinlich nicht erforderlich. |
GlobalZuLokalPortTabelle | Major (Schwerwiegend) | Überwachung | ||
CPU-IndexTabelle | Major (Schwerwiegend) | Überwachung | ||
HashtabelleA | Major (Schwerwiegend) | Überwachung | ||
HashtabelleB | Major (Schwerwiegend) | Überwachung | ||
MessageQueueInfo | Major (Schwerwiegend) | Überwachung | Die Nachrichtenkontrollspeicher wurden mit einem weichen Fehler getroffen. Dieses vorübergehende Problem kann zu einer fehlgeleiteten oder ungeordneten OOB führen. Dies kann sich selbst heilen und erfordert kein Doppler-Reset, da neue Benutzer der Einträge hier die alten überschreiben können. | |
MessageQueueLinkBuffer | Major (Schwerwiegend) | Überwachung |
Dies ist in EDCS-757121:NG3K SIF Driver Software Functional Specification enthalten.
Andere Stacking-Register
- SifRacStatus
- SifStatistik
- SifRacEingefügt
- SifRacCopiedCnt
- SifRacPmaControl
- SifBallotWatchDogTimer
- SifPbcSifErrorCnt
- SifMessageStatus
- SifControl
- SupStackInterfaceControl
- SifSifPbcCnt0
- SifSifPbcCnt1
- SifSifPbcDroppedCnt
- SifSerdesHssMakroStatus
- SifSerdesHssChannelStatusRx
- SifSerdesHssChannelStatusTx
um die Details für jedes Register zu verstehen.
CLI zur Überwachung des Zustands von Stack-Ports:
show platform hardware fed switch <> fwd-asic register read registername SifSerdesHssMacroStatus
show platform hardware fed switch <> fwd-asic register read registername SifInfo
show platform hardware fed switch <> fwd-asic register read registername SifRacStatus
show platform hardware fed switch <> fwd-asic register read registername SifRacControl
show platform hardware fed switch <> fwd-asic register read registername SifExceptionInterruptA8
show platform hardware fed switch <> fwd-asic register read registername SifExceptionInterruptA4
show platform hardware fed switch <> fwd-asic register read registername SifStatistics
show platform hardware fed switch <> fwd-asic register read registername SifRacInsertedCnt
show platform hardware fed switch <> fwd-asic register read registername SifRacCopiedCnt
show platform hardware fed switch <> fwd-asic register read registername SifRacPmaControl
show platform hardware fed switch <> fwd-asic register read registername SifBallotWatchDogTimer
show platform hardware fed switch <> fwd-asic register read registername SifPbcSifErrorCnt
show platform hardware fed switch <> fwd-asic register read registername SifMessageStatus
show platform hardware fed switch <> fwd-asic register read registername SifControl
show platform hardware fed switch <> fwd-asic register read registername 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 registername SifPbcDroppedCnt
show platform hardware fed switch <> fwd-asic register read registername SifSerdesHssChannelStatusRx
show platform hardware fed switch <> fwd-asic register read registername SifSerdesHssChannelStatusTx
show platform hardware fed switch <> fwd-asic register read registername SifRacDataCrcErrorCnt
show platform hardware fed switch <> fwd-asic register read registername SifgRacRwCrcErrorCnt
show platform software sif switch <> R0 counters
show platform software sif switch <> R0 exception
Lesen von Registern aus dem Linux-Kernel
.
Wenn Sie sich in der Linux Shell befinden, fahren Sie mit dem nächsten Skript fort:
[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>
ASIC in Dope.sh ändern
Das vorherige Skript liest den Schalter 1, im Grunde Null. Ändern Sie diese Einstellung, indem Sie dieses Skript ausführen:
dope[0,0]> asic 1 <--- changes to asic 1
dope[1,0]>
Hinweis: Dope.sh (Doppler-Shell) ist die niedrigste Ebene in der Hardware-Programmierung. So lesen Sie die Klingelwerte direkt von der Hardware. Verwenden Sie die anderen Stapelregister im vorherigen Skript nach dem Befehl,rdsp um die detailliertesten Daten abzurufen (falls erforderlich).
Probleme beim automatischen Neuladen
Bei jedem automatischen Neuladen (kein Crashdump/system_report generiert) gibt es Crash-Trace-Protokolle, die bestimmte Dateien anzeigen, um weitere Informationen zu erhalten, was das Ereignis verursachen könnte.
Schritt 1
Zuerst können wir stack_mgr_R0 betrachten und aus seiner Perspektive den Grund für das Neuladen erkennen. Beispiele:
Schritt 2
Wir können jetzt zu pvp-Protokollen wechseln. Verwenden Sie die Zeitstempel, die aus stack_mgr_R0 extrahiert wurden (insbesondere, wenn ein Neuladen stattgefunden hat), und sehen Sie sich pvp_F0 und pvp_R0 an, um zu ermitteln, wann die Terminierungssequenz des Prozesses gestartet wurde, bevor die gesamte Neuladeorchestrierungssequenz ausgeführt wird. Beispiele:
Hinweis: Es kann pvp_F0 und pvp_R0 anzeigen.
Hinweis: Stellen Sie sicher, dass Sie beide überprüfen, da Sie sehen konnten, dass der linux_iosd_image-Prozess in pvp_R0 endet, aber ein anderer Prozess innerhalb von pvp_F0 zuvor beendet wurde. Dies ist ein Schlüsselfaktor, weil der erste Prozess, der getötet wird. Dann kann es auf den Auslöser des Problems verweisen.
Schritt 3
Innerhalb von pvp_F0 und pvp_R0 gibt es auch einen Exit-Code, der nach dem Prozess tot/niedergehalten wird. Bei realen Prozessabstürzen werden die Exitcodes 129 und so verwendet. Auf diese Weise erkennt pvp, dass crashdump/system_report erstellt werden muss. Ohne crashdump/system_report ist der Exitcode normalerweise Null. Beispiele:
Schritt 4
Nachdem Sie den verantwortlichen Prozess identifiziert haben, gehen Sie zu den prozessbezogenen btrace-Protokollen, und überprüfen Sie, ob weitere Details vorhanden sind.
Timeouts/Neuladevorgänge bei Stack-Elementen - Anwenderbericht
Ein fehlerhaftes Kabel zwischen zwei Switches kann dazu führen, dass ein beliebiger Switch im Stack aufgrund verlorener Keepalives neu geladen wird.
Symptome
Stack-Traces oder Switches, bei denen das Problem aktiv auftritt, führen zu folgenden Fehlern:
- 9300-1# show platform software trace message stack-mgr switch active R0 | inc reagiert nicht
- 2018 <tel:2018>/05/10 13:57:30.397 [stack_mgr] [24459]: UUID: 0, ra: 0, TID: 0 (Hinweis): Peer 4 reagiert nicht, für 8000 <tel:80 00> ms Bookkeep=3EFDD last_msg = 3EFD5
- 2018 <tel:2018>/05/10 13:57:29.396 [stack_mgr] [24459]: UUID: 0, ra: 0, TID: 0 (Hinweis): Peer 6 antwortet nicht, für 8000 <tel:80 00> ms Bookkeep=3EFDC last_msg = 3EFD4
Die Broschüre prüft jede Sekunde, wann sie das letzte Mal von jedem Switch im Stack gehört wurde (aus der Perspektive des Switches, auf dem die Broschüre ausgeführt wird). Nach 8000 ms ohne Keepalives drucken wir Spuren, die man noch nicht gehört hat. Bei einer Geschwindigkeit von 16000 ms werden die fraglichen Switches bei Verlust der Keepalives neu geladen.
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
Diese Zeitüberschreitung trat auch auf, wenn die Stack-Verbindung zwischen den beiden Switches sehr instabil war, was dazu führte, dass einer der Switches den Stack-Port als aktiv einstufte und den Datenverkehr weiterleitete, der andere jedoch für ausgefallen hielt.
Der Stapelring arbeitet sowohl im Uhrzeigersinn als auch im Gegenuhrzeigersinn. Der Datenverkehr im Ring kann über beide Pfade laufen, unabhängig vom Ziel. Das heißt, wenn der Switch 2 einen Keepalive an den Switch 1 senden möchte, kann er über die Switches 3, 4, 5, 6, 7, 8 und dann 1 oder einfach von 2 direkt zu 1 gelangen. Der Datenrückverkehr von Switch 1 zu Switch 2, der per Hash zu Switch 8 geleitet wird, wurde verworfen, was zu den im vorherigen Skript festgestellten Zeitüberschreitungen geführt hätte.
Abkürzungen
- OOB: Out-of-Band
- SIF: Stack-Schnittstelle
- RAC: Ring Access Controller
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
27-Jun-2024 |
Erstveröffentlichung |