您可以监控端口镜像会话以进行故障排除和用于其他用途。
请注意,仅覆盖网络逻辑交换机支持逻辑 SPAN,而 VLAN 逻辑交换机则不支持。
该功能具有以下限制:
- 源镜像端口不能位于多个镜像会话中。
- 通过使用 KVM,可以将多个网卡连接到同一 OVS 端口。镜像是在 OVS 上行链路端口上进行的,这意味着将镜像连接到 OVS 端口的所有 pNIC 上的流量。
- 对于本地 SPAN 会话,镜像会话源和目标端口必须位于同一主机 vSwitch 上。因此,如果通过 vMotion 将具有源或目标端口的虚拟机移到另一个主机,则无法再镜像该端口上的流量。
- 在 ESXi 上,如果在上行链路上启用了镜像,则 VDL2 使用 Geneve 协议将原始生产 TCP 数据包封装为 UDP 数据包。支持 TSO(TCP 分段卸载)的物理网卡可以更改这些数据包,并使用 MUST_TSO 标记来标记这些数据包。在具有 VMXNET3 或 E1000 vNIC 的监控虚拟机上,该驱动程序将数据包视为常规 UDP 数据包,而无法处理 MUST_TSO 标记并丢弃这些数据包。
如果将大量流量镜像到一个监控虚拟机,则驱动程序的缓冲区环可能会变满并丢弃数据包。为了缓解该问题,您可以采取下面的一个或多个措施:
- 增加接收缓冲区环大小。
- 为虚拟机分配更多 CPU 资源。
- 使用数据平面开发工具包 (Data Plane Development Kit, DPDK) 提高数据包处理性能。
注: 确保监控虚拟机的 MTU 设置以及 Hypervisor 的虚拟网卡设备的 MTU 设置(对于 KVM)足够大以处理数据包。这对于封装的数据包特别重要,因为封装增加了数据包大小。否则,可能会丢弃数据包。具有 VMXNET3 网卡的 ESXi 虚拟机不会出现该问题,但 ESXi 和 KVM 虚拟机上的其他类型的网卡可能会出现该问题。
注: 在涉及 KVM 主机上的虚拟机的 L3 端口镜像会话中,您必须设置足够大的 MTU 以处理封装所需的额外字节。镜像流量经由 OVS 接口和 OVS 上行链路。您必须将 OVS 接口的 MTU 设置为比原始数据包大小(在封装和镜像之前)至少大 100 字节。如果您看到丢弃的数据包,请增加主机的虚拟网卡和 OVS 接口的 MTU 设置。可以使用以下命令设置 OVS 接口的 MTU:
ovs-vsctl -- set interface <ovs_Interface> mtu_request=<MTU>
注: 在监控虚拟机的逻辑端口以及虚拟机所在的主机的上行链路端口时,根据主机是 ESXi 还是 KVM,将会看到不同的行为。对于 ESXi,将使用相同的 VLAN ID 标记逻辑端口镜像数据包和上行链路镜像数据包,它们在监控虚拟机中显示为相同的数据包。对于 KVM,不使用 VLAN ID 标记逻辑端口镜像数据包,但标记上行链路镜像数据包,它们在监控虚拟机中显示为不同的数据包。
前提条件
确认在 NSX Manager 用户界面中选择了管理器模式。请参见NSX Manager。如果看不到策略和管理器模式按钮,请参见配置用户界面设置。