NSX Edge 传输节点在 HA 故障切换后自动进入 NSX 维护模式。
问题
如果 NSX Edge 传输节点的数据路径或堆内存使用出现问题,则这些传输节点可能会自动进入 NSX 维护模式。
原因
要查看 Edge 节点的高可用性状态、状态更改及其原因,请运行 Admin CLI get edge-cluster status 和 get edge-cluster history state。如果 Edge 状态为“关闭”,则表示数据路径进程未在运行、物理链路已关闭或 VTEP 隧道已关闭。
解决方案
- 运行 Admin CLI get diagnois config 和 get service dataplane 以验证核心服务是否已启动。
- 运行 Admin CLI get diagnosis topology 以查看详细的 Edge 配置状态。
- 运行 Admin CLI get host-switch 以获取 VTEP 设备名称和物理端口名称。
- 运行 Admin CLI get physical-port <port-name> 以查看主机交换机端口的状态,然后运行 get physical-port <interface-name> stats 并查找 rx_misses(输入缓冲区)或 tx_drops(输出缓冲区)计数器,以确定是否出现数据包丢失情况。如果 Edge 上的流量速率过高,远远高于数据路径 CPU 可以处理的速率,则可能会出现数据包丢失情况。数据包首先会保留在输入/输出缓冲区中,如果这些缓冲区已满,则会丢弃这些数据包。要检查当前的缓冲区大小配置,请使用 CLI get dataplane | find ring。
- 如果数据平面服务已停止,请通过发出命令 start service dataplane(作为临时解决办法)来启动该服务。
- 如果主机交换机端口已关闭,请通过发出命令 set physical-port fp-eth0 state up(作为临时解决办法)来打开该端口。
- 如果出现数据包丢失情况或主机交换机状态出现问题,请向 VMware 技术支持团队提交请求单。
您还可以尝试使用 CLI set dataplane ring-size <rx/tx> <size> 更改 rx/tx 缓冲区配置(以增强 Edge 接口流量管理能力)。支持的缓冲区大小范围为 128-4096 字节,并且需要重新启动数据平面服务才能使新配置生效,期间会造成约 60 秒的停机时间。
- 例如,set dataplane ring-size rx 2048。重新启动数据平面服务以使更改生效。
- set dataplane ring-size tx 2048。重新启动数据平面服务以使更改生效。
restart service dataplane
get dataplane | find ring
Bfd_ring_size : 512
Lacp_ring_size : 512
Learning_ring_size : 512
Livetrace_ring_size: 512
Rx_ring_size : 2048
Slowpath_ring_size : 512
Tx_ring_size : 2048