16.2.2. NVIDIA vGPU デバイスの削除
割り当てられた SR-IOV ベースの vGPU デバイス の設定を変更するには、割り当てられた仮想マシン (VM) から vGPU ホストデバイスを削除する必要があります。必要に応じて、それぞれの Virtual Function (VF) 内の vGPU インスタンスを無効化することもできます。
前提条件
- ホスト上の仮想マシンに、SR-IOV ベースの vGPU デバイスを設定している。手順は、NVIDIA vGPU デバイスのセットアップ を参照してください。
- デバイスを削除する仮想マシンがシャットダウンされている。
手順
削除したい vGPU インスタンスで使用されている VF を特定します。
仮想マシンの XML 設定を開きます。
# virsh edit <vm-name>以下のような
hostdevセクションを探します。<hostdev mode='subsystem' type='pci' managed='no' display='on' ramfb='on'> <source> <address domain='0x0000' bus='0x41' slot='0x02' function='0x3'/> </source> </hostdev>
XML 設定から vGPU
hostdevセクションを削除します。これにより、仮想マシンから vGPU インスタンスは削除されますが、対応する VF は vGPU が設定されたままになります。vGPU タイプを変更したり、VF から vGPU 機能を削除したりする場合は、残りの手順に進んでください。
XML 設定から
<video>セクションが以前に削除されていた場合は、仮想マシンが仮想化ビデオドライバーを使用するように、<devices>セクションに <video> セクションを復元します。以下に例を示します。<video> <model type='vga' vram='16384' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video>- XML 設定を保存します。
vGPU 割り当てに使用する VF のディレクトリーに移動します。
# cd /sys/bus/pci/devices/<domain>\:<bus>\:<slot>.<function>/nvidiaたとえば、VF が
0000:41:02.3の場合、以下のコマンドを使用します。# cd /sys/bus/pci/devices/0000\:41\:02.3/nvidiaオプション: VF 上で vGPU タイプが現時点で正しく設定されていることを確認します。
# cat current_vgpu_type560current_vgpu_typeの内容を0に変更します。# echo 0 > current_vgpu_type
検証
VF 上の vGPU タイプが
0になっていることを確認します。# cat current_vgpu_type0creatable_vgpu_typesに利用可能な vGPU のタイプが含まれていることを確認します。cat creatable_vgpu_types成功時の出力例:
NVIDIA A40-1Q 557 NVIDIA A40-2Q 558 NVIDIA A40-3Q 559 NVIDIA A40-4Q 560 NVIDIA A40-6Q 561これは、vGPU インスタンスが削除されたことを示し、VF 上に新しい vGPU を作成できることを意味します。