PVE 配置

开启硬件直通:BIOS 中打开硬件直通相关选项(VT-d & VMX) 编辑 Grub

nano /etc/default/grub

注释原条目,并增加开启参数

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

如果你的 pcie 设备分组有问题也可以换成这一行对分组拆分(直通遇到问题都可以尝试这个)

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on pcie_acs_override=downstream"

更新 grub

update-grub

上传启动镜像:将镜像 img 扩展名修改为 iso,直接通过 PVE 后台上传 创建虚拟机并设置直通:修改配置文件命令

nano /etc/pve/qemu-server/[虚拟机编号].conf

LXC 容器配置

为容器加入渲染器硬件,并关闭 AppArmor(部分显卡可能需要更新内核才能找到渲染器)

nano /etc/pve/lxc/[CT_ID].conf

加入硬件参数:(可先用ls -l /dev/dri查询)

lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file
lxc.apparmor.profile: unconfined

挂载 SMB 目录

安装 SMB 组件并创建共享目录(目录可自定义)

apt install cifs-utils -y
mkdir /mnt/nas/video

创建密码文件(注意保护文件,此处为明文密码):

nano ~/.smbcredentials

设置 SMB 登录密码,自行替换:

username=jellyfin
password=share_password

修改自动挂载文件

nano /etc/fstab

加入挂载位置,自行替换

//192.168.1.3/video /mnt/nas/video cifs credentials=/root/.smbcredentials,iocharset=utf8 0 0

验证 通过指定挂载点来挂载共享:

mount /mnt/nas/video

查看

df -h

安装 Jellyfin

docker run -d \
 -v /volume1/docker/jellyfin/config:/config \
 -v /volume1/docker/jellyfin/cache:/cache \
 -e TZ=Asia/Shanghai \
 -e HTTP_PROXY=http://192.168.1.5:7890/ \
 -e HTTPS_PROXY=http://192.168.1.5:7890/ \
 -e NO_PROXY=localhost,192.168.1.5,.example.com \
 --name jellyfin \
 --user 0:0 \
 --net=host \
 --device=/dev/dri:/dev/dri \
 --mount type=bind,source=/mnt/nas,target=/media \
 --restart=unless-stopped \
 nyanmisaka/jellyfin

参考文献

https://gitee.com/spoto/PVE_Generic_AIO/tree/master/1%E3%80%81%E5%88%9B%E5%BB%BA%E5%9F%BA%E4%BA%8ELXC%E7%9A%84Docker%E5%AE%B9%E5%99%A8_%EF%BC%88%E6%9C%AA%E5%AE%8C%E6%88%90%EF%BC%89

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/managing_file_systems/proc_mounting-an-smb-share-automatically-when-the-system-boots_assembly_mounting-an-smb-share-on-red-hat-enterprise-linux