RHEL9でのvGPUドライバの入れ方

公式な構築手順ではありません。あくまでも検証環境として考えてください。

正しい手順は公式ドキュメントを参考にしてください。

できる限り公式ドキュメントのリンクを添付します。

 

  • 1.概要
  • 2.環境
  • 3.手順
  • 4.まとめ

1.概要

VMware NVIDIA GIRD vGPU環境でRHEL9のvGPUドライバの入れ方のメモ。
なお、本記事ではHypervisor(ESXi)側の入れ方は記載しない。そのうち
ちょっと古いゲストドライバを使っている人になおのこと刺さるはず...?

 

2.環境

【ハードウェア】

Supermicro WS SYS-7048A-T
CPU:Xeon 2699v4 x2
DIMM:32GB x16 512GB
GPU:NVIDIA Tesla T4 16G

【仮想化周り】

Hypervisor:VMware ESXi, 8.0.3, 24022510
ゲストOS:Red Hat Enterprise Linux 9.6 (Plow)
【ドライバ】
Hypervisor:535.216.01-1OEM.800.1.0.20613240
ゲストOS:535.216.01

3.手順
公式ドキュメントは下記。
4.2.3. Installing the NVIDIA vGPU Software Graphics Driver on Red Hat Distributions from an RPM Package

Virtual GPU Software User Guide - NVIDIA Docs

最新のゲストドライバを使っていれば記載通り入る。
が、今回はちょっと古めのを使うためひと手間必要。
具体的に言うと、ドキュメントの"If Dynamic Kernel Module Support (DKMS) is enabled, ensure that the dkms package is installed."

1.DKMSを導入

[root@a-shcon03 tmp]# dkms autoinstall ★
bash: dkms: command not found...
Install package 'dkms' to provide command 'dkms'? [N/y] y

 * Waiting in queue...
 * Loading list of packages....
The following packages have to be installed:
 bison-3.7.4-5.el9.x86_64       A GNU general-purpose parser generator
 dkms-3.1.8-1.el9.noarch        Dynamic Kernel Module Support Framework
 elfutils-libelf-devel-0.192-5.el9.x86_64       Development support for libelf
 flex-2.6.4-9.el9.x86_64        A tool for generating scanners (text pattern recognizers)
 kernel-devel-5.14.0-570.16.1.el9_6.x86_64      Development package for building kernel modules to match the kernel
 kernel-devel-matched-5.14.0-570.16.1.el9_6.x86_64      Meta package to install matching core and devel packages for a given kernel
 libzstd-devel-1.5.5-1.el9.x86_64       Header files for Zstd library
 m4-1.4.19-1.el9.x86_64 GNU macro processor
 openssl-devel-1:3.2.2-6.el9_5.1.x86_64 Files for development of applications which will use OpenSSL
 patch-2.7.6-16.el9.x86_64      Utility for modifying/upgrading files
 zlib-devel-1.2.11-40.el9.x86_64        Header files and libraries for Zlib development
Proceed with changes? [N/y] y


 * Waiting in queue...
 * Waiting for authentication...
 * Waiting in queue...
 * Downloading packages...
 * Requesting data...
 * Testing changes...
 * Installing packages...

 

2."--nodigest"オプションをつけインストール

[root@a-shcon03 tmp]# rpm -Uvh --nodigest ./nvidia-linux-grid-535-535.216.01-1.x86_64.rpm
warning: ./nvidia-linux-grid-535-535.216.01-1.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID c10d72e3: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:nvidia-linux-grid-535-1:535.216.0################################# [100%]
Running Post-install scripts
Loading new nvidia/535.216.01 DKMS files...
Building for 5.14.0-570.16.1.el9_6.x86_64

Building initial module nvidia/535.216.01 for 5.14.0-570.16.1.el9_6.x86_64
Sign command: /lib/modules/5.14.0-570.16.1.el9_6.x86_64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Certificate or key are missing, generating self signed certificate for MOK...

Building module(s)....................... done.
Signing module /var/lib/dkms/nvidia/535.216.01/build/nvidia.ko
Signing module /var/lib/dkms/nvidia/535.216.01/build/nvidia-uvm.ko
Signing module /var/lib/dkms/nvidia/535.216.01/build/nvidia-modeset.ko
Signing module /var/lib/dkms/nvidia/535.216.01/build/nvidia-drm.ko
Signing module /var/lib/dkms/nvidia/535.216.01/build/nvidia-peermem.ko
Installing /lib/modules/5.14.0-570.16.1.el9_6.x86_64/extra/nvidia.ko.xz
Installing /lib/modules/5.14.0-570.16.1.el9_6.x86_64/extra/nvidia-uvm.ko.xz
Installing /lib/modules/5.14.0-570.16.1.el9_6.x86_64/extra/nvidia-modeset.ko.xz
Installing /lib/modules/5.14.0-570.16.1.el9_6.x86_64/extra/nvidia-drm.ko.xz
Installing /lib/modules/5.14.0-570.16.1.el9_6.x86_64/extra/nvidia-peermem.ko.xz
Running depmod...... done.
Installation of nvidia driver is completed. Please reboot the system to load the new driver.

 

3.再起動しGPUが認識しているか確認。

[root@a-shcon03 ~]# nvidia-smi ★
Wed May 21 17:13:02 2025
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.216.01             Driver Version: 535.216.01   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  GRID T4-8Q                     On  | 00000000:03:00.0 Off |                  N/A |
| N/A   N/A    P8              N/A /  N/A |     14MiB /  8192MiB |      0%      Default |
|                                         |                      |             Disabled |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      2006      G   /usr/libexec/Xorg                            14MiB |
+---------------------------------------------------------------------------------------+

4.ライセンス導入。
お使いのNVIDIAライセンスの形式に従い導入。
稀に上手くトークンが取れなかったりするがとりあえず再起動でなんとななったり。
うまくライセンスが通っているかは下記のコマンドで見れる。

[root@a-shcon03 ~]# nvidia-smi -q | grep -i "license status"
        License Status                    : Licensed (Expiry: xxxx-xx-xx xx:xx:xx GMT) ★

 

4.まとめ

RHEL系なら比較的簡単に動く。
なお、この環境でNIM For LLMで遊んでいるがGRID T4-8Qでも小さいモデルなら動く。