17.2. NVIDIA vGPU デバイスの管理


vGPU 機能を使用すると、物理的な NVIDIA GPU デバイスを、複数の仮想デバイスに分割できます。これらのデバイスは、仮想 GPU として複数の仮想マシンに割り当てることができます。これにより、この仮想マシンが、1 つの物理 GPU のパフォーマンスを共有できます。

注記

仮想マシンに vGPU デバイスを割り当てると、vGPU の作成に使用された物理 GPU のパフォーマンスに悪影響を与える可能性があります。

17.2.1. NVIDIA vGPU デバイスのセットアップ

最新の NVIDIA ハードウェアを搭載した RHEL 10 ホストシステム上で、仮想マシン (VM) に NVIDIA 仮想 GPU(vGPU) を割り当てるには、Single Root I/O Virtualization (SR-IOV) に基づくデバイス割り当てを使用します。

SR-IOV ベースの vGPU を設定するには、GPU デバイス用の NVIDIA vGPU ドライバーをダウンロードし、物理 GPU デバイスの Virtual Function (VF) 上に vGPU インスタンスを設定し、そのインスタンスを仮想マシンに割り当てる必要があります。

前提条件

  • NVIDIA のソフトウェアグラフィックドライバーをインストールしている。手順については、NVIDIA ドキュメントの Installing the NVIDIA vGPU software graphics driver on Red Hat distributions from an RPM package を参照してください。
  • 使用中の GPU デバイスが、ベンダー固有の SR-IOV デバイス割り当てをサポートしている。これが該当するか確認するには、NVIDIA グラフィックドライバーと一緒にインストールされる nvidia-smi ツールを使用します。

    # nvidia-smi -q | grep "Host VGPU Mode"

    正常な出力:

    Host VGPU Mode   : SR-IOV

    SR-IOV 割り当てをサポートしていない旧型の NVIDIA デバイスに基づいて vGPU をセットアップするには、仲介デバイスを使用します。手順については、NVIDIA vGPU レガシーデバイスのセットアップ を参照してください。

  • 物理 GPU デバイスの Virtual Function (VF) を有効にし、NVIDIA vGPU で使用する VF のスロット、バス、ドメイン、およびファンクションの各識別子を取得済みである。手順については、NVIDIA ドキュメントの Preparing the virtual function for an NVIDIA vGPU that supports SR-IOV on a Linux with KVM hypervisor を参照してください。

    例として、次の手順では、ドメイン 0000、バス 41、スロット 02、およびファンクション 3 を持つ VF を使用します。この VF の完全な ID は 0000:41:02.3 です。

手順

  1. NVIDIA ソフトウェアのインストーラーで /etc/modprobe.d/nvidia-installer-disable-nouveau.conf ファイルが作成されなかった場合は、/etc/modprobe.d/ に任意の名前で conf ファイルを作成し、そのファイルに以下の行を追加します。

    blacklist nouveau
    options nouveau modeset=0
  2. vGPU に使用する VF のディレクトリーに移動します。

    # cd /sys/bus/pci/devices/<domain>\:_<bus>_\:_<slot>_.<function>/nvidia

    以下に例を示します。

    # cd /sys/bus/pci/devices/0000\:41\:02.3/nvidia
  3. オプション: ディレクトリーに creatable_vgpu_types ファイルと current_vgpu_type ファイルが含まれていることを確認します。

    -r--r--r-- 1 root root       4096 Aug  3 00:39 creatable_vgpu_types
    -rw-r--r-- 1 root root       4096 Aug  3 00:39 current_vgpu_type
  4. オプション:VF 上に vGPU インスタンスがまだ作成されていないことを確認します。

    # cat current_vgpu_type

    このコマンドの出力が 0 の場合、VF 上に vGPU がまだ作成されていません。

  5. creatable_vgpu_types ファイルを調べて、VF 上に作成可能な vGPU タイプを特定します。

    # cat current_vgpu_type

    出力例:

    NVIDIA A40-1Q           557
    NVIDIA A40-2Q           558
    NVIDIA A40-3Q           559
    NVIDIA A40-4Q           560
    NVIDIA A40-6Q           561
  6. 使用したい vGPU タイプを選択し、対応する ID を current_vgpu_type ファイルに追加します。

    たとえば、次のコマンドは VF 上に A40-4Q vGPU タイプのインスタンスを作成します。

    # echo 560 > current_vgpu_type
  7. オプション:VF 上で vGPU タイプが正しく設定されていることを確認します。

    # cat current_vgpu_type
    560
  8. オプション: creatable_vgpu_types ファイルが空であることを確認してください。これは、VF 上に vGPU インスタンスを作成できなくなることを意味します。
  9. vGPU デバイスを割り当てる仮想マシンの XML 設定を開きます。

    # virsh edit <vm-name>
  10. 仮想マシンのビデオモデルタイプの設定を none に設定します。

    <video>
      <model type='none'/>
    </video>
  11. 前の手順で vGPU インスタンスを作成した VF の ID 値を含む <hostdev> セクションを追加します。

    <hostdev mode='subsystem' type='pci' managed='no' display='on' ramfb='on'>
       <source>
         <address domain='0x0000' bus='0x41' slot='0x02' function='0x3'/>
      </source>
    </hostdev>

    仮想マシンに複数の vGPU を割り当てる場合は、それぞれを異なる VF に割り当てる必要があります。以下に例を示します。

    <hostdev mode='subsystem' type='pci' managed='no' display='on' ramfb='on'>
      <source>
        <address domain='0x0000' bus='0x41' slot='0x02' function='0x3'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='no'>
      <source>
        <address domain='0x0000' bus='0x41' slot='0x02' function='0x4'/>
      </source>
    </hostdev>
  12. XML 設定を保存します。
  13. 仮想マシンが実行中の場合は、再起動します。

検証

  • 仮想マシンを起動し、ゲストオペレーティングシステムが仮想デバイスを NVIDIA GPU として検出することを確認します。たとえば、仮想マシンが Linux を使用している場合は、以下のとおりとなります。

    # lspci -d 10de: -k
    07:00.0 VGA compatible controller: NVIDIA Corporation GV100GL [Tesla V100 SXM2 32GB] (rev a1)
            Subsystem: NVIDIA Corporation Device 12ce
            Kernel driver in use: nvidia
            Kernel modules: nouveau, nvidia_drm, nvidia
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る