10.2.3. 仮想 GPU 用コンピュートノードの設定およびオーバークラウドのデプロイ
環境内の物理 GPU デバイスに対応する仮想 GPU の種別を取得して割り当て、仮想 GPU 用コンピュートノードを設定するための環境ファイルを準備する必要があります。
手順
- Red Hat Enterprise Linux と NVIDIA GRID ドライバーを一時コンピュートノードにインストールし、そのノードを起動します。
仮想 GPU は、仲介デバイス、または
mdevタイプのデバイスです。各コンピュートノード上の各mdevデバイスの PCI アドレスを取得します。$ ls /sys/class/mdev_bus/PCI アドレスは、デバイスドライバーのディレクトリー名として使用されます (例:
0000:84:00.0)。各コンピュートノードで利用可能な各 pGPU デバイスでサポートされている
mdevタイプを確認して、利用可能な vGPU タイプを見つけます。$ ls /sys/class/mdev_bus/<mdev_device>/mdev_supported_types<mdev_device>を、mdevデバイスの PCI アドレス (0000:84:00.0など) に置き換えます。たとえば、次のコンピュートノードには 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-45gpu.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_<vgpu_type>定義のコンマ区切りリストを使用します。 <pci_address>を、vGPU タイプをサポートする pGPU デバイスの PCI アドレス (0000:84:00.0など) に置き換えます。<pci_address>定義のコンマ区切りリストを使用して、vGPU グループを追加の pGPU にマップします。以下に例を示します。
NovaVGPUTypesDeviceAddressesMapping: {'vgpu_nvidia-35': ['0000:84:00.0', '0000:85:00.0'],'vgpu_nvidia-36': ['0000:86:00.0']}-
nvidia-35vGPU タイプは、PCI アドレス0000:84:00.0および0000:85:00.0にある pGPU でサポートされています。 -
nvidia-36vGPU タイプは、PCI アドレス0000:86:00.0にある pGPU でのみサポートされています。
-
-
- 更新内容を Compute 環境ファイルに保存します。
その他の環境ファイルと共に新しいロールファイルおよび環境ファイルをスタックに追加して、オーバークラウドをデプロイします。
(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