8.6. 部署 OVS TC-flower 硬件卸载 overcloud
在 OVS TC-flower 硬件卸载环境中部署 Red Hat OpenStack Platform (RHOSP) overcloud 的最后一步是运行 openstack overcloud deploy 命令。命令的输入包括您构建的所有 overcloud 模板和环境文件。
先决条件
-
访问
stack用户的 undercloud 主机和凭据。 - 在包含 NIC 的主机上访问 sudo。
-
您已执行了本节前面流程中列出的所有步骤,并编译了所有各种 heat 模板和环境文件,以用作
overcloud deploy命令的输入。
流程
-
以
stack用户身份登录 undercloud 主机。 查找
stackrcundercloud 凭证文件:source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输入
openstack overcloud deploy命令。以特定顺序列出
openstack overcloud deploy命令的输入非常重要。常规规则是首先指定默认的 heat 模板文件,后跟包含自定义配置的自定义环境文件和自定义模板,如覆盖默认属性。按照以下顺序将输入添加到
openstack overcloud deploy命令中:包含 overcloud 上 SR-IOV 网络规格的自定义网络定义文件,如
network-data.yaml。如需更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的 网络定义文件配置选项。
包含 RHOSP director 用来部署 OVS 硬件卸载环境的
Controller和ComputeOvsHwOffload角色的角色文件。示例:
roles_data_compute_ovshwol.yaml如需更多信息,请参阅 第 8.1 节 “为 OVS TC-flower 硬件卸载生成角色和镜像文件”。
来自置备 overcloud 网络的输出文件。
示例:
overcloud-networks-deployed.yaml如需更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的配置和管理 overcloud 网络定义。
来自置备 overcloud VIP 的输出文件。
示例:
overcloud-vip-deployed.yaml如需更多信息,请参阅 安装和管理 Red Hat OpenStack Platform 指南中的 为 overcloud 配置和置备网络 VIP。
置备裸机节点的输出文件。
示例:
overcloud-baremetal-deployed.yaml有关更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的 为 overcloud 置备裸机节点。
director 用来确定获取容器镜像的位置以及如何存储它们的镜像文件。
示例:
overcloud_images.yaml如需更多信息,请参阅 第 8.1 节 “为 OVS TC-flower 硬件卸载生成角色和镜像文件”。
您的环境使用的网络服务(neutron)机制驱动程序和路由器方案的环境文件:
ML2/OVN
-
分布式虚拟路由(DVR):
neutron-ovn-dvr-ha.yaml -
集中式虚拟路由:
neutron-ovn-ha.yaml
-
分布式虚拟路由(DVR):
ML2/OVS
-
分布式虚拟路由(DVR):
neutron-ovs-dvr.yaml -
集中式虚拟路由:
neutron-ovs.yaml
-
分布式虚拟路由(DVR):
SR-IOV 的环境文件,具体取决于您的机制驱动程序:
ML2/OVN
-
neutron-ovn-sriov.yaml
-
ML2/OVS
neutron-sriov.yaml注意如果您也有一个 OVS-DPDK 环境,并希望在同一节点上找到 OVS-DPDK 和 SR-IOV 实例,请在部署脚本中包含以下环境文件:
ML2/OVN
neutron-ovn-dpdk.yamlML2/OVS
neutron-ovs-dpdk.yaml
一个或多个包含您的配置的自定义环境文件:
- ComputeOvsHwOffload 节点的 PCI 透传设备。
- ComputeOvsHwOffload 节点的特定于角色的参数
覆盖 OVS 硬件卸载环境的默认配置值。
示例:
ovshwol-overrides.yaml如需更多信息,请参阅:
- 第 8.2 节 “为 OVS TC-flower 硬件卸载配置 PCI 透传设备”.
第 8.3 节 “为 OVS TC-flower 硬件卸载添加特定于角色的参数和配置覆盖”.
示例
示例
openstack overcloud deploy命令摘录演示了使用 DVR 的 SR-IOV ML2/OVN 环境正确排序命令输入:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
运行
openstack overcloud deploy命令。完成 overcloud 创建后,RHOSP director 会提供帮助您访问 overcloud 的详细信息。
验证
- 使用 director 安装和管理 Red Hat OpenStack Platform 指南中的执行验证 overcloud 部署 中的步骤。
后续步骤
确保 NIC 的 e-switch 模式设置为
switchdev。switchdev模式建立映射到 VF 的 NIC 上的端口。重要您必须在
switchdev端口上启用安全组和端口安全性,以便连接跟踪(conntrack)模块将 OpenFlow 流卸载到硬件。运行以下命令检查 NIC:
示例
在本例中,会查询 NIC
pci/0000:03:00.0:sudo devlink dev eswitch show pci/0000:03:00.0
$ sudo devlink dev eswitch show pci/0000:03:00.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
您应该看到类似如下的输出:
pci/0000:03:00.0: mode switchdev inline-mode none encap enable
pci/0000:03:00.0: mode switchdev inline-mode none encap enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要将 NIC 设置为
switchdev模式,请运行以下命令:示例
在本例中,NIC
pci/0000:03:00.0的 e-switch 模式被设置为switchdev:sudo devlink dev eswitch set pci/0000:03:00.0 mode switchdev
$ sudo devlink dev eswitch set pci/0000:03:00.0 mode switchdevCopy to Clipboard Copied! Toggle word wrap Toggle overflow
要从
switchdev-enabled NIC 分配端口,请执行以下操作:以具有
admin角色的 RHOSP 用户身份登录,并使用binding-profile值的功能创建 neutron 端口,并禁用端口安全性:重要您必须在
switchdev端口上启用安全组和端口安全性,以便连接跟踪(conntrack)模块将 OpenFlow 流卸载到硬件。openstack port create --network private --vnic-type=direct --binding-profile '{"capabilities": ["switchdev"]}' direct_port1 --disable-port-security$ openstack port create --network private --vnic-type=direct --binding-profile '{"capabilities": ["switchdev"]}' direct_port1 --disable-port-securityCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建实例时传递此端口信息。
您可以将代表器端口与实例 VF 接口关联,并将代表器端口连接到 OVS 网桥
br-int,以进行一次性 OVS 数据路径处理。VF 端口代表程序功能,如物理"patch 面板"前端的软件版本。有关创建新实例的更多信息,请参阅 第 8.8 节 “在 SR-IOV 或 OVS TC-flower 硬件卸载环境中创建实例”。
在接口和代表端口上应用以下配置,以确保 TC 流程序在端口级别推送流编程:
sudo ethtool -K <device-name> hw-tc-offload on
$ sudo ethtool -K <device-name> hw-tc-offload onCopy to Clipboard Copied! Toggle word wrap Toggle overflow 调整每个网络接口的频道数以提高性能。
频道包括中断请求(IRQ)以及触发 IRQ 的队列集合。当您将
mlx5_core驱动程序设置为switchdev模式时,mlx5_core驱动程序默认为一个组合频道,它可能无法提供最佳性能。在物理功能(PF)代表器上,输入以下命令调整主机可用的 CPU 数量。
示例
在这个示例中,网络接口中的多用途频道数量被设置为
3,eno3s0f0:sudo ethtool -L enp3s0f0 combined 3
$ sudo ethtool -L enp3s0f0 combined 3Copy to Clipboard Copied! Toggle word wrap Toggle overflow