第 7 章 配置 SR-IOV 部署


在 Red Hat OpenStack Platform NFV 部署中,当您通过虚拟资源配置从实例到共享 PCIe 资源时,您可以使用单根 I/O 虚拟化(SR-IOV)提高性能。

重要

本节包括必须为拓扑和用例修改的示例。如需更多信息,请参阅 NFV 的硬件要求

先决条件

  • RHOSP undercloud。

    在部署 overcloud 之前,您必须安装和配置 undercloud。如需更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform

    注意

    RHOSP director 通过您在模板和自定义环境文件中指定的键值对修改 SR-IOV 配置文件。您不能直接修改 SR-IOV 文件。

  • 访问 stack 用户的 undercloud 主机和凭据。
  • 访问包含 NIC 的主机。
  • 确保保持 NIC 固件更新。

    yumdnf 更新可能无法完成固件更新。如需更多信息,请参阅您的厂商文档。

流程

使用 Red Hat OpenStack Platform (RHOSP) director 在 SR-IOV 环境中安装和配置 RHOSP。高级步骤有:

  1. 按照 使用 director 配置 overcloud 网络中的说明,创建网络配置文件 network_data.yaml 以为您的 overcloud 配置 物理网络。
  2. 生成角色和镜像文件
  3. 为 SR-IOV 配置 PCI 透传设备
  4. 添加特定于角色的参数和配置覆盖
  5. 创建裸机节点定义文件
  6. 为 SR-IOV 创建 NIC 配置模板
  7. (可选) 分区 NIC
  8. 置备 overcloud 网络和 VIP。

    如需更多信息,请参阅:

  9. 置备 overcloud 裸机节点。

    有关更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 指南中的 为 overcloud 置备裸机节点

  10. 部署 SR-IOV overcloud

7.1. 为 SR-IOV 生成角色和镜像文件

Red Hat OpenStack Platform (RHOSP) director 使用角色为节点分配服务。在 SR-IOV 环境中部署 RHOSP 时,ComputeSriov 是 RHOSP 安装提供的默认角色,它除默认的计算服务外,还包括 NeutronSriovAgent 服务。

undercloud 安装需要一个环境文件来确定从何处获取容器镜像以及如何存储它们。

先决条件

  • 访问 stack 用户的 undercloud 主机和凭据。

流程

  1. stack 用户的身份登录 undercloud。
  2. Source stackrc 文件:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  3. 生成一个名为 roles_data_compute_sriov.yaml 的新角色数据文件,其中包含 ControllerComputeSriov 角色:

    $  openstack overcloud roles \
     generate -o /home/stack/templates/roles_data_compute_sriov.yaml \
     Controller ComputeSriov
    Copy to Clipboard Toggle word wrap
    注意

    如果您在 RHOSP 环境、OVS-DPDK、SR-IOV 和 OVS 硬件卸载中使用多种技术,则仅生成一个角色数据文件来包含所有角色:

    $ openstack overcloud roles generate -o /home/stack/templates/\
    roles_data.yaml Controller ComputeOvsDpdk ComputeOvsDpdkSriov \
    Compute:ComputeOvsHwOffload
    Copy to Clipboard Toggle word wrap
  4. 要生成镜像文件,请运行 openstack tripleo container image prepare 命令。需要以下输入:

    • 您在之前步骤中生成的角色数据文件,如 roles_data_compute_sriov.yaml
    • 适合您的网络服务机制驱动程序的 SR-IOV 环境文件:

      • ML2/OVN 环境

        /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yaml

      • ML2/OVS 环境

        /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-sriov.yaml

        示例

        在本例中,为 ML2/OVN 环境生成 overcloud_images.yaml 文件:

        $ sudo openstack tripleo container image prepare \
          --roles-file ~/templates/roles_data_compute_sriov.yaml \
          -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yaml \
          -e ~/containers-prepare-parameter.yaml \
          --output-env-file=/home/stack/templates/overcloud_images.yaml
        Copy to Clipboard Toggle word wrap
  5. 注意角色数据文件的路径和文件名以及您创建的镜像文件。您稍后会在部署 overcloud 时使用这些文件。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat