10.2.3. 为 vGPU 配置 Compute 节点并部署 overcloud
您需要检索并分配与环境中物理 GPU 设备对应的 vGPU 类型,并准备环境文件来为 vGPU 配置 Compute 节点。
流程
- 在临时 Compute 节点上安装 Red Hat Enterprise Linux 和 NVIDIA GRID 驱动程序并启动该节点。
虚拟 GPU 是介质设备或
mdev类型设备。检索每个 Compute 节点上的每个mdev设备的 PCI 地址:$ ls /sys/class/mdev_bus/PCI 地址用作设备驱动程序目录名称,如
0000:84:00.0。查看每个 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创建一个
gpu.yaml文件来指定每个 GPU 设备支持的 vGPU 类型:parameter_defaults: ComputeGpuExtraConfig: nova::compute::vgpu::enabled_vgpu_types: - nvidia-35 - nvidia-36可选: 要配置多个 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_<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.0和0000:85:00.0中的 pGPU 支持nvidia-35vGPU 类型。 -
nvidia-36vGPU 类型只支持 PCI 地址0000:86:00.0中的 pGPU。
-
在 PCI 地址
-
将
- 保存对 Compute 环境文件的更新。
使用其他环境文件将新的角色和环境文件添加到堆栈中,并部署 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