本节介绍了使用 NSX Advanced Load Balancer Shell 提示符启用和停用 PCAP tx_ring 的步骤。

tx_ring 方法是 NSX Advanced Load Balancer SE 的当前非 DPDK 环境中的默认传输机制。与 PCAP 套接字机制相比,PCAP tx_ring 方法消耗更多内存。由于内存消耗较高,其余进程可能在资源有限的 SE 中遇到内存分配失败。

由于系统上的资源限制,tx_ring 模式可能会导致非 DPDK 部署的传输路径中出现数据包丢弃问题。每次默认 tx_ring 方法出现问题时,将使用替代原始套接字方法在传输路径中传输数据包。

启用原始套接字效果

如果系统运行的内存少于或等于 2 GB RAM,则使用原始套接字方法传输数据包。在其他情况下,tx_ring 是默认的传输机制。pcap_tx_mode 控制项强制要求 SE 使用 tx_ring 方法或原始套接字方法以帮助覆盖默认行为。该配置是 SE 组属性的一部分,并在重新启动 SE 后生效。

tx_ring 传输选项的配置参数是 enable_pcap_tx_ring。要启用原始套接字效果,请使用 NSX Advanced Load Balancer CLI 停用 enable_pcap_tx_ring 标记并重新启动所有相应的 SE。

注:

这适用于所有非 DPDK 环境。

停用 PCAP_TX_Ring

登录到 NSX Advanced Load Balancer Shell 提示符,并使用 configure serviceenginegroup 模式停用 enable_pcap_tx_ring 传输模式,如下所示:

[admin:<controller-ip>]: > configure serviceenginegroup Default-Group 
[admin:<controller-ip>]: serviceenginegroup> no enable_pcap_tx_ring 
[admin:<controller-ip>]: serviceenginegroup> save
[admin:<controller-ip>]: >

在执行上述命令后,重新启动受影响的 SE。

通过 NSX Advanced Load Balancer CLI 启用 pcap_tx_ring 选项

使用凭据登录到 NSX Advanced Load Balancer Shell 提示符。使用 configure serviceenginegroup 模式 enable pcap_tx_mode,如下所示:

[admin:<controller-ip>]: > configure serviceenginegroup Default-Group 
[admin:<controller-ip>]: serviceenginegroup>pcap_tx_mode pcap_tx_ring 
[admin:<controller-ip>]: serviceenginegroup> save
[admin:<controller-ip>]: >

通过 NSX Advanced Load Balancer CLI 启用 pcap_tx_socket 选项

[admin:<controller-ip>]: > configure serviceenginegroup Default-Group 
[admin:<controller-ip>]: serviceenginegroup>pcap_tx_mode pcap_tx_socket 
[admin:<controller-ip>]: serviceenginegroup> save
[admin:<controller-ip>]: >

重新启用 PCAP_TX_Ring

要将传输模式切换回 tx_ring 方法,请登录到 NSX Advanced Load Balancer CLI 并重新启用该方法,如下所示:

[admin:<controller-ip>]: > configure serviceenginegroup Default-Group 
[admin:<controller-ip>]: serviceenginegroup>enable_pcap_tx_ring 
[admin:<controller-ip>]: serviceenginegroup> save
[admin:<controller-ip>]: >