0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

proxmoxの非特権LXC内でGPU(Nvidia)を認識させる備忘録

0
Posted at

proxmoxバージョンを上げてインストールしなおしたので、備忘録として追加。
旧バージョンはこちら

前提条件

  • proxmox: 9.2.21
  • LXC: Ubuntu 26.04 ※事前作成しておく
  • GPU: RTX4090

モチベーション

  • 複数の非特権LXCでGPUを共有したい
  • VMにGPUパススルーする方法では、vGPUを使わないと複数のコンテナでGPUが共有できない
  • vGPUはコンシューマ向けGPU非対応(RTXシリーズなど)

ホスト側の初期設定手順

  • proxmox 9.2.21 のデフォルトカーネルはNVIDIA Driverとの互換性で問題があるため、カーネルバージョンを互換性があるものまで下げる必要があります
# LXC を停止
pct shutdown {コンテナID}

# NVIDIA公式リポジトリを追加
wget https://developer.download.nvidia.com/compute/cuda/repos/debian13/x86_64/cuda-keyring_1.1-1_all.deb
dpkg -i cuda-keyring_1.1-1_all.deb
apt update

# 旧カーネルの固定
apt install -y \
  build-essential \
  dkms \
  proxmox-kernel-7.0.14-19-pve \
  proxmox-headers-7.0.14-19-pve

# 起動するカーネルを7.0.14-19-pveに固定
proxmox-boot-tool kernel pin 7.0.14-19-pve
proxmox-boot-tool refresh

# 再起動
reboot

# カーネルを確認する
uname -r

# NVIDIA Driverバージョン確認
apt-cache policy nvidia-open
apt-cache policy nvidia-driver-cuda

# nvidia driver インストール
# NVIDIA Driver 615.71.09を指定するが、任意のバージョンに合わせる
apt install \
  nvidia-driver-cuda=615.71.09-2 \
  nvidia-kernel-open-dkms=615.71.09-2

# NVIDIA Driverの確認
nvidia-smi

# NVIDIAデバイスを確認
ls -l /dev/nvidia*
>crw-rw-rw- 1 root root 195,   0 Oct 13 12:54 /dev/nvidia0
>crw-rw-rw- 1 root root 195, 255 Oct 13 12:54 /dev/nvidiactl
>crw-rw-rw- 1 root root 195, 254 Oct 13 12:54 /dev/nvidia-modeset
>crw-rw-rw- 1 root root 507,   0 Oct 13 13:01 /dev/nvidia-uvm
>crw-rw-rw- 1 root root 507,   1 Oct 13 13:01 /dev/nvidia-uvm-tools
>
>/dev/nvidia-caps:
>total 0
>cr-------- 1 root root 510, 1 Oct 13 13:01 nvidia-cap1
>cr--r--r-- 1 root root 510, 2 Oct 13 13:01 nvidia-cap2

# LXCへデバイスパススルーを設定
# すでに他デバイスをパススルーしていたらdev{数字}の数字部分を任意に設定する
pct set {コンテナID} --dev0 path=/dev/nvidia0,mode=0666
pct set {コンテナID} --dev1 path=/dev/nvidiactl,mode=0666
pct set {コンテナID} --dev2 path=/dev/nvidia-uvm,mode=0666
pct set {コンテナID} --dev3 path=/dev/nvidia-uvm-tools,mode=0666
pct set {コンテナID} --dev4 path=/dev/nvidia-modeset,mode=0666

# LXCを起動
pct start 101

LXC側の設定手順

# コンテナ側でデバイスがパススルーされているか確認
ls -l /dev/nvidia*
>crw-rw-rw- 1 root root 195, 254 Oct 13 14:12 /dev/nvidia-modeset
>crw-rw-rw- 1 root root 507,   0 Oct 13 14:12 /dev/nvidia-uvm
>crw-rw-rw- 1 root root 507,   1 Oct 13 14:12 /dev/nvidia-uvm-tools
>crw-rw-rw- 1 root root 195,   0 Oct 13 14:12 /dev/nvidia0
>crw-rw-rw- 1 root root 195, 255 Oct 13 14:12 /dev/nvidiactl

# NVIDIA Driverをインストールする
# NVIDIA Driver 615を指定するが、任意のバージョンに合わせる
apt update
apt install --no-install-recommends \
  nvidia-utils-615 \
  libnvidia-compute-615

# NVIDIA Driverの確認
nvidia-smi
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?