Contenido

Introducción

Comandos Troubleshoot/Show

SifInfo

SifRacStatus

SifRacControl

SifExceptionInterruptA4

SifExceptionInterruptA8

Otros registros de apilamiento

Leyendo registros desde el núcleo de Linux

Cambio de ASIC en Dope.sh

Problemas de Silent Reloads

Paso 1

Paso 2

Paso 3

Paso 4

Tiempos de espera/recargas de los miembros de la pila: caso práctico

Síntomas

Acrónimos

Introducción

Este documento describe cómo resolver problemas de comandos/registros para problemas relacionados específicamente con problemas de apilamiento de puerto/cable y recargas silenciosas.

Comandos Troubleshoot/Show

Recopilar y analizar registros útiles (para cada ASIC y núcleo). Hay tres principales:

- SifInfo

- SifRacStatus

- SifRacControl

show platform hardware fed switch active fwd-asic register read register-name <name>

SifInfo

El primer bit nos dice si asic está disponible o no. Se establece como 0x1. Si está configurado como 0x0, entonces hay problemas de reenvío. Los contadores de errores o las cajas no pueden recuperar los paquetes correctamente.

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

Nota: cada cable de pila tiene seis anillos de rack (control de acceso en anillo), tres salientes/tres entrantes a 40 Gig cada uno. WrappedAtRac de cero a cinco corresponde a si algún link de pila está inactivo o no. Si las cosas están bien, entonces se muestra como 0x0 (seis links por básico, tres salientes, tres entrantes. Por ejemplo, los números impares son salientes y los números pares son entrantes o viceversa).

SifRacStatus

Para verificar en detalle cada uno de los Rac, se muestran los aspectos críticos a verificar; bits active/linkOk/syncOk que nos dicen si el Rac específico se ha vinculado o no (si está bien, entonces se muestra como 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

SifRacControl

Compruebe si Rac está apagado o no. Compruebe el parámetro greenPowerDisable. Esto muestra 0x0 para todas las razas (al menos para la plataforma Nyquist). Hay algunas excepciones en las que se espera ver el apagado de Racs o el parámetro greenPowerDisable mostrado como 0x1 debido a la limitación de HW en el cable de pila en sí, como el switch 3650 que es el cuadro del extremo inferior. A continuación, el cable de la pila solo admite dos rac por asic. Las dos carreras restantes están apagadas.

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

SifExceptionInterruptA4

Esto se activa porque hay un cambio de link en el sistema (situación Up/Down). La interrupción se gestiona en el nivel de software. Se procesa para ver si hay algún cambio relacionado con el enlace y, a continuación, se publica (se genera un registro).

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

SifExceptionInterruptA8

Esta es la interrupción de hardware que nos da detalles cuando se realiza la votación (votación = proceso básico de inicialización). Después de completar A8, el sistema verifica si el bit básico disponible está configurado correctamente. Si no, se vuelve a votar.

Nota: Cuando se alcanza el número máximo, el switch se recarga con algún error que indica que el bit de disponibilidad de hardware no se estableció o que la votación no se completó.

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

El siguiente comando muestra Contadores SIF que involucran mensajes SDP y mensajes de administración SIF. Céntrese en los mensajes fallidos, si los hubiera.

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

Hay un comando adicional que se puede ejecutar y muestra información sólo cuando una interrupción supera el umbral. El comando es el siguiente.show platform software sif switch active R0 exceptions Este es el resultado cuando no hay problemas presentes en las interrupciones:

Switch#

Switch#show platform software sif switch active R0 exceptions

Switch#

Cuando hay interrupciones, el resultado es similar al siguiente script. Tenga en cuenta que se esperan interrupciones en algunos escenarios (inicio, conexión/desconexión, etc.), por lo que si hay un problema real y continuas interrupciones, ejecute el comando repetidamente durante un período de segundos/minutos.

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

Esta tabla detalla las excepciones SIF más comunes de show platform software sif switch active R0 exceptions:

Excepción#

NombreCampo

Gravedad

Uso

Descripción

0

sifRac{0:5}PmaTransmitFifoSpill{0:3}

principal

Estadística

Esto se activa si el FIFO push-pull entre el reloj del sistema y el reloj serdes se derrama. Esto no puede ocurrir. Si lo hace, es probable que sea un indicador de que el reloj Serdes ha sido desactivado (ya sea por programación o un Serdes defectuoso.) Si esto no se debe a un problema de programación, es un problema importante. Pero el SIF se cura solo. Y el resultado neto de un pequeño problema es un segmento perdido o en casos extremos un re-init. Si este no fue un problema pequeño, y todavía está ocurriendo, entonces después de procesar este JEFE, se vuelve a disparar, diciéndole que la condición todavía está ocurriendo en este punto. Este link de transmisión es un brindis.

1

sifRac{0:5}PmaReceiveFifoSpill{0:3}

principal

Estadística

Esto se activa si el FIFO push-pull entre el reloj del sistema y el reloj serdes se derrama. Esto no puede ocurrir. Si lo hace, es probable que sea un indicador de que el reloj Serdes ha sido desactivado (ya sea por programación o un Serdes defectuoso.) Si esto no se debe a un problema de programación, es un problema importante. Pero el SIF se cura solo. Y el resultado neto de un pequeño problema es un segmento perdido o en casos extremos un re-init. Si este no fue un problema pequeño, y todavía está ocurriendo, entonces después de procesar este JEFE, se vuelve a disparar, diciéndole que la condición todavía está ocurriendo en este punto. Este link de transmisión es un brindis.

2

sifRac{0:5}SerdesLossOfLock{0:3}

principal

Estadística

Se debe usar en correlación con sifRac{0:5}PmaReceiveFifoSpill{0:3} para informar sobre la condición de los relojes Serdes recibidos con una condición de funcionamiento normal. Si están fuera de especificaciones, el IdleDensity Timer no puede compensar la diferencia. En general, este es un verificador de problemas para asegurar que la suposición de que el receptor Serdes está funcionando correctamente es en realidad cierto.

3

sifRac{0:5}ClockLossOfLock{0:3}

principal

Estadística

Se debe usar en correlación con sifRac{0:5}PmaReceiveFifoSpill{0:3} para informar sobre la condición de los relojes Serdes recibidos con una condición de funcionamiento normal. Si están fuera de especificaciones, el IdleDensity Timer no puede compensar la diferencia. En general, este es un verificador de problemas para asegurar que la suposición de que el receptor Serdes está funcionando correctamente es en realidad cierto.

4

sifRac{0:5}syncOkChange

menor

Monitor

Indicación de link-flap

sifRac{0:5}linkOkChange

menor

Monitor

Indicación de link-flap

sifRac{0:5}linklistSpill

principal

Monitor

Las listas enlazadas en rack que forman parte del algoritmo de reordenación han superado el número máximo de entradas posibles. Esto es muy malo y significa que el reordenamiento está ahora colocando segmentos de datos y mensajes OOB en este RAC. Esto no puede ocurrir a menos que la pila esté mal configurada o la lista vinculada haya experimentado un error de software. Consulte las excepciones 9 y 10.

sifRac{0:5}transitFifoSpill

principal

Estadística

El transitFifo responsable de mover datos a través del SIF a otros nodos se ha derramado, probablemente debido a una configuración incorrecta de IdleDensityTimer w.r.t. al desplazamiento real de ppm del reloj Serdes (partes por millón) para este switch frente a su vecino.

5

sifRac{0:5}missingToken

principal

Estadística

El shell de Stack Conch se ha perdido, se ha dañado, se ha vuelto a implementar, etc. Esto es probablemente una indicación de que un bit-hit en la pila alcanzó un SifTokenDesc. Es muy poco probable que esto suceda. El SIF se puede configurar para que se ocupe de esto de diferentes maneras. Vuelva a votar y empiece de nuevo, vuelva a desplegar un token o permita que el SIF vuelva a desplegarse.

sifRac{0:5}duplicateToken

principal

Estadística

sifRac{0:5}tokenDeployed

info

Estadística

6

sifRac{0:5}RwCrcErrorCntOverflow

menor

Estadística

Es probable que todos los indicadores del cable de pila o la caja vecina estén en peligro. Se explayó en este detalle en gran medida para la depuración. En el curso de la operación normal syncOkChange y linkOkChange son todo lo que necesita saber. Al recolectar LONG-TERM-BER, debe monitorear y contar estos datos cuando los contadores se traspasan para un conteo adecuado de errores de bits. Es posible que cuando invalidRow o pcsCodeWordError está presente, el CRC no esté activado. De esa manera puede sumar todos estos registros para BER.

sifRac{0:5}DataCrcErrorCntOverflow

menor

Estadística

sifRac{0:5}InvalidRwErrorCntOverflow

menor

Estadística

sifRac{0:5}DesbordamientoDeCódigoPcWordErrorCnt

menor

Estadística

7

sifRac{0:5}RdispErrorCntOverflow

menor

Estadística

sifRac{0:5}PrbsUnLockErrorCntOverflow

info

Estadística

Active las estadísticas para ayudar a encontrar la mejor configuración de las macros de IBM HSS para encontrar la programación óptima.

sifRac{0:5}PrbsBitErrorCntOverflow

info

Estadística

sifRac{0:5}ErrorCaptureCntOverflow

info

Laboratorio

Activa estadísticas para capturar la forma de las palabras en anillo erróneas para la inspección a fin de ver lo que está sucediendo en la pila.

8

sifRacInfoLinkedListInitDone{0:5}

info

Monitor

La inicialización de HW de la lista vinculada de RAC ha finalizado.

sifDroppedSegmentCntOverflow

info

Estadística

sifPbcInconsistencySopEopCntOverflow

info

Estadística

El peor escenario posible. Verifique la llegada de datos según el formulario de protocolo de PBC.

sifPbcErrorCntOverflow

info

Estadística

sifSupInconsistencySopEopCntOverflow

info

Estadística

El peor escenario posible. Compruebe la llegada de datos según el formulario de protocolo del SUP (OOBM).

sifSupErrorCntOverflow

info

Estadística

sifReorderInconsistencySopEopCntOverflow

info

Estadística

Indicación de que el indicador de segmento ausente se ha desplazado.

sifDebugSent

info

Laboratorio

Mostrar indicación para la inserción de segmentos de depuración en la pila.

sifMessageSent

info

Laboratorio

Debido a la naturaleza automatizada del OOBM, estos son realmente solo útiles en situaciones de laboratorio.

sifMessageReceived

info

Laboratorio

sifMessageDropped

info

Laboratorio

sifMessageReceiveBufferCreditsEmpty

menor

Monitor

Actualice los créditos si se activa esta opción. El nivel de crédito se supervisa activamente para que no se dispare.

sifUnmapDestIndex

menor

Estadística

Durante el proceso Copy/Strip, no pudo asignar destIndex y se estableció portCopy en '0' y portStrip en '1'. Esto indica un problema de configuración.

sifSegmentBuffer{0:1}linklistSpill

principal

Monitor

Las listas vinculadas de segmentos que forman parte del reordenamiento han excedido el número máximo de entradas posibles. Esto es una indicación de que la reordenación está colocando segmentos de datos y mensajes OOB en la cola. Esto no puede ocurrir a menos que la pila esté mal configurada o la lista vinculada haya experimentado un error de software. Consulte las excepciones 9 y 10.

sifSegmentBufferLinkedListInitDone{0:1]

info

Monitor

La inicialización del hardware de la lista de segmentos enlazados ha finalizado.

sifBallotDone

info

Monitor

Indicación La votación ha finalizado.

sifBallotSpeedChangeNeeded

info

Monitor

Desde la última votación exitosa, se requiere una nueva velocidad en el link de la pila. Esto significa que un nodo ha entrado en la pila y ha cambiado la dinámica de la velocidad de la pila. Ya sea por ser más lento que la velocidad actual, la pila tiene que ajustarse hacia abajo. O por ser más rápido de lo que era antes. Puede ser el resultado de un nuevo cable más corto.

sifEastNeighborChange

info

Monitor

Supervisión de escenarios de recopilación, combinación y cierre de la pila.

sifWestNeighborChange

info

Monitor

sifNodeIdChanged

info

Monitor

Indicación de que, como resultado de la última votación, se ha modificado el SifInfo.nodeId.

sifStackTopologyChange

info

Monitor

Supervisión de escenarios de recopilación, combinación y cierre de la pila.

9

sifRacInfoBuffer{0:5}EccCorrected

principal

Monitor

sifRacInfoBuffer{0:5} recibió un error de software. Esto es malo, pero el resultado en el peor de los casos son algunos paquetes fuera de servicio o caídas de paquetes posteriores en el trayecto de datos de egreso. No es necesario restablecer Doppler aquí.

sifRacInfoBuffer{0:5}EccDetected

principal

Monitor

sifRacInfoLinkedListBuffer{0:5}EccCorrected

principal

Monitor

sifRacInfoLinkedListBuffer{0:5} recibió un error de software. Dependiendo de la guía general de HA para esta carga de SW, desea restablecer Doppler. Esto puede ocasionar problemas de rendimiento en SifReorder.

sifRacInfoLinkedListBuffer{0:5}EccDetected

principal

Monitor

sifSegmentLinkedListBuffer{0:1}EccCorrected

principal

Monitor

sifRacInfoLinkedListBuffer{0:5} recibió un error de software. Dependiendo de la guía general de HA para esta carga de SW, desea restablecer Doppler. Esto puede ocasionar problemas de rendimiento en SifReorder.

sifSegmentLinkedListBuffer{0:1}EccDetected

principal

Monitor

10

ErrorParidadTablaÍndiceDestino

principal

Monitor

Se produjo un error de paridad en la memoria. Recargue el contenido y reconozca que, como resultado, algunos paquetes pueden haberse copiado/eliminado incorrectamente. Restablecer Doppler probablemente no es necesario.

GlobalToLocalPortTable

principal

Monitor

TablaÍndiceCpu

principal

Monitor

HashTableA

principal

Monitor

HashTableB

principal

Monitor

MessageQueueFifo

principal

Monitor

Las memorias de control de mensajes fueron golpeadas con un error de software. Este es un problema transitorio que puede llevar a un OOB mal reenviado o fuera de servicio. Esto puede curarse automáticamente y no requiere un reinicio Doppler ya que los nuevos usuarios de las entradas aquí pueden sobrescribir las antiguas.

MessageQueueLinkBuffer

principal

Monitor

Esto se encuentra en EDCS-757121:NG3K SIF Driver Software Functional Specification.

Otros registros de apilamiento

- SifRacStatus

- SifStatistics

- SifRacInsertedCnt

- SifRacCopiedCnt

- SifRacPmaControl

- SifBallotWatchDogTimer

- SifPbcSifErrorCnt

- EstadoMensajeSif

- SifControl

- SupStackInterfaceControl

- SifSifPbcCnt0

- SifSifPbcCnt1

- SifSifPbcDroppedCnt

- SifSerdesHssMacroStatus

- SifSerdesHssChannelStatusRx

- SifSerdesHssChannelStatusTx

para comprender los detalles de cada registro.

Cli para supervisar el estado de los puertos de pila:

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 SifBallotWatchDogTimer

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 exception

Leyendo registros del núcleo de Linux

.

Una vez que esté en el shell de Linux, continúe con el siguiente script:

[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>

Cambio de ASIC en Dope.sh

El script anterior está leyendo el switch uno, básico cero. Cambie esta secuencia de comandos:

dope[0,0]> asic 1 <--- changes to asic 1

dope[1,0]>

Nota: Dope.sh (shell Doppler) es el nivel más bajo en la programación de hardware. Así es como se leen los valores de timbre directamente desde el hardware. Utilice Otros registros de apilamiento en el script anterior después del rdsp comando para obtener los datos más granulares (si es necesario).

Problemas de Silent Reloads

Siempre que hay una recarga silenciosa (no se genera crashdump/system_report), hay registros de seguimiento de caídas que muestran algunos archivos específicos para obtener más información relacionada con lo que podría causar el evento.

Paso 1

Podemos empezar a ver stack_mgr_R0 primero y ver desde su perspectiva la razón de la recarga. Por ejemplo:

Paso 2

Ahora podemos pasar a los registros pvp. Utilice las marcas de tiempo extraídas de stack_mgr_R0 (específicamente cuando se produce la recarga) y mire a través de pvp_F0 y pvp_R0 para identificar cuándo se inició la secuencia de terminación de los procesos antes de que ejecute toda la secuencia de orquestación de recarga. Por ejemplo:

Nota: Puede mostrar pvp_F0 y pvp_R0.

Nota: Asegúrese de verificar ambos porque podría ver que el proceso linux_iosd_image termina en pvp_R0, pero un proceso diferente dentro de pvp_F0 se terminó antes. Este es un factor clave porque el primer proceso que se mata. Entonces puede apuntar al disparador del problema.

Paso 3

Dentro de pvp_F0 y pvp_R0, también hay un código de salida proporcionado después de que el proceso se haya detenido o detenido. Para las caídas de procesos reales, se utilizan los códigos de salida 129 y así sucesivamente. Así es como pvp es consciente de que es necesario crear crashdump/system_report. Sin crashdump/system_report, el código de salida normalmente es cero. Por ejemplo:

Paso 4

Después de identificar el proceso culpable, vaya a los registros de seguimiento de btrace relacionados con el proceso y compruebe si hay más detalles.

Tiempos de espera/recargas de los miembros de la pila: caso práctico

Es posible que un solo cable defectuoso entre dos switches haga que cualquier switch de la pila se recargue debido a señales de mantenimiento perdidas.

Síntomas

Los seguimientos de la pila, o switches, que experimentan activamente el problema producen estos errores:

- 9300-1# show platform software trace message stack-mgr switch active R0 | inc no responde

- 2018 <tel:2018>/05/10 13:57:30.397 [stack_mgr] [24459]: UUID: 0, ra: 0, TID: 0 (nota): el par 4 no responde, para 8000 <tel:8000> mseg. Bookkeep=3EFD last_msg = 3EFD5

- 2018 <tel:2018>/05/10 13:57:29.396 [stack_mgr] [24459]: UUID: 0, ra: 0, TID: 0 (nota): el par 6 no responde, para 8000 <tel:8000> mseg. Bookkeep=3EFDC last_msg = 3EFD4

El tenedor de libros comprueba cada segundo la última vez que escuchó de cada switch de la pila (desde la perspectiva del switch que ejecuta el tenedor de libros). Después de 8000 mseg de no keepalives, comenzamos a imprimir rastros que no se han escuchado los pares. A 16000 mseg, los switches en cuestión se recargan para señales de mantenimiento perdidas.

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

Este tiempo de espera también se observó cuando había una gran cantidad de inestabilidad en el enlace de pila entre dos switches, lo que finalmente hizo que un switch creyera que el puerto de pila estaba activo y podía pasar el tráfico, pero el otro pensaba que estaba inactivo.

El anillo de la pila funciona tanto en el sentido de las agujas del reloj como en el sentido contrario. El tráfico en el anillo puede tomar cualquier trayectoria independientemente de su destino. Esto significa que si el switch 2 quiere enviar una señal de mantenimiento al switch 1, puede pasar a través de los switches 3, 4, 5, 6, 7, 8 y luego 1, o simplemente de 2 directamente a 1. El tráfico de retorno del switch 1 al switch 2 que sucede al hash hacia el switch 8 se habría descartado, lo que lleva a los tiempos de espera que se ven en el script anterior.

Acrónimos

- OOB: fuera de banda

- SIF: interfaz de pila

- RAC: controlador de acceso en anillo