Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

通过 vRouter CLI 进行故障排除

访问 vRouter CLI

您可以通过访问正在运行的 vRouter-Agent 容器的 shell 来访问 vRouter 的命令行界面 (CLI)。
注意:以下命令仅作为示例提供。必须从您的环境中替换 vRouter Pod 名称。命令输出可能因您的环境而异。

列出群集上运行的 K8s Pod

在此示例输出中,复制 vRouter pod—contrail-vrouter-masters-dfxgm 的名称。您将使用 Pod 名称连接到正在运行的容器的 shell。

连接到 vRouter CLI

发出 kubectl exec 命令以访问正在运行的容器的 shell:

其中 <namespace> 标识运行 Pod 的命名空间,<pod 名称>指定 Pod 的名称,<容器名称>指定容器的名称(如果 Pod 有多个容器,则指定)。

vRouter 容器有三个容器。如果未指定容器名称,则命令将默认为 vrouter-agent 容器 shell。下面是一个示例:

此时,您已连接到虚拟路由器的 CLI。

通过 vRouter CLI 进行故障排除

您可以在 CLI 中运行命令来了解 vRouter 的状态。

通过 vif 命令验证虚拟路由器接口

下面显示的命令允许您查看 vRouter 上存在哪些接口:

查看虚拟路由器的运行配置

要查看 vRouter 的状态,请在 vRouter CLI 中输入以下命令:

输出包含多个元素。

表 1:vRouter 状态属性
标记 Meaning
--l2_mode

虚拟路由器以 L2 模式运行。

--l2_table_size

MAC 表中的当前条目数。默认大小为 10240 个条目。

--allow=<PCI Id>

交换矩阵和交换矩阵工作负载接口的 PCI ID。输出中可以出现多个 ID。这些 ID 用作允许列表。

--ddp

启用英特尔 DDP 支持。

默认情况下,我们在 vRouter 的 values.yaml 文件中启用 DDP。

注意:

英特尔 XL710 网卡不支持 DDP。

通过 purel2cli 命令查看 L2 配置和统计信息

purel2cli 命令是查看云原生路由器 L2 配置和统计信息的有用实用程序。首先使用 purel2cli --help 命令。

命令 purel2cli --mac show 显示 vRouter 动态学习的 MAC 地址。

purel2cli --vlan show 命令显示 VLAN 和关联的端口。

您也可以发出 purel2cli --vlan get 命令来获取有关 VLAN 的更多详细信息。

发出 purel2cli --l2stats 命令以查看 L2 统计信息。例如:

表 2: purel2cli用于 L2 统计信息的命令选项
示例命令 函数
purel2cli --l2stats get '*' '*' 获取所有虚拟接口 (vif) 和所有 VLAN ID 的统计信息。
purel2cli --l2stats get '*' 100 获取属于 VLAN 100 的所有 VIF 的统计信息
purel2cli --l2stats get 1 '*' 获取接口 1 为成员的所有 VLAN 的统计信息
purel2cli --l2stats get 1 100 获取接口 1 和 VLAN 100 的统计信息

命令显示 vRouter 中的 VLAN 端口映射。您可以使用命令查看特定 VLAN 的桥接域表条目: 该命令有多种变体,可用于在 vRouter 中显示和过滤 L2 统计信息。命令的基本形式为: 。下表显示了可用的命令选项及其作用。它还使用其中一个选项提供示例输出:以下命令是接口 2 和 VLAN 1221 的 L2 统计信息示例:您可以使用格式为 : 的 purel2cli 命令从 vRouter 清除统计信息。清除 vRouter 中所有 VLAN 中的所有统计信息。清除 VLAN ID 100 的所有统计信息。

命令dropstats

vRouter 会跟踪丢弃的数据包,并包括丢弃这些数据包的原因。下表显示了 vRouter 丢包的常见原因。执行 dropstats 命令时,如果计数器的计数为 0,则 vRouter 不会显示该计数器。

表 3:Dropstats 计数器
计数器名称 的含义
L2 bd table drop 桥接域中无接口
L2 untag pkt drop 未标记的数据包到达中继接口或子接口
L2 Invalid Vlan 数据包 VLAN 与接口 VLAN 不匹配
L2 Mac Table Full MAC 表中没有更多可用条目
L2 ACL drop 数据包匹配防火墙过滤器 (ACL) 丢弃规则
L2 Src Mac lookup fail 无法匹配(或学习)源 MAC 地址

dropstats 命令的示例输出如下所示:

命令dpdkinfo

使用 dpdkinfo 命令,可以深入了解 DPDK 的状态和统计信息。dpdkinfo 命令有许多选项。以下部分介绍了可用选项和 dpdkinfo 命令的示例输出。只能从 vRouter-Agent CLI 中运行 dpdkinfo 命令。

命令 dpdkinfo -c 显示分配给 DPDK VF 交换矩阵接口的 Lcore 以及每个接口的队列 ID。

命令 dpdkinfo -m all 显示所有内存池信息。

命令 dpdkinfo -n 3 显示特定接口的统计信息。

命令 dpdkinfo -x 3 显示特定接口的扩展统计信息。

rtnh 命令

使用 rt 命令以显示 VRF 中的所有路由。这 nh 命令允许您检查 vRouter 已知的下一跃点。下一跃点会告诉 vRouter 在到达其最终目标的路径中发送数据包的下一个位置。

例如,对于 IPv4 流量:

例如,对于 IPv6 流量:

命令flow

flow使用命令可显示系统中的所有活动流。例如: