vgpu玩法之unraid当guest

简介

在PVE 环境中安装unraid,给unraid分配一个vgpu,让unraid用emby实现硬件编解码。

总有一些稀奇古怪的用法戳中我的内心,刚入手了,一个服务器,发现底层装unraid总觉得哪里亏了,但又舍不得unraid提供的docker和磁盘缓存策略。unraid当guest最大的问题莫过于解码的时候emby只能软解,不能硬解。思虑再三,还是把unraid当作guest,底层用PVE(追求定制)或者ESXI(追求稳定)。

安装流程

  1. 底层先安装好PVE或者ESXi。
  2. 准备一个unraid的U盘(体验可以考虑一下开心版,网上搜索 “unraid 6.11.5 开心版”)
  3. 直通U盘,并先安装好unraid系统。
  4. 给unraid系统分配一个vgpu,建议选择workstation版本。 参考本站链接:佛西博客 - 在Proxmox VE 7.1 中开启vGPU_unlock,实现显卡虚拟化 (buduanwang.vip)
  5. 下面链接中下载好 vgpu guest unraid版本驱动(目前皮蛋熊仅适配了510.108.03版本,后续版本请期待下次我折腾再补上):14.0 | APQA镜像站
  6. 上一步中会得到名为 "虚拟机unraid-6.11.5-vgpu guest驱动.zip"  的文件
  7. 将该压缩包中的 modprobe.d目录移动到 unraid的 /boot/config 目录中,也即是U盘的 /config 目录。
  8. 将该压缩包中的 nvidia-driver 目录和 nvidia-driver.plg文件移动到  /boot/config/plugins 目录中。
  9. 再次重启后就可以看到正常启动过程中加载nvidia vgpu驱动了。
  10. 授权服务器可以参考本站链接:佛西博客 - 来自民间的VGPU授权fastapi-dls (buduanwang.vip)
  11. 在unraid服务中安装 user-scripts app,建立一个每次启动和每天执行一次的脚本,脚本内容如下:
#!/usr/bin/bash

curl --insecure -X GET https://10.0.0.5:6443/client-token -o /etc/nvidia/ClientConfigToken/client_configuration_token.tok

if pgrep nvidia-gridd >/dev/null 2>&1 ; then
    echo "nvidia-gridd进程已经在运行,正在关闭..."
    pkill nvidia-gridd
else
    echo "nvidia-gridd进程未在运行"
fi

sleep 2

/usr/bin/nvidia-gridd &

请根据自己的授权地址更换这个10.0.0.5:6443地址。

如一切正常,就可以通过如下命令发现已经授权成功了。

主要用途

我使用这个vgpu在unraid中主要作用还是作为emby的编解码。

所以需要先正常安装一个emby开心版,什么你没有地址?那这里有一个特别版或许可以尝试一下:lovechen/embyserver - Docker Image | Docker Hub

安装这个docker容器的时候需要几个选项:

  1. Extra Paramenters 添加 “--runtime=nvidia”。
  2. 添加变量: NVIDIA_DRIVER_CAPABILITIES 内容为 all (全小写)。
  3. 添加变量: NVIDIA_VISABLE_DEVICES 内容为 下面获取的UUID。

通过 nvidia-smi -q | grep "UUID" 就可以获取该vgpu的UUID:

整个配置如下:

进入后可看到正常的编解码选项:

 

版权声明:
作者:皮蛋熊
链接:https://foxi.buduanwang.vip/virtualization/pve/2844.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
分享
二维码
海报
vgpu玩法之unraid当guest
简介 在PVE 环境中安装unraid,给unraid分配一个vgpu,让unraid用emby实现硬件编解码。 总有一些稀奇古怪的用法戳中我的内心,刚入手了,一个服务器,发现底层……
<<上一篇
下一篇>>
文章目录
关闭
目 录