PVE安装飞牛fnOS及核显虚拟化直通硬解指南

摘要:fnOS 是一个免费的 NAS 系统,发布以来受到不少自组 NAS 玩家追捧。我通过 PVE 安装 fnOS 一直在使用,本文就来分享一下我的使用感受和经验。

fnOS 是一个免费的 NAS 系统,发布以来受到不少自组 NAS 玩家追捧。我通过 PVE 安装 fnOS 一直在使用,本文就来分享一下我的使用感受和经验。

一、PVE 安装 fnOS 稳定性如何?

我的 fnOS 基于 PVE 虚拟机安装(PVE 作为 All-In-One 主机的主系统,fnOS 作为 NAS 系统来管理机械硬盘)。硬件上给 fnOS 直通了 SATA 控制器(方便接入硬盘)、虚拟化直通了核显(方便视频解码)。目前使用挺稳定的。

我的 All-In-One 主机配置:

PVE 开启核显虚拟化的好处是“核显复用”:1、一个核显可供多个虚拟机使用;2、核显既可以虚拟化直通给虚拟机,又可以主系统显示输出。

AMD 核显可以直通但不能虚拟化,所以目前讨论核显虚拟化基本指 Intel 核显。下图是 Intel 显卡 SR-IOV 虚拟化支持情况:

如果你的设备是独显、AMD 核显可以考虑直通给 fnOS 调用来解码,但我个人觉得最安逸的方案还是 Intel 核显虚拟化直通:既保留了 PVE 主系统视频输出,又可以供虚拟机调用核显解码。

接下来就介绍一下 PVE 开启 Intel 核显虚拟化的具体操作:首先主板 BIOS 必须开启 VT-D 虚拟化并支持 SR-IOV,可以查看各家主板使用手册或者网上找下教程。

然后开始安装 Intel 核显驱动,目前主要有两个方案(我建议新手用第二个方案):

方案一编译安装:http://github.com/strongtz/i915-sriov-dkms

方案二安装包安装:http://github.com/MoetaYuko/intel-gpu-i915-backports

1、驱动有可能不支持最新版本内核,如果需要降低 PVE 内核版本,可以用如下命令安装指定版本内核:

#查看 PVE 版本及内核版本pveversion#安装并切换到指定版本内核apt install pve-headers-6.5.13-3-pveapt install pve-kernel-6.5.13-3-pveproxmox-boot-tool kernel pin 6.5.13-3-pveproxmox-boot-tool refresh reboot

2、安装必备文件

#安装必备文件apt updateapt install pve-kernel-$(uname -r)proxmox-boot-tool kernel pin $(uname -r)apt install pve-headers-$(uname -r)apt install build-* git dkms sysfsutils flex bison -y

3、下载核显驱动安装包并上传到 PVE,通过 dpgk 命令安装 deb 软件包:

dpkg -i "intel-i915-dkms-xxx.deb"

4、修改 grub 文件并更新引导:

vim /etc/default/grub#修改如下内容GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_guc=3 i915.max_vfs=3"

5、修改完毕后更新引导并重启 PVE:

update-grubupdate-initramfs -u reboot

6、通过如下命令查看核显驱动和 IOMMU 划分是否成功生效:

dkms statusdmesg | grep -e DMAR -e IOMMU

7、通过如下命令设定核显拆分数量:

echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 3" > /etc/sysfs.conf

8、然后通过如下命令查看拆分结果。如果显示多个核显设备,则表示虚拟化拆分正常。注意 00:02.0 为原生核显不能用于虚拟机直通:

lspci|grep 00:02

三、PVE 安装 fnOS

去 fnOS 官网下载最新安装镜像:http://www.fnnas.com/ 并上传到 PVE。接下来介绍 PVE 安装 fnOS 的设置。有网友反馈: 自己的 fnOS 虚拟机核显虚拟化直通后无法开启硬解,我这里告诉大家问题在哪及如何解决。

1、新建虚拟机,机器类型选择 q35,且勾选高级选项:在高级选项的 vIOMMU 设置里选择 Intel(AMD Compatible)。

2、添加 PCI 设备,选择虚拟化核显编号(不要选择 00.02.0 这是主显卡不要直通)。显卡设置如下:不勾选 Primary GPU、不勾选 All Function、不勾选 PCI-Express:

我建议可以的话把 SATA 管理器也直通给 fnOS ,这样管理硬盘会更加方便(接近原生安装的硬盘管理体验)。我给 fnOS 分配了 2 个固态硬盘空间:32G 用于系统安装、80G 用于 docker 和程序安装。

3、能不能添加虚拟显示器呢?答案是可以!我会添加虚拟显示器,这样在 PVE 主界面可以通过命令行管理维护 fnOS:

安装系统的流程就不赘述了。安装完毕后通过 SSH 连接 fnOS ,输入命令 ls /dev/dri 能正常显示如下显卡信息就能正常硬解了( card0 是 PVE 虚拟显示器,card1 是虚拟化直通核显):

我们可以在飞鸟影视设置里正常选择核显开启硬解:

虽然实现了硬解,但在 fnOS 系统里不会显示核显占用情况。如果你想查看显卡是否被调用,我这里有个方法:首先 SSH 连接 PVE 主机安装 intel-gpu-tools 然后通过下面的命令查看显卡使用率:

apt install intel-gpu-toolsintel_gpu_top -d sriov

我测试了核显可以正常硬解,通过容器部署的 jellyfin 也能正常硬解。

来源:小黄科技天地

相关推荐