PVE/ESXI上安装飞牛OS并使用NVIDIA vGPU进行解码观影--基于fnOS-V0.8.19
飞牛fnOS疑难解答,有需要点击链接闲鱼与我联系
这不!马上出《鱿鱼游戏》第3季了吗?提前布置一下我的影视app飞牛OS。翻了个边官方论坛,目前NVIDIA vGPU在飞牛应用商店上还不支持,只能自己手搓了。考虑到NVIDIA vGPU 17版本砍掉了Tesla P40 显卡的支持,索性就用vGPU16版本来安装,主要Tesla P40 在ESXI和PVE平台都能使用vGPU16。
这篇笔记主要记录飞牛OS使用NVIDIA vGPU进行解码的部署过程,PVE/ESXI的vGPU部署略过,至于怎么部署NVIDIA vGPU可以翻看我往期的这2篇文章
安装前准备
1)在ESXI/PVE平台部署好vGPU16版本,我的是vGPU16.5。
2)安装飞牛OS虚拟机,版本V0.8.19
,点我下载
3)一张支持vGPU的显卡,我的是P40
安装飞牛虚拟机
PVE平台
创建飞牛OS虚拟机参数
创建飞牛虚拟机(fnOS)
名称:自定义
光驱0挂载:fnOS安装ISO镜像
显示:默认
机型:q35
BIOS:OVMF
EFI分区:UEFI(OVMF)需要
磁盘1:SCSI 大小64G(系统盘,或硬盘直通)
CPU:host 核心数量4(按需设置)
内存:4G
网络:virtIO(半虚拟化或网卡直通)网卡
添加PCI设备:nvidia显卡(勾选ROM-Bar和PCIE在Mdev类型中选择vgpu设备)
由于采用UEFI模式安装需要关闭Secure Boot 才能正常安装飞牛,开机时按esc键即可进虚拟机BIOS,将安全启动关闭

ESXI平台
创建飞牛OS虚拟机参数
创建飞牛虚拟机(fnOS)
名称:自定义
CD/DVD驱动器:fnOS安装ISO镜像
显示:自动
安装方式:EFI
硬盘1:SCSI 大小64G(系统盘,或硬盘直通)
CPU:host 核心数量4(按需设置)
内存:4G
网络:VMXNET3(半虚拟化或网卡直通)网卡
添加PCI设备:nvidia显卡(在VCSA添加vGPU显卡)
由于采用EFI模式安装需要关闭Secure Boot 才能正常安装飞牛,编辑虚拟机配置,在引导选项取消安全引导即可

飞牛安装NVIDIA vGPU(GUEST驱动)
开启SSH
1)在飞牛设置开启SSH服务
上传驱动
2)在文件管理新建个文件夹,并命名为vGPU,上传NVIDIA GUEST驱动到此文件夹
NVIDIA vGPU Guest驱动下载,小飞机网盘
# vGPU16.5 GUEST驱动下载,适用于6.6.38-trim内核的飞牛版本
https://share.feijipan.com/s/csHLTgj4
# vGPU16.9 GUEST驱动下载,适用于6.12.18-trim内核的飞牛版本
https://share.feijipan.com/s/iSHLU0bO
安装依赖包
3)使用自己擅长的ssh工具登录到飞牛终端,并切换到root权限安装所需依赖
# 切换root权限
sudo -i
# 屏蔽nouveau
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf
# 更新initramfs
update-initramfs -u
# 安装aptitude包管理工具
apt update && apt install aptitude
# 使用 aptitude 自动解决依赖冲突
aptitude install build-essential dkms linux-headers-generic libglvnd-dev pkg-config -y
# 清理缓存
apt clean
apt autoclean
rm -rf /var/lib/apt/lists/*
apt update
# 安装build-essential dkms 等依赖包
apt install build-essential dkms linux-headers-generic libglvnd-dev pkg-config -y
# 重启飞牛
reboot
安装vGPU驱动
4) 重启完成飞牛后,重新ssh连接到飞牛终端,开始安装GUEST驱动
# 前往GUEST驱动路径
cd /vol1/1000/vGPU/
# 给予驱动执行权限
chmod +x NVIDIA-Linux-x86_64-535.161.08-grid.run
# 安装NVIDIA GUEST驱动,一路回车直至安装完成
./NVIDIA-Linux-x86_64-535.161.08-grid.run --dkms
授权驱动
5)给驱动授权,授权服务器需自行提前搭建好,我的授权服务器IP是192.168.2.99
执行命令前请提前替换成自己的授权地址。
# 获取授权文件
wget --no-check-certificate -O /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok https://192.168.2.99/-/client-token
# 重启服务或者重启飞牛
sudo service nvidia-gridd restart
# 验证授权获取情况
nvidia-smi -q | grep License
修复飞牛监控显示
6)替换fnOS自带的libnvidia-ml.so,让fnOS的资源监控能正常显示显卡情况
rm /usr/trim/lib/{libnvidia-ml.so,libnvidia-ml.so.1}
ln -s /usr/lib/x86_64-linux-gnu/libnvidia-ml.so /usr/trim/lib/libnvidia-ml.so
ln -s /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1 /usr/trim/lib/libnvidia-ml.so.1
开启硬件解码
7) 重启飞牛后,去影视app,开启显卡硬件加速即可
8)测试解码,显存我这边给了2G,用的2q
总结
缺点不可随意升级fnOS版本,升级后vGPU可能会失效。在写这篇文章时飞牛已经更新到V0.9.2了,用上了6.12内核。如果你已经升级到V0.9.2版本,可以打vGPU16.9的驱动。后续等官方支持NVIDIA vGPU吧。
最后附上备份好的懒人虚拟机还原包有需要可以从下方下载。
虚拟机懒人还原包说明:
根据自己平台,点击下方按钮下载还原包
&&
1)基于飞牛OS 0.8.19
版本 内核Linux fnOS 6.6.38-trim
版本进行备份;
2)系统盘大小64GB
,还原后自行添加硬盘作为数据存储。账号:1000
,密码:fnOS@2025
;
3)管理地址为http://你的IP:8000,DHCP模式
;
4)还原后把vGPU显卡分配给fnOS虚拟机。预装 NVIDIA VGPU16.5_GUEST
驱动,在fnOS SSH 执行nvidia-smi
可以查看;
5)还原后自行对GRID驱动授权,授权文件放入“/etc/nvidia/ClientConfigToken/”即可;