NSX Edge 传输节点在 HA 故障切换后自动进入 NSX 维护模式。

问题

如果 NSX Edge 传输节点的数据路径或堆内存使用出现问题,则这些传输节点可能会自动进入 NSX 维护模式。

原因

要查看 Edge 节点的高可用性状态、状态更改及其原因,请运行 Admin CLI get edge-cluster statusget edge-cluster history state。如果 Edge 状态为“关闭”,则表示数据路径进程未在运行、物理链路已关闭或 VTEP 隧道已关闭。

解决方案

  1. 运行 Admin CLI get diagnois configget service dataplane 以验证核心服务是否已启动。
  2. 运行 Admin CLI get diagnosis topology 以查看详细的 Edge 配置状态。
  3. 运行 Admin CLI get host-switch 以获取 VTEP 设备名称和物理端口名称。
  4. 运行 Admin CLI get physical-port <port-name> 以查看主机交换机端口的状态,然后运行 get physical-port <interface-name> stats 并查找 rx_misses(输入缓冲区)或 tx_drops(输出缓冲区)计数器,以确定是否出现数据包丢失情况。如果 Edge 上的流量速率过高,远远高于数据路径 CPU 可以处理的速率,则可能会出现数据包丢失情况。数据包首先会保留在输入/输出缓冲区中,如果这些缓冲区已满,则会丢弃这些数据包。要检查当前的缓冲区大小配置,请使用 CLI get dataplane | fing ring
  5. 如果数据平面服务已停止,请通过发出命令 start service dataplane(作为临时解决办法)来启动该服务。
  6. 如果主机交换机端口已关闭,请通过发出命令 set physical-port fp-eth0 state up(作为临时解决办法)来打开该端口。
  7. 如果出现数据包丢失情况或主机交换机状态出现问题,请向 VMware 技术支持团队提交请求单。

    您还可以尝试使用 CLI set dataplane ring-size <rx/tx> <size> 更改 rx/tx 缓冲区配置(以增强 Edge 接口流量管理能力)。支持的缓冲区大小范围为 128-4096 字节,并且需要重新启动数据平面服务才能使新配置生效,期间会造成约 60 秒的停机时间。

    1. 例如,set dataplane ring-size rx 2048。重新启动数据平面服务以使更改生效。
    2. 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