家庭服务器 篇三十九:大小核All-In-One主机PVE玩机入门

2024-05-26 19:30:12 13点赞 109收藏 15评论

更新一篇 12-14 代 Intel 大小核 All-In-One 主机的 PVE 玩机入门指南。主要技术要点包括:虚拟机指定大小核运行及核显虚拟化。Intel 处理器安装 PVE 玩 All-In-One 方面确实更有优势。看似鸡肋的大小核,因为 PVE 可指定系统运行在大小核上,资源分配可以更合理。Intel 核显支持 vGPU 更是先天优势: Intel 核显不俗的解码性能,可以 sriov 虚拟化把核显拆分给多个系统使用,又不占用主系统的显示输出。

大小核All-In-One主机PVE玩机入门

因为我之前也用 AMD R5-5600G 搭建过 All-In-One,相比之下 Intel 处理器的可玩性确实更强。

PVE 换源

PVE 的安装流程这里不重复讲解了,内容从换源开始。PVE 有不少国内源可选择,这里以 ustc 源为例。首先替换 PVE 系统源:

curl -fsSL https://mirrors.ustc.edu.cn/repogen/conf/debian-https-4-bookworm -o /etc/apt/sources.list

然后替换 PVE 软件源,路径是 /etc/apt/sources.list.d/pve-enterprise.list

vim /etc/apt/sources.list.d/pve-enterprise.list #修改为 deb https://mirrors.ustc.edu.cn/proxmox/debian bookworm pve-no-subscription

修改完成后安装软件源密钥:

#下载安装软件源密钥 wget https://mirrors.ustc.edu.cn/proxmox/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

替换 PVE ceph 源,路径是 /etc/apt/sources.list.d/ceph.list

vim /etc/apt/sources.list.d/ceph.list # 修改为 deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription

然后更新并升级系统和软件:

apt update && upgrade

虚拟机指定大小核

12代开始 Intel 引入大小核技术。在使用 PVE 搭建虚拟机时,不想因为大小核导致虚拟机性能反复横跳,可以指定虚拟机运行在大核或者小核上。比如:Windows 对性能要求高,可以分配全大核;NAS 系统对性能要求不高,分配小核心。通过 lscpu 命令可查看所有的 CPU 核心编号:

lscpu -e

下面案例中:0-7 为大核线程(其中 0-1、2-3、4-5、6-7 分别为 4 个独立大核心),在分配大核时最好把每个独立核心进行分配比如 0-1,不要跨核心线程分配比如 1-2。

大小核All-In-One主机PVE玩机入门

在创建虚拟机时,打开 CPU 高级设置,可以通过 CPU Affinity 参数指定虚拟机运行的核心(本案例指定虚拟机运行在 0-1、2-3、4-5 三个大核上)。这里还分享一点:在进行核显 vGPU 直通时建议 CPU 类型设置为 host 避免出现核显 43 错误:

大小核All-In-One主机PVE玩机入门

也可以通过修改虚拟机配置文件来实现指定处理器核心:

vim /etc/pve/nodes/Q1J4/qemu-server/100.conf

通过添加 affinity: 参数指定虚拟机运行的 CPU 核心(affinity: 6-7):

boot: order=sata0;net0 cores: 2 affinity: 6-7 cpu: x86-64-v2-AES ide2: local:iso/debian-12.5.0-amd64-DVD-1.iso,media=cdrom,size=3808M memory: 4096 meta: creation-qemu=8.1.5,ctime=1716488956 name: debian net0: virtio=BC:24:11:91:52:FD,bridge=vmbr0,firewall=1 numa: 0 ostype: l26 sata0: local-lvm:vm-100-disk-0,size=60G scsihw: virtio-scsi-single smbios1: uuid=81b91566-1f46-4361-beb2-cbcd62c92db9 sockets: 1 vmgenid: af0e00ce-9d82-4efb-907a-50a81e282364

核显虚拟化

Intel 支持核显虚拟化。关于核显究竟是直通好还是虚拟化好,我个人的意见是虚拟化好。直通牺牲了 PVE 主机显示输出,在需要调试设备时还是会造成不便。不过如果你还有额外的独显,我更建议独显设置直通。

核显虚拟化后,既可以满足主系统显示,又可以给其他系统提供 3D 和解码性能。尤其是 Intel 核显有不俗的解码能力,无论是用于 Docker 解码,还是 Windows 主机用于剪辑和转码都很好用。

核显虚拟主板 BIOS 必须开启虚拟化并支持 sriov。PVE 需要安装 i915-sriov-dkms ,网上有很多搬运教程但大多漏了一些重要细节和疑难解答。针对网上的方法我这里做了一个优化和补充,更适合新手:

方法一:编译法

首先下载 i915-sriov-dkms 的源码

源码地址放不了

关于 i915-sriov-dkms 项目,作者的 Blog 做了详细说明:目前 5月24 版本还不支持最新的 6.8 内核。在 6.5.13-5 内核上编译可能会遇到出错(主要原因是 BIOS 开启安全模式导致)。为了更稳定地编译,作者推荐选择 6.5.13-3 内核,所以我们下载并切换到 6.5.13-3 内核。

https://www.derekseaman.com/2023/11/proxmox-ve-8-1-windows-11-vgpu-vt-d-passthrough-with-intel-alder-lake.html

#PVE 切换至 6.5.13-3 内核 apt install pve-headers-6.5.13-3-pve apt install pve-kernel-6.5.13-3-pve proxmox-boot-tool kernel pin 6.5.13-3-pve proxmox-boot-tool refresh reboot

重启后通过 uname 命令查看内核是否成功切换到 6.5.13-3,然后安装编译必备的工具:

uname -a apt install git build-* dkms apt install -y pve-headers-$(uname -r)

在 /usr/src/ 新建一个目录,把源码拷贝到该目录:

mkdir /usr/src/i915-sriov-dkms-6.1 cd /usr/src/i915-sriov-dkms-6.1

修改源码中的 dkms.conf 文件,修改为如下内容:

大小核All-In-One主机PVE玩机入门

PACKAGE_NAME="i915-sriov-dkms" PACKAGE_VERSION="6.1"

然后开始编译安装,编译完成后通过 dkms status 和 modinfo i915|grep vf 查看是否正常安装:

dkms install -m i915-sriov-dkms -v 6.1 --force #测试安装是否成功 dkms status modinfo i915|grep vf 大小核All-In-One主机PVE玩机入门

然后修改 grub 的 GRUB_CMDLINE_LINUX_DEFAULT 这一行内容。这里 i915.max_vfs=3 表示GPU 划分为 3 个,最多可以划分为 7 个,但没必要划分这么多因为性能不够用。

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

修改完毕后更新引导:

update-grub update-initramfs -u

安装 sysfsutils

apt install -y sysfsutils

设定核显拆分数量

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

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

lspci|grep 00:02大小核All-In-One主机PVE玩机入门

方法二:安装法

方法二是安装法,有个开发者编译了 i915-sriov 的 deb 包,优点是安装简单且支持 6.8 内核,缺点是兼容性没有编译法好。优先使用方法一,在没有其他更好方案时可以试试方法二:

源码地址放不了

首先安装必备的组件:

apt update && apt install -y pve-headers proxmox-headers-$(uname -r) dkms flex bison

下载 deb 包后通过 dpkg 命令安装:

dpkg -i "xxx.deb"

然后和上面的方法一样修改 grub 的 GRUB_CMDLINE_LINUX_DEFAULT 这一行内容:

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

修改完毕后更新引导:

update-grub update-initramfs -u

安装 sysfsutils

apt install -y sysfsutils

设定核显拆分数量

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

如果 lspci|grep 00:02 命令可以正常查询到核显分拆,那么说明正常安装

lspci|grep 00:02

Win11 虚拟机使用核显

PVE 上 vGPU 设置完成后,接下来就是在虚拟机上实现核显调用。以 Win11 为例,首先正常创建虚拟机并安装系统,且先不要添加 PCI 核显设备。因为我安装的是 Win11 虚拟机类型为 Q35+OVMF(事实上 Win10 i440fx+OVMF 的组合应该也没问题,但都应该在BIOS里关闭安全启动)。正常进入系统后记下局域 IP 并开启远程桌面权限后关机。

大小核All-In-One主机PVE玩机入门

修改虚拟机设置,把显示改为无。并添加 PCI 设备,在 Raw Device 找到需要添加的核显(注意不要选第一个 00:02.0):

大小核All-In-One主机PVE玩机入门

并且勾选 Primary GPU ,但不要勾选 All Functions:

大小核All-In-One主机PVE玩机入门

通过 mstsc 远程桌面连接到 Win11 系统,安装新版的核显驱动即可。通过远程桌面可以看到核显已经正常调用,但是由于没有显示器,第三方远程工具会出现分辨率异常(向日葵、ToDesk等)。所以可以安装一个虚拟显示器。目前我找到的最完美的虚拟显示器工具是 Parsec-vdd

Parsec-vdd 最大优势:支持 4K 240Hz 虚拟屏幕;支持多个虚拟屏幕;使用非常流畅;支持 Parsec 串流。安装软件后,程序主界面点击 “ADD Diskplay”即可,添加后可在系统设置调整屏幕参数(最高支持 4K 240Hz )

大小核All-In-One主机PVE玩机入门

Ubuntu 虚拟机使用核显

推荐选择 Ubuntu 22.04 ,因为 Ubuntu 22.04 内核为 6.5 省去很多折腾(Ubuntu 24.04 我还没时间测试,安装过的朋友可以分享一下)。接下来的流程其实和 PVE 编译 i915-sriov-dkms 差不多(略微细节不同):

#查看内核版本,并安装编译环境 uname -a apt install git build-* dkms apt install -y linux-headers-$(uname -r)

在 /usr/src/ 新建一个目录,把源码拷贝到该目录

mkdir /usr/src/i915-sriov-dkms-6.1 cd /usr/src/i915-sriov-dkms-6.1

修改源码中的 dkms.conf 文件,修改为如下内容:

大小核All-In-One主机PVE玩机入门

PACKAGE_NAME="i915-sriov-dkms" PACKAGE_VERSION="6.1"

然后开始编译安装,编译完成后通过 dkms status 和 modinfo i915|grep vf 查看是否正常运行

dkms install -m i915-sriov-dkms -v 6.1 --force #测试安装是否成功 dkms status modinfo i915|grep vf 大小核All-In-One主机PVE玩机入门

然后修改 grub 的 GRUB_CMDLINE_LINUX_DEFAULT 这一行内容,注意这里和之前的有区别。

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

修改完毕后更新引导:

update-grub update-initramfs -u

然后通过下面的命令测试驱动是否正常安装

sudo dmesg|grep i915

为什么把核显拆分给 Windows 和 Ubuntu。其一是 Windows 主机可以安装 Handbrake 作为转码主机。而 Ubuntu 可以安装 docker 给各容器提供硬解支持。由于核显3D和AI性能不强拆分后就更弱了,所以核显虚拟化主要还是满足主系统显示以及子系统解码需求。

常见问题解答:

  1. 核显无法拆分

一般是 i915-sriov-dkms 编译出错,或者主板不支持 sriov。

  1. Windows 主机核显 43 错误

显卡直通后设置成主显卡,并关闭虚拟机默认显示器,安装好驱动即可解决。

展开 收起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2399元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2287.01元起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

2399元起

UGREEN 绿联 DXP4800 四盘位 私有云NAS存储(Intel N100、8GB)

UGREEN 绿联 DXP4800 四盘位 私有云NAS存储(Intel N100、8GB)

1999元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3019.01元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2423.51元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2314.11元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS

1199元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

3899元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

2959.01元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1569元起

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

1761.01元起

DS923+ 双核心 四盘位 NAS网络存储服务器 私有云 文件服务器

DS923+ 双核心 四盘位 NAS网络存储服务器 私有云 文件服务器

3962.75元起

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

ZSpace 极空间 私有云 T2 2盘位NAS存储(RK 3568、4GB)

1499元起
15评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
天猫超级红包
距结束::
每天领现金,最高24888元
红包按钮
最新文章 热门文章
109
扫一下,分享更方便,购买更轻松