• Welcome to LiuJason's Blog!

Proxmox VE配置LXC实现显卡直通和共享

Linux笔记 Jason 3 hours ago 1 Views 0 Comments

最近要配置一些机器,记录一下,适用于PVE版本9.1。

先换源

####换源
echo 'deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve trixie pve-no-subscription' > /etc/apt/sources.list.d/pve-no-subscription.list
rm /etc/apt/sources.list.d/pve-enterprise.sources
rm /etc/apt/sources.list.d/ceph.sources
cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm

#写入CEPH源 /etc/apt/sources.list.d/ceph.sources
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/ceph-squid
Suites: trixie
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

安装显卡驱动,先禁用开源版驱动,这里要reboot

apt update && apt install sudo gcc make pve-headers-$(uname -r) -y

#修改black list:
echo -e "blacklist nouveau\noptions nouveau modeset=0" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf

# 更新 initramfs
sudo update-initramfs -u

选择版本下载:https://download.nvidia.com/XFree86/Linux-x86_64/

wget https://download.nvidia.com/XFree86/Linux-x86_64/580.105.08/NVIDIA-Linux-x86_64-580.105.08.run
sh NVIDIA-Linux-x86_64-580.105.08.run --dkms

提示授权类型,选NV Property,然后等build

安装完成

root@com5:~# nvidia-smi
Wed Dec  3 19:09:10 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.105.08             Driver Version: 580.105.08     CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| 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  NVIDIA L20                     Off |   00000000:21:00.0 Off |                    0 |
| N/A   29C    P0             79W /  350W |       0MiB /  46068MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA L20                     Off |   00000000:41:00.0 Off |                    0 |
| N/A   30C    P0             79W /  350W |       0MiB /  46068MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

查看所有nv设备,记下这个ID,我这里是195和507

root@com5:~# ls -al /dev/nvidia*
crw-rw-rw- 1 root root 195,   0 Dec  3 19:09 /dev/nvidia0
crw-rw-rw- 1 root root 195,   1 Dec  3 19:09 /dev/nvidia1
crw-rw-rw- 1 root root 195, 255 Dec  3 19:09 /dev/nvidiactl
crw-rw-rw- 1 root root 507,   0 Dec  3 19:09 /dev/nvidia-uvm
crw-rw-rw- 1 root root 507,   1 Dec  3 19:09 /dev/nvidia-uvm-tools

/dev/nvidia-caps:
total 0
drwxr-xr-x  2 root root     80 Dec  3 19:09 .
drwxr-xr-x 23 root root   5180 Dec  3 19:09 ..
cr--------  1 root root 510, 1 Dec  3 19:09 nvidia-cap1
cr--r--r--  1 root root 510, 2 Dec  3 19:09 nvidia-cap2

添加unprivileged LXC,这里我的CTID=105,修改conf文件,添加:

lxc.cgroup2.devices.allow: c 195:* rwm
lxc.cgroup2.devices.allow: c 507:* rwm
lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file
lxc.mount.entry: /dev/nvidia1 dev/nvidia1 none bind,optional,create=file
lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=f>
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir

开机后,安装驱动:

apt update && apt install gcc make -y
wget https://download.nvidia.com/XFree86/Linux-x86_64/580.105.08/NVIDIA-Linux-x86_64-580.105.08.run
sh NVIDIA-Linux-x86_64-580.105.08.run --no-kernel-module

完成

 


This article is under CC BY-NC-SA 4.0 license.
Please quote the original link:https://www.liujason.com/article/1307.html
Like (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址