5.17. 检查 DPDK 和 SR-IOV 配置
本节用于使用 NFV 技术,如数据平面开发套件(DPDK)集成和单根输入/输出虚拟化(SR-IOV)。如果您的 overcloud 不使用这些功能,请忽略本节。
在 Red Hat OpenStack Platform 10 中,不需要将 first-boot 脚本文件替换为 host-config-and-reboot.yaml
,这是 OpenStack Platform 13 模板。在整个升级过程中维护第一引导脚本可避免进行额外的重启。
5.17.1. 升级 DPDK 环境
对于使用 DPDK 的环境,请检查特定的服务映射,以确保成功过渡到容器化环境。
流程
由于过渡到容器化服务,所以会自动升级 DPDK 服务的快速升级。如果将自定义环境文件用于 DPDK,请手动调整这些环境文件以映射到容器化服务。
OS::TripleO::Services::ComputeNeutronOvsDpdk: /usr/share/openstack-tripleo-heat-templates/docker/services/neutron-ovs-dpdk-agent.yaml
注意另外,也可使用最新的 NFV 环境文件
/usr/share/openstack-tripleo-heat-templates/environments/services/services/neutron-ovs-dpdk.yaml
。将 OpenStack Network (Neutron)代理服务映射到适当的容器化模板:
如果您正在使用 DPDK 的默认
Compute
角色,请将ComputeNeutronOvsAgent
服务映射到核心 heat 模板集合的docker/services
目录中的neutron-ovs-dpdk-agent.yaml
文件。resource_registry: OS::TripleO::Services::ComputeNeutronOvsAgent: /usr/share/openstack-tripleo-heat-templates/docker/services/neutron-ovs-dpdk-agent.yaml
-
如果您在 DPDK 中使用自定义角色,则应当存在一个自定义的可组合服务,如
ComputeNeutronOvsDpdkAgentCustom
。将这个服务映射到 docker 目录中的neutron-ovs-dpdk-agent.yaml
文件。
在 DPDK 角色定义中添加以下服务和额外参数:
RoleParametersDefault: VhostuserSocketGroup: "hugetlbfs" TunedProfileName: "cpu-paritioning" ServicesDefault: - OS::TripleO::Services::ComputeNeutronOvsDPDK
删除以下服务:
ServicesDefault: - OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::Tuned
5.17.2. 升级 SR-IOV 环境
对于使用 SR-IOV 的环境,请检查以下服务映射,以确保成功过渡到容器化环境。
流程
SR-IOV 服务的快速升级会因为过渡到容器化服务而自动进行。如果您要为 SR-IOV 使用自定义环境文件,请确保这些服务正确映射到容器化服务。
OS::TripleO::Services::NeutronSriovAgent: /usr/share/openstack-tripleo-heat-templates/docker/services/neutron-sriov-agent.yaml OS::TripleO::Services::NeutronSriovHostConfig: /usr/share/openstack-tripleo-heat-templates/puppet/services/neutron-sriov-host-config.yaml
注意另外,也可使用最后一个 NFV 环境文件
/usr/share/openstack-tripleo-heat-templates/environments/services/neutron-sriov.yaml
。确保
roles_data.yaml
文件包含所需的 SR-IOV 服务。如果您要为 SR-IOV 使用默认
Compute
角色,请在 OpenStack Platform 13 中包括此角色中的相应服务。-
将
roles_data.yaml
文件从/usr/share/openstack-tripleo-heat-templates
复制到您的自定义模板目录,例如/home/stack/templates
。 将以下服务添加到默认计算角色中:
- OS::TripleO::Services::NeutronSriovAgent
- OS::TripleO::Services::NeutronSriovHostConfig
从默认的 Compute 角色中删除以下服务:
- OS::TripleO::Services::NeutronLinuxbridgeAgent
OS::TripleO::Services::Tuned
如果您要为 SR-IOV 使用自定义
Compute
角色,则NeutronSriovAgent
服务应当存在。添加NeutronSriovHostConfig
服务,该服务在 Red Hat OpenStack Platform 13 中引入。注意在运行
ffwd-upgrade
命令以下部分准备
和聚合时,应该包括roles_data.yaml
文件。
-
将