11.4. 设置 SR-IOV NVIDIA GPU 可创建的最大 vGPU 数量


如果您使用 NVIDIA SR-IOV GPU,则 Compute 服务(nova)无法发现这些 GPU 可以创建的最大虚拟 GPU (vGPU)数量。因此,您必须手动从 NVIDIA 检索这个数字,然后设置 max_instances 配置选项来定义 SR-IOV NVIDIA GPU 可以创建的最大 vGPU 数。

警告

您无法在节点集合中重新配置节点的子集。如果需要这样做,您必须缩减节点设置,并从之前删除的节点创建新节点。

先决条件

  • 您知道您的 NVIDIA GPU 支持 SR-IOV 以及它支持的虚拟功能(VF)的数量。例如,Nvidia L4 GPU 加速器为 32 VF 提供 SR-IOV 支持。如需更多信息,请参阅 www.nvidia.com
  • 在工作站上安装了 oc 命令行工具。
  • 以具有 cluster-admin 权限的用户身份登录到可访问 RHOSO 控制平面的工作站。
  • 您已选择了 OpenStackDataPlaneNodeSet CR,用于定义您要为 SR-IOV NVIDIA GPU 配置最大 vGPU 数量的节点。有关创建 OpenStackDataPlaneNodeSet CR 的更多信息,请参阅在 OpenShift 上部署 Red Hat OpenStack Services 中的创建带有预置备节点的 OpenStack DataPlaneNodeSet CR

流程

  1. 要定义 SR-IOV NVIDIA GPU 可以为特定 vGPU 类型创建的最大 vGPU 数量,请创建或更新名为 nova-extra-config.yamlConfigMap CR。您必须在 vGPU 类型的特定 mdev 部分中设置 enabled_mdev_types 参数的值和 max_instances 参数的值。这个示例配置适用于 A40-2Q NVIDIA GPU 类型,它最多可创建 24 个 vGPU:

    apiVersion: v1
    kind: ConfigMap
    metadata:
       name: nova-extra-config
       namespace: openstack
    data:
       36-nova-max-instances.conf: |
          [devices]
          enabled_mdev_types = nvidia-558
    
          [mdev_nvidia-558]
          max_instances = 24

    有关创建 ConfigMap 对象的更多信息,请参阅 在节点中创建和使用 配置映射

  2. 保存 nova-extra-config.yaml 文件。
  3. 创建新的 OpenStackDataPlaneDeployment CR,以在 data plane 节点上配置服务并部署数据平面,并将它保存到工作站上名为 compute_vgpus_max_instance_deploy.yaml 的文件中:

    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
      name: compute_ vgpus_max_instance
  4. compute_vgpus_max_instance_deploy.yaml 中,指定 nodeSets 以包含您要部署的所有 OpenStackDataPlaneNodeSet CR。确保包含您选择的 OpenStackDataPlaneNodeSet CR。

    警告

    如果您的部署有多个节点集,对 nova-extra-config.yaml ConfigMap 的更改可能会直接影响多个节点集,具体取决于节点集和 DataPlaneServices 的配置方式。要检查节点集是否使用 nova-extra-config ConfigMap,因此会受到重新配置的影响,请完成以下步骤:

    1. 检查节点集的服务列表,并查找指向 novaDataPlaneService 的名称。确保 DataPlaneServiceedpmServiceType 字段的值设置为 nova
    2. 如果 DataPlaneServicedataSources 列表包含名为 nova-extra-configconfigMapRef,则此节点会使用此 ConfigMap,因此会受到此 ConfigMap 中的配置更改的影响。如果某些受影响的节点集合不应重新配置,您必须创建一个新的 DataPlaneService,指向这些节点集的独立 ConfigMap,并在所需的节点集中使用该自定义服务。
    apiVersion: dataplane.openstack.org/v1beta1
    kind: OpenStackDataPlaneDeployment
    metadata:
      name: compute-vgpus_max_instance
    spec:
      nodeSets:
        - openstack-edpm
        - compute_vgpus_max_instance
        - ...
        - <nodeSet_name>
    • <nodeSet_name > 替换为您要包含在 data plane 部署中的 OpenStackDataPlaneNodeSet CR 的名称。
  5. 保存 compute_vgpus_max_instance_deploy.yaml 部署文件。
  6. 部署数据平面:

    $ oc create -f compute_vgpus_max_instance_deploy.yaml
  7. 验证 data plane 是否已部署:

    $ oc get openstackdataplanenodeset
    NAME           STATUS MESSAGE
    compute_vgpus_max_instance True   Deployed
  8. 访问 openstackclient 的远程 shell,并验证部署的 Compute 节点是否在 control plane 上可见:

    $ oc rsh -n openstack openstackclient
    $ openstack hypervisor list
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部