簡介
本文檔介紹用於對Nexus 7000平台進行故障排除的消息和過渡服務(MTS)功能。
必要條件
需求
本文件沒有特定需求。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
NeXus作業系統(NX-OS)中的服務(也稱為進程)通過MTS相互通訊。
如果目標服務實際位於不同的模組上,則需要使用節點間通訊。到另一個模組的通訊通過乙太網帶外通道(EOBC)鏈路通過高級進程間通訊(AIPC)提供。EOBC鏈路位於Nexus 7000機箱的中板。
MTS提供:
- 消息和高可用性(HA)基礎設施和應用程式介面(API)
- 緩衝區管理
- 郵件傳送
AIPC提供:
- 跨EOBC的可靠傳輸
- 基於ACK的重傳的傳送
- 分段和重組
MTS主要包括目標/源節點/SAP和操作碼兩部分。
- 節點 — 物理模組和VDC的識別符號。
- SAP — 每項服務的識別符號。(每個服務可以有多個服務接入點(SAP)以實現多種功能。)
- 操作碼 — 服務用於與其他服務通訊的資料型別。
技術
MTS:報文和交易服務
SAP:服務接入點
AIPC:高級進程間通訊/Andiamo IPC
EOBC:乙太網帶外通道
NX-OS:NeXus作業系統
MTS格式
MTS目的地由SAP(服務)和Node(運行SAP的模組)表示。
註:sup代表supervisor,lc代表linecard。
使SAP在任何模組上運行。
`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
使SAP僅在特定模組上運行。
`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
- 操作碼登錄檔
有時會將MTS傳送到目標SAP 0。因此,MTS將傳送到註冊到SAP登錄檔(操作碼登錄檔)的多個SAP。
例如,Opc 8182由SAP 175和378註冊,並由show system internal mts sup registry persistent命令確認。因此,此MTS將同時傳送到SAP175和SAP 378。
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
節點ID是16位ID。
+插槽ID — 模組插槽ID。以1開頭
+ Vnode ID — 虛擬節點ID。VDC ID以0開頭
+節點ID — 邏輯節點ID。SUP:1,LC:2
示例: 0x805 = 0x08 + 0b000_0101 = 0x08 + 0x1 + 0x1(slot + Vnode + Lnode)
=> SUP模組 VDC 2 插槽8中
跟蹤與MTS的進程通訊
年齡
通過使用事件歷史記錄消息,您可以檢視MTS通訊歷史記錄。 幾乎所有的服務都具備此事件歷史消息功能。
此CLI是eth_port_channel(ethpc)的MTS事件歷史記錄。
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
下面列出的欄位提供了命令中與其用途相關的更多詳細資訊:
Event:E_MTS_RX — 表示此服務已收到此MTS,在本例中為ethpc。如果是E_MTS_TX,則ethpc是此MTS的傳送者。
Src:0x00000601/175 - MTS_addr/SAP,表示此MTS的傳送者。
Dst:0x00000601/378 - MTS_addr/SAP,表示此MTS的接收者。
Id:0X00323B1E - MTS ID,其中傳送方和接收方具有相同MTS的ID。
Opc:MTS_OPC_ETHPM_PORT_CLEANUP(61444) — 指示此事件型別是什麼。換句話說,此MTS提供哪個操作碼,其中61444是操作碼號。
MTS事件示例
此MTS事件示例用於連結關閉事件。
n7ka# 2014 Sep 18 14:42:15 n7ka %ETHPORT-5-IF_DOWN_LINK_FAILURE: Interface Ethernet1/3 is down (Link failure)
作為第一步,請檢查ethpm歷史記錄,因為它是所有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
顯示的結果表示ETHPM收到來自Src:0x00000102/181的鏈路關閉事件。此MTS地址表示SAP 181位於插槽1上的VDC 1 LC上。
使用旁邊列出的CLI確定插槽1上的SAP 181。
module-1# attach module 1
module-1# show system internal mts lc sap 181 description
Port_client SAP
使用旁邊列出的CLI檢查插槽1上的port_client MTS歷史記錄。
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
從Id:0X034960A1中,我們可以判斷49)事件是所關注的事件。Port_Client按預期傳送MTS。此值必須由Port_Client(50)上的上一個MTS事件呼叫。此MTS由Src:0x00000102/536傳送。
檢查SAP 536。
module-1# sh system internal mts lc sap 536 de
Naxos FPGA
現在我們知道了NAXOS FPGA是整個事件的源頭。使用下面顯示的CLI查詢local_fault是鏈路關閉的根本原因。
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)