El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
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.
Recopilar y analizar registros útiles (para cada ASIC y núcleo). Hay tres principales:
show platform hardware fed switch active fwd-asic register read register-name <name>
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).
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
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
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
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
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
27-Jun-2024 |
Versión inicial |