2.2. 确认计算节点 OVS 配置
要验证网络适配器和 OpenvSwitch 的配置和健康状况,请完成以下步骤:
要验证计算节点上的 DPDK 网络设备,请运行以下命令。该 rpm 在 repo 中找到:
rhel-7-server-extras-rpms。$ yum install dpdk-tools显示由 DPDK 管理的网络设备以及用于联网的网络设备。
$ dpdk-devbind --status使用 DPDK 驱动程序的设备在 Tripleo 计算角色模板中是
ovs_dpdk_bond或ovs_dpdk_port类型:Network devices using DPDK-compatible driver ============================================ 0000:04:00.1 'Ethernet 10G 2P X520 Adapter 154d' drv=vfio-pci unused= 0000:05:00.0 'Ethernet 10G 2P X520 Adapter 154d' drv=vfio-pci unused= Network devices using kernel driver =================================== 0000:02:00.0 'NetXtreme BCM5720 Gigabit Ethernet PCIe 165f' if=em1 drv=tg3 unused=vfio-pci *Active* 0000:02:00.1 'NetXtreme BCM5720 Gigabit Ethernet PCIe 165f' if=em2 drv=tg3 unused=vfio-pci 0000:03:00.0 'NetXtreme BCM5720 Gigabit Ethernet PCIe 165f' if=em3 drv=tg3 unused=vfio-pci 0000:03:00.1 'NetXtreme BCM5720 Gigabit Ethernet PCIe 165f' if=em4 drv=tg3 unused=vfio-pci *Active* 0000:04:00.0 'Ethernet 10G 2P X520 Adapter 154d' if=p1p1 drv=ixgbe unused=vfio-pci 0000:05:00.1 'Ethernet 10G 2P X520 Adapter 154d' if=p2p2 drv=ixgbe unused=vfio-pci运行以下命令来确认 DPDK 已启用:
$ sudo ovs-vsctl get Open_vSwitch . iface_types [dpdk, dpdkr, dpdkvhostuser, dpdkvhostuserclient, geneve, gre, internal, lisp, patch, stt, system, tap, vxlan]运行以下命令。结果显示来自 DPDK 兼容驱动程序的 PCI 设备,例如
0000:04:00.1和:05:00.0作为type: dpdk,且没有错误。$ ovs-vsctl show Bridge "br-link0" Controller "tcp:127.0.0.1:6633" is_connected: true fail_mode: secure Port "phy-br-link0" Interface "phy-br-link0" type: patch options: {peer="int-br-link0"} Port "dpdkbond0" Interface "dpdk1" type: dpdk options: {dpdk-devargs="0000:04:00.1", n_rxq="2"} Interface "dpdk0" type: dpdk options: {dpdk-devargs="0000:05:00.0", n_rxq="2"} Port "br-link0" Interface "br-link0" type: internal ovs_version: "2.9.0"以下输出显示了错误:
Port "dpdkbond0" Interface "dpdk1" type: dpdk options: {dpdk-devargs="0000:04:00.1", n_rxq="2"} error: "Error attaching device '0000:04:00.1' to DPDK"要显示接口详情,请运行以下命令:
$ sudo ovs-vsctl list interface dpdk1 | egrep "name|mtu|options|status"运行以下命令。请注意,未启用 lacp。
$ ovs-appctl bond/show dpdkbond0 bond_mode: active-backup bond may use recirculation: no, Recirc-ID : -1 bond-hash-basis: 0 updelay: 0 ms downdelay: 0 ms lacp_status: off lacp_fallback_ab: false active slave mac: a0:36:9f:e5:da:82(dpdk1) slave dpdk0: enabled may_enable: true slave dpdk1: enabled active slave may_enable: true检查计算节点上的所有 ovs 网桥是否都为
netdev,表示快速数据路径(用户空间)联网注意不支持混合系统(内核)和 netdev(用户空间)数据路径类型。
$ ovs-vsctl list bridge | grep -e name -e datapath_type datapath_type : netdev name : br-int datapath_type : netdev name : "br-link0"运行以下命令来检查持久性 Open vSwitch 错误:
$ grep ERROR /var/log/openvswitch/ovs-vswitchd.log