Introduzione
Questo documento descrive la funzionalità Message and Transition Services (MTS) utilizzata per risolvere i problemi relativi alle piattaforme Nexus 7000.
Prerequisiti
Requisiti
Nessun requisito specifico previsto per questo documento.
Componenti usati
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
I servizi (noti anche come processi) del sistema operativo NetXus (NX-OS) comunicano tra loro tramite MTS.
Se il servizio di destinazione si trova fisicamente su un modulo diverso, è necessario utilizzare la comunicazione tra nodi. La comunicazione con l'altro modulo viene effettuata da Advanced Inter Process Communication (AIPC) tramite i collegamenti Ethernet Out-of-Band Channel (EOBC). I collegamenti EOBC si trovano sul MidPlane dello chassis Nexus 7000.
MTS offre:
- Messaggi e infrastruttura ad alta disponibilità (HA, High Availability) e interfacce API (Application Program Interface)
- Gestione buffer
- Recapito messaggi
AIPC offre:
- Trasporto affidabile attraverso EOBC
- Consegna della ritrasmissione basata su ACK
- Frammentazione e riassemblaggio
MTS è costituito principalmente da nodi/SAP di destinazione/origine e Opcode.
- Nodo: identificatore del modulo fisico e del VDC.
- SAP: identificativo di ciascun servizio. Ogni servizio può disporre di più punti di accesso ai servizi (SAP, Service Access Point) per più funzioni.
- Opcode - Tipo di dati utilizzato dai servizi per comunicare con altri servizi.
Terminologia
MTS: servizi per messaggi e transazioni
SAP: punto di accesso al servizio
AIPC: Comunicazione avanzata tra processi / Andiamo IPC
EOBC: canale fuori banda Ethernet
NX-OS: sistema operativo NetXus
Formati MTS
La destinazione MTS è rappresentata da SAP (un servizio) e Node (il modulo su cui viene eseguito SAP).
Nota: sup è l'acronimo di supervisor e lc di linecard.
Esecuzione di SAP su qualsiasi modulo.
`show system internal sysmgr service ~~~~`
n7ka# sh system internal sysmgr service all
Name UUID PID SAP state Start count Tag Plugin ID
---------------- ---------- ------ ----- --------- ----------- ---------------- -----------
aaa 0x000000B5 6942 111 s0009 1 N/A 0
cert_enroll 0x0000012B 6941 169 s0009 1 N/A 0
ExceptionLog 0x00000050 7267 92 s0009 1 N/A 0
`show system internal mts ~~~~~`
n7ka# sh system internal mts sup sap 111 description
Below shows sap on default-VDC, to show saps on non-default VDC, run
show system internal mts node sup-<vnode-id> sap ...
AAA Daemon
Esecuzione di SAP solo su moduli specifici.
`Attach to the module`
n7ka# attach module 4
Attaching to module 4 ...
To exit type 'exit', to abort type '$.'
Last login: Tue Nov 7 15:42:35 PST 2023 from 127.1.1.2 on pts/0
`show system internal sysmgr service ~~~~`
n7ka# show system internal sysmgr service all
Name UUID PID SAP state Start count Tag Plugin ID
---------------- ---------- ------ ----- --------- ----------- ---------------- -----------
aclqo 0x0000016E 1301 190 s0009 1 N/A 0
amm 0x00000260 1130 895 s0009 1 N/A 0
bfdc 0x000002C7 1110 1008 s0009 1 N/A 0
`show system internal mts ~~~~~`
module-4# show system internal mts lc sap 190 description
Aclqos SAP
- Registro di sistema Opcode
A volte MTS viene inviato alla destinazione SAP 0. Di conseguenza, l'MTS viene inviato a più SAP registrati nel registro SAP (opcode registry).
Ad esempio, l'Opc 8182 è registrato dagli switch SAP 175 e 378, come confermato dal comando show system internal mts sup registry persistent. Questo MTS viene quindi fornito sia a SAP175 che a SAP378.
n7ka# show system internal ethpm event-history msgs
51) Event:E_MTS_RX, length:60, at 36968 usecs after Thu Sep 18 14:42:15 2014
[NOT] Opc:MTS_OPC_LINK_EVENT_DOWN(8182), Id:0X034960A1, Ret:SUCCESS
Src:0x00000102/181, Dst:0x00000609/0, Flags:None
HA_SEQNO:0X00000000, RRtoken:0x00000000, Sync:UNKNOWN, Payloadsize:82
Payload:
0x0000: 00 00 00 07 00 11 00 21 00 00 00 04 00 12 00 04
n7ka# show system internal mts sup registry persistent | i 8182
MTS_OPC_LINK_EVENT_DOWN(8182): 175, 378
- ID nodo
L'ID nodo è un ID a 16 bit.
+ ID slot - ID slot modulo. Inizia con 1
+ ID nodo - ID nodo virtuale. L'ID VDC inizia con 0
+ ID nodo - ID nodo logico. SUP:1, LC:2
Esempio: 0x805 = 0x08 + 0b0000_0101 = 0x08 + 0x1 + 0x1 (slot + Vnode + Lnode)
=> Modulo SUP VDC 2 nello slot 8
Monitoraggio della comunicazione di processo con MTS
età
È possibile visualizzare la cronologia comunicazioni MTS utilizzando i messaggi della cronologia eventi. Quasi tutti i servizi dispongono di questa funzionalità per i messaggi della cronologia eventi.
Questa CLI è la cronologia degli eventi MTS per eth_port_channel (ethpc).
n7ka# show port-channel internal event-history msgs
12) Event:E_MTS_RX, length:60, at 15586 usecs after Thu Sep 18 13:13:57 2014
[REQ] Opc:MTS_OPC_ETHPM_PORT_CLEANUP(61444), Id:0X00323B1E, Ret:SUCCESS
Src:0x00000601/175, Dst:0x00000601/378, Flags:None
HA_SEQNO:0X00000000, RRtoken:0x00323B1E, Sync:UNKNOWN, Payloadsize:26
Payload:
0x0000: 00 00 00 02 00 04 00 02 00 01 00 05 00 0c 00 00
I campi elencati di seguito forniscono ulteriori dettagli in relazione allo scopo nel comando:
Event:E_MTS_RX: indica che MTS è stato ricevuto da questo servizio, in questo caso l'ethpc. Se si tratta di E_MTS_TX, ethpc è il mittente di questo MTS.
Src:0x00000601/175 - MTS_addr/SAP, rappresenta il mittente dell'MTS.
Dst:0x00000601/378 - MTS_addr/SAP, rappresenta il ricevitore dell'MTS.
Id:0X00323B1E - MTS ID, dove sia il mittente che il destinatario hanno lo stesso ID per lo stesso MTS.
Opc:MTS_OPC_ETHPM_PORT_CLEANUP(61444) - Indica il tipo di evento. In altre parole, che opcode contiene questo MTS, dove 61444 è il numero di opcode.
Esempio di evento MTS
Questo esempio di evento MTS è relativo a un evento link down.
n7ka# 2014 Sep 18 14:42:15 n7ka %ETHPORT-5-IF_DOWN_LINK_FAILURE: Interface Ethernet1/3 is down (Link failure)
Come primo passo, controllare la cronologia etpm perché è il processo completo per tutte le cose relative all'I/F.
n7ka# sh system internal ethpm event-history msgs
51) Event:E_MTS_RX, length:60, at 36968 usecs after Thu Sep 18 14:42:15 2014
[NOT] Opc:MTS_OPC_LINK_EVENT_DOWN(8182), Id:0X034960A1, Ret:SUCCESS
Src:0x00000102/181, Dst:0x00000609/0, Flags:None
HA_SEQNO:0X00000000, RRtoken:0x00000000, Sync:UNKNOWN, Payloadsize:82
Payload:
0x0000: 00 00 00 07 00 11 00 21 00 00 00 04 00 12 00 04
Il risultato mostrato indica che l'ETHPM ha ricevuto l'evento link down da Src:0x00000102/181. Questo indirizzo MTS indica che SAP 181 si trova su VDC 1 LC nello slot 1.
Utilizzare la CLI riportata di seguito per determinare quale SAP 181 si trova nello slot 1.
module-1# attach module 1
module-1# show system internal mts lc sap 181 description
Port_client SAP
Utilizzare la CLI indicata accanto a per controllare la cronologia MTS port_client sullo slot 1.
module-1# show system internal port-client event-history msgs
49) Event:E_MTS_TX, length:60, at 298743 usecs after Thu Sep 18 14:42:14 2014
[NOT] Opc:MTS_OPC_LINK_EVENT_DOWN(8182), Id:0X034960A1, Ret:SUCCESS
Src:0x00000102/181, Dst:0x00000609/0, Flags:None
HA_SEQNO:0X00000000, RRtoken:0x00000000, Sync:UNKNOWN, Payloadsize:82
Payload:
0x0000: 00 00 00 07 00 11 00 21 00 00 00 04 00 12 00 04
50) Event:E_MTS_RX, length:60, at 298329 usecs after Thu Sep 18 14:42:14 2014
[NOT] Opc:MTS_OPC_LC_LINK_DOWN(8185), Id:0X0349609F, Ret:SUCCESS
Src:0x00000102/536, Dst:0x00000102/0, Flags:None
HA_SEQNO:0X00000000, RRtoken:0x00000000, Sync:UNKNOWN, Payloadsize:17
Payload:
0x0000: 00 00 00 02 40 e5 00 07 02 54 1a 70 b6 00 04 84
Da Id:0X034960A1, possiamo dire che l'evento 49) è quello di interesse. Port_Client ha inviato il MTS come previsto. Questa condizione deve essere richiamata dall'evento MTS precedente su Port_Client, che è 50). L'MTS è stato inviato da Src:0x0000102/536.
Controllare SAP 536.
module-1# sh system internal mts lc sap 536 de
Naxos FPGA
Ora sappiamo che NAXOS FPGA è la fonte di tutto questo evento. Utilizzare la CLI mostrata di seguito per verificare che local_fault sia la causa principale del collegamento non attivo.
module-1# sh hardware internal naxos event-history port 3
15) Event E_NAXOS_ISR_DATA length:69, at 170763 usecs after Thu Sep 18 14:42:14 2014
TO NAXOS_PORT_STATUS_LINK_DOWN: reg_val 0x14
Status:SUCCESS (0x0)
16) Event E_NAXOS_ISR_DATA length:50, at 170619 usecs after Thu Sep 18 14:42:14 2014
LOCAL_FAULT: reg_val 0x14
Status:SUCCESS (0x0)