8.2.3. 設定ファイルの準備とオーバークラウドのデプロイ
仮想 GPU 用のオーバークラウドを準備したら、環境内の物理 GPU デバイスに対応する仮想 GPU の種別を取得して割り当て、設定テンプレートを準備します。
NVIDIA デバイスの仮想 GPU 種別の設定
物理 GPU デバイスに対応する仮想 GPU の種別を判断するには、別のマシンから利用可能なデバイス種別を確認する必要があります。任意の一時的な Red Hat Enterprise Linux の未使用コンピュートノードから、この手順を実施することができます。その後、ノードを削除します。これらのステップを実施するために、オーバークラウドをデプロイする必要はありません。
- Red Hat Enterprise Linux と NVIDIA GRID ドライバーを 1 つのコンピュートノードにインストールし、そのノードを起動します。NVIDIA GRID ドライバーのインストールについての詳細は、「カスタム GPU オーバークラウドイメージのビルド」 を参照してください。
コンピュートノードで、有効にする物理 GPU デバイスに対応する仮想 GPU の種別を確認します。Libvirt の場合、仮想 GPU は仲介デバイスまたは
mdev
種別のデバイスとして表示されます。サポートされているmdev
デバイスを検出するには、以下のコマンドを実行します。[root@overcloud-computegpu-0 ~]# ls /sys/class/mdev_bus/0000\:06\:00.0/mdev_supported_types/ nvidia-11 nvidia-12 nvidia-13 nvidia-14 nvidia-15 nvidia-16 nvidia-17 nvidia-18 nvidia-19 nvidia-20 nvidia-21 nvidia-210 nvidia-22 [root@overcloud-computegpu-0 ~]# cat /sys/class/mdev_bus/0000\:06\:00.0/mdev_supported_types/nvidia-18/description num_heads=4, frl_config=60, framebuffer=2048M, max_resolution=4096x2160, max_instance=4
設定テンプレートの準備
compute-gpu.yaml ファイルを network-environment.yaml ファイルに追加します。以下に例を示します。
resource_registry: OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/templates/nic-configs/compute.yaml OS::TripleO::ComputeGpu::Net::SoftwareConfig: /home/stack/templates/nic-configs/compute-gpu.yaml OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/nic-configs/controller.yaml #OS::TripleO::AllNodes::Validation: OS::Heat::None
OvercloudComputeGpuFlavor
フレーバーを node-info.yaml ファイルに追加します。以下に例を示します。parameter_defaults: OvercloudControllerFlavor: control OvercloudComputeFlavor: compute OvercloudComputeGpuFlavor: compute-vgpu-nvidia ControllerCount: 1 ComputeCount: 0 ComputeGpuCount: 1 NtpServer: `NTP_SERVER_URL` NeutronNetworkType: vxlan,vlan NeutronTunnelTypes: vxlan
NTP_SERVER_URL
変数を実際の NTP サーバーのアドレスに置き換えます。GPU デバイス用に取得した仮想 GPU の種別で gpu.yaml ファイルを作成します。以下に例を示します。
parameter_defaults: ComputeGpuExtraConfig: nova::compute::vgpu::enabled_vgpu_types: - nvidia-18
注記サポートされる仮想 GPU の種別は、物理 GPU 1 つにつき 1 つだけです。このプロパティーで複数の仮想 GPU 種別を指定した場合は、最初の種別だけが使用されます。
オーバークラウドのデプロイ
カスタム GPU イメージおよび準備した設定テンプレートを指定して、overcloud deploy
コマンドを実行します。
$ openstack overcloud deploy -r /home/stack/templates/nvidia/gpu_roles_data.yaml -e /home/stack/templates/nvidia/gpu.yaml