Nexus Message Transaction Services(MTS)
Nexus 系列交换机遇到以下情形时,可以尝试查看是否是 MTS 消息卡在缓冲区过多,因为 MTS 负责处理模块内以及跨模块(包括跨管理引擎)的各服务之间的消息路由和排队。
• CPU 高
• 命令行无响应、响应慢
• 控制平面中断
• 流量问题,接口闪断以及表项学习出现问题
1. MTS 是什么?
MTS 是一种可靠的进程间通信消息代理,进程间通信的中间进程。
MTS 提供:
- 进程消息以及 HA 的基础架构和应用程序接口
- 缓冲区管理
- 消息传递
MTS 主要由源目 node、SAP 以及Opcode:
一个进程在能够与另一个进程通信之前,需要先绑定到一个 服务接入点(SAP)上。
- Node —— 物理网板或者 VDC 的标识符。
- SAP —— 每项服务/进程的标识符。
- Opcode —— 服务用于与其他服务进行通信的数据类型。
2. 如何查看
如果有很多消息在队列中排队,消息数量以及队列时间一直在增长,即可能为卡 MTS。
# show system internal mts buffers summary
node sapno recv_q pers_q npers_q log_q
sup 312 7 0 0 0
sup 269 7 0 0 0
sup 263 7 0 0 0
sup-1 269 1 0 0 0
sup-1 263 1 0 0 0
sup-3 210 0 0 5679 0 //源 SAP 210 有 5679 条消息在非永久存储队列中 # show system internal mts buffers detail // 以下很多消息在队列中
Node/Sap/queue Age(ms) SrcNode SrcSAP DstNode DstSAP OPC MsgId MsgSize RRToken Offset
sup-3/210/nper 5752059 0x10D 210 0x20D 0 1523 0x269afb85 8112 0 0x5e94004
sup-3/210/nper 5518595 0x10D 210 0x20D 0 1523 0x269e39aa 18672 0 0x5268004
sup-3/210/nper 5459203 0x10D 210 0x20D 0 1523 0x269f11ff 18672 0 0x5260004
sup-3/210/nper 5357968 0x10D 210 0x20D 0 1523 0x26a048b7 17712 0 0x5270004
sup-3/210/nper 5032464 0x10D 210 0x20D 0 1523 0x26a50ff6 9712 0 0x5278004
sup-3/210/nper 4760728 0x10D 210 0x20D 0 1523 0x26a8ab05 18672 0 0x5cc0004
sup-3/210/nper 4753780 0x10D 210 0x20D 0 1523 0x26a8c007 18672 0 0x5f70004
sup-3/210/nper 4652510 0x10D 210 0x20D 0 1523 0x26aa0b4a 3632 0 0x5ccf004
sup-3/210/nper 4605307 0x10D 210 0x20D 0 1523 0x26aa9963 18352 0 0x5cd0004
.....
.....
.....# show system internal mts sup sap 210 description
Svi SAP //源 SAP 是vlan interface# show system internal mts opcodes | in 1523
1523 MTS_OPC_FSMUTILS_SYNC_PSS_TO_STDBY: SYNC //涉及到的进程为主备同步var foo = 'bar';
3. 处理方式
- 双引擎设备强制引擎切换
- 单引擎设备重启