11.4. SR-IOV NVIDIA GPU が作成できる仮想 GPU の最大数を設定する
NVIDIA SR-IOV GPU を使用している場合、Compute サービス (nova) は、それらの GPU が作成できる仮想 GPU (vGPU) の最大数を検出できません。そのため、この数を NVIDIA から手動で取得し、max_instances 設定オプションを設定して、SR-IOV NVIDIA GPU が作成できる仮想 GPU の最大数を定義する必要があります。
ノードセット内のノードのサブセットは再設定できません。そうする必要がある場合は、ノードセットをスケールダウンし、以前に削除したノードから新しいノードセットを作成する必要があります。
前提条件
- NVIDIA GPU が SR-IOV をサポートしているかどうか、サポートされる Virtual Function (VF) の数を把握している。たとえば、NVIDIA L4 GPU Accelerator は、32 個の VF に対して SR-IOV サポートを提供します。詳細は、www.nvidia.com を参照してください。
-
ワークステーションに
ocコマンドラインツールがインストール済みである。 -
cluster-admin権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。 -
SR-IOV NVIDIA GPU の仮想 GPU の最大数を設定するノードを定義する
OpenStackDataPlaneNodeSetCR を選択した。OpenStackDataPlaneNodeSetCR 作成の詳細は、Red Hat OpenStack Services on OpenShift のデプロイ の 事前プロビジョニングされたノードを使用した OpenStackDataPlaneNodeSet CR の作成 を参照してください。
手順
SR-IOV NVIDIA GPU が特定の仮想 GPU タイプに対して作成できる vGPU の最大数を定義するには、
nova-extra-config.yamlという名前のConfigMapCR を作成または更新します。仮想 GPU タイプの特定のmdevセクションで、enabled_mdev_typesパラメーターとmax_instancesパラメーターの値を設定する必要があります。この設定例は、最大 24 個の仮想 GPU を作成できる A40-2Q NVIDIA GPU タイプ用です。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 = 24ConfigMapオブジェクトの作成の詳細は、ノード の config map の作成と使用 を参照してください。-
nova-extra-config.yamlファイルを保存します。 新しい
OpenStackDataPlaneDeploymentCR を作成して、データプレーンノード上のサービスを設定し、データプレーンをデプロイして、ワークステーション上のcompute_vgpus_max_instance_deploy.yamlという名前のファイルに保存します。apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: compute_ vgpus_max_instancecompute_vgpus_max_instance_deploy.yamlで、デプロイするすべてのOpenStackDataPlaneNodeSetCR を含めるようにnodeSetsを指定します。前提条件として選択したOpenStackDataPlaneNodeSetCR が含まれていることを確認してください。警告デプロイメントに複数のノードセットがある場合、ノードセットと
DataPlaneServicesがどのように設定されているかにより、nova-extra-config.yamlConfigMap への変更が複数のノードセットに直接影響する可能性があります。ノードセットがnova-extra-configConfigMap を使用しているために再設定の影響を受けるかを確認するには、次の手順を実行します。-
ノードセットのサービスリストを確認し、
novaを指すDataPlaneServiceの名前を見つけます。DataPlaneServiceのedpmServiceTypeフィールドの値がnovaに設定されていることを確認します。 -
DataPlaneServiceのdataSourcesリストにnova-extra-configという名前のconfigMapRefが含まれている場合、このノードセットはこのConfigMapを使用し、その結果このConfigMapに加えた設定変更の影響を受けます。影響を受けるノードセットの一部を再設定しない場合は、これらのノードセットの別のConfigMapを指す新しいDataPlaneServiceを作成し、必要なノードセットでそのカスタムサービスを使用する必要があります。
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>は、データプレーンデプロイメントに含めるOpenStackDataPlaneNodeSetCR の名前に置き換えます。
-
ノードセットのサービスリストを確認し、
-
compute_vgpus_max_instance_deploy.yamlデプロイメントファイルを保存します。 データプレーンをデプロイします。
$ oc create -f compute_vgpus_max_instance_deploy.yamlデータプレーンがデプロイされていることを確認します。
$ oc get openstackdataplanenodeset NAME STATUS MESSAGE compute_vgpus_max_instance True Deployedopenstackclientのリモートシェルにアクセスし、デプロイされたコンピュートノードがコントロールプレーンに表示されることを確認します。$ oc rsh -n openstack openstackclient $ openstack hypervisor list