10.2.3. 为 vGPU 配置 Compute 节点并部署 overcloud


您需要检索并分配与环境中物理 GPU 设备对应的 vGPU 类型,并准备环境文件来为 vGPU 配置 Compute 节点。

流程

  1. 在临时 Compute 节点上安装 Red Hat Enterprise Linux 和 NVIDIA GRID 驱动程序并启动该节点。
  2. 虚拟 GPU 是介质设备或 mdev 类型设备。检索每个 Compute 节点上的每个 mdev 设备的 PCI 地址:

    $ ls /sys/class/mdev_bus/

    PCI 地址用作设备驱动程序目录名称,如 0000:84:00.0

  3. 查看每个 Compute 节点上每个可用 pGPU 设备支持的 mdev 类型,以发现可用的 vGPU 类型:

    $ ls /sys/class/mdev_bus/<mdev_device>/mdev_supported_types
    • <mdev_device > 替换为 mdev 设备的 PCI 地址,例如 0000:84:00.0

      例如,以下 Compute 节点有 4 个 pGPU,每个 pGPU 都支持相同的 11 vGPU 类型:

    [root@overcloud-computegpu-0 ~]# ls /sys/class/mdev_bus/0000:84:00.0/mdev_supported_types:
    nvidia-35  nvidia-36  nvidia-37  nvidia-38  nvidia-39  nvidia-40  nvidia-41  nvidia-42  nvidia-43  nvidia-44  nvidia-45
    [root@overcloud-computegpu-0 ~]# ls /sys/class/mdev_bus/0000:85:00.0/mdev_supported_types:
    nvidia-35  nvidia-36  nvidia-37  nvidia-38  nvidia-39  nvidia-40  nvidia-41  nvidia-42  nvidia-43  nvidia-44  nvidia-45
    [root@overcloud-computegpu-0 ~]# ls /sys/class/mdev_bus/0000:86:00.0/mdev_supported_types:
    nvidia-35  nvidia-36  nvidia-37  nvidia-38  nvidia-39  nvidia-40  nvidia-41  nvidia-42  nvidia-43  nvidia-44  nvidia-45
    [root@overcloud-computegpu-0 ~]# ls /sys/class/mdev_bus/0000:87:00.0/mdev_supported_types:
    nvidia-35  nvidia-36  nvidia-37  nvidia-38  nvidia-39  nvidia-40  nvidia-41  nvidia-42  nvidia-43  nvidia-44  nvidia-45
  4. 创建一个 gpu.yaml 文件来指定每个 GPU 设备支持的 vGPU 类型:

    parameter_defaults:
      ComputeGpuExtraConfig:
        nova::compute::vgpu::enabled_vgpu_types:
          - nvidia-35
          - nvidia-36
  5. 可选: 要配置多个 vGPU 类型,请将支持的 vGPU 类型映射到 pGPU:

    parameter_defaults:
      ComputeGpuExtraConfig:
        nova::compute::vgpu::enabled_vgpu_types:
          - nvidia-35
          - nvidia-36
        NovaVGPUTypesDeviceAddressesMapping: {'vgpu_<vgpu_type>': ['<pci_address>', '<pci_address>'],'vgpu_<vgpu_type>': ['<pci_address>', '<pci_address>']}
    • <vgpu_type > 替换为 vGPU 类型的名称,以便为 vGPU 组创建一个标签,如 vgpu_nvidia-35。使用以逗号分隔的 vgpu_&lt ;vgpu_type> 定义列表来映射额外的 vGPU 类型。
    • <pci_address > 替换为支持 vGPU 类型的 pGPU 设备的 PCI 地址,如 0000:84:00.0。使用以逗号分隔的 < pci_address> 定义列表将 vGPU 组映射到额外的 pGPU。

      Example:

      NovaVGPUTypesDeviceAddressesMapping: {'vgpu_nvidia-35': ['0000:84:00.0', '0000:85:00.0'],'vgpu_nvidia-36': ['0000:86:00.0']}

      • 在 PCI 地址 0000:84:00.00000:85:00.0 中的 pGPU 支持 nvidia-35 vGPU 类型。
      • nvidia-36 vGPU 类型只支持 PCI 地址 0000:86:00.0 中的 pGPU。
  6. 保存对 Compute 环境文件的更新。
  7. 使用其他环境文件将新的角色和环境文件添加到堆栈中,并部署 overcloud:

    (undercloud)$ openstack overcloud deploy --templates \
      -e [your environment files] \
      -r /home/stack/templates/roles_data_gpu.yaml \
      -e /home/stack/templates/network-environment.yaml \
      -e /home/stack/templates/gpu.yaml \
      -e /home/stack/templates/overcloud-baremetal-deployed.yaml \
      -e /home/stack/templates/node-info.yaml
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部