前言
正是发现pve8对lxc也提供了显卡加速支持,才导致了我这一轮的各种配置环境重新搭建和升级。相比此前,几乎只能使用特权模式来提供IGPU的加速。使用GID、UID的映射,仍然存在大量的问题。
主机环境
如果要直通给LXC,宿主机自己要能识别。本次我计划把card1、renderD128直通到LXC中
root@pve:~# ls -l /dev/dri total 0 drwxr-xr-x 2 root root 80 Feb 23 22:39 by-path crw-rw----+ 1 root video 226, 1 Feb 23 22:39 card1 crw-rw----+ 1 root render 226, 128 Feb 16 16:39 renderD128
容器对应组ID查找
进入容器,找到video 和render的组ID
root@CT111:~# getent group render render:x:104: root@CT111:~# getent group video video:x:44:
直通配置
在PVE WEB管理界面,找到对应的容器——资源——添加——设备直通
设备路径:/dev/dri/card1
CT中的UID:0(root用户的UID是0,这里就不查了。直通其它设备就查一下,没有该用户的新建)
CT中的GID:44(本次直通的card1属于用户root,用户组video,上面我们在容器中查了video的组ID是44)
同理可以直通renderD128给到容器
设备路径:/dev/dri/renderD128
CT中的UID:0(root用户的UID是0,这里就不查了。直通其它设备就查一下,没有该用户的新建)
CT中的GID:104
与以前相比,就不需要手动计算映射关系了。即使计算了,也会存在问题。
在容器中进行验证
权限和归属一致,直通成功
root@CT111:~# ls -l /dev/dri total 0 crw-rw---- 1 root video 226, 1 Feb 25 15:53 card1 crw-rw---- 1 root render 226, 128 Feb 25 15:53 renderD128