共计 5042 个字符,预计需要花费 13 分钟才能阅读完成。
大家好,我是 Jioyzen,我一直使用的是 Unraid 系统,但是最近遇到一个比较便宜的戴尔主板,就买来折腾了一下,借此出一下最新 PVE8.2 系统的玩法视频。
本期教程就在上期已经安装好 PVE 的基础上,对 PVE 进行优化,部署 openwrt、群晖、和达菲数播系统虚拟机,并配置好直通。如果大家不想一步一步的操作,Wyse5070 主板可以直接使用我的成品镜像 img 文件,写盘后直接启动,本教程的相关的操作和虚拟机就全部完成了。
准备工作:确保主板 bios 中 vt- d 功能已经开启,Wyse5070 是默认开启的,其它主板需要自行检查一下。
实测 Wyse5070 这个主板,直通硬件不需对 PVE 进行任何的参数修改,包括 grub 的 cmdline 内核启动参数,blacklist 文件的屏蔽参数,modules 文件的 vfio 模块参数,统统都不需要配置。对 pve 的修改越少越好,在系统运行正常的情况下,不建议大家过多的去修改优化 pve,包括温度、频率的 UI 显示、CPU 调度优化这类优化,个人认为这些并没有什么意义,可能会导致一些 bug 和不稳定,作为虚拟化平台,稳定性始终应该是第一位的。
好了,下面正式进入教程:
1. 浏览器输 https ip 和端口号登录到 PVE 的管理界面,进入 shell,执行以下命令对 lvm 分区进行合并,增加根目录可用空间防止 root 目录爆满导致系统崩溃无法启动:
echo y | lvremove pve/data && lvextend -l +100%FREE -r pve/root
完成后,在管理页面上,找到“数据中心”->“存储”,找到 local-lvm,点击移除。
然后点击名为 local 的存储,点击编辑,把内容中未选中的全部选择上。
2.(可选操作,可以不做)修改 swap 分区参数,降低交换分区使用,减少 eMMC 读写。
echo "vm.swappiness = 1" | tee -a /etc/sysctl.conf && sysctl -p
3.(可选操作,可以不做)去除 PVE 的订阅弹窗
sed -i_orig "s/data.status ==='Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js
sed -i_orig "s/if (res === null || res === undefined || \!res || res/if(/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i_orig "s/.data.status.toLowerCase() !=='active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
4. 上传 openwrt、群晖引导和达菲数播的安装包
点击 local -> ISO 镜像 -> 上传,将用到的三个镜像文件都上传到 pve。
5. 安装 openwrt 虚拟机,点击创建虚拟机,按下面参数进行配置:
名称:OpenWrt (名称随意)
操作系统默认 linux 版本 6.x 不动 不使用任何介质
机型 Q35 BIOS 选择 OVMF(UEFI)
去掉 EFI 磁盘,启动日志有警告信息,但是没有任何影响。要使用 efi 磁盘方式的话,需要进入虚拟机 ovmf bios 配置,把安全启动关闭,就可以正常启动了,可以参考这个教https://foxi.buduanwang.vip/virtualization/pve/1631.html 操作,后续不再赘述这个问题。
删除 scsi0 的磁盘设备
分配全部核心 cpu 选择 host
内存 512 就够了
网络中取消勾选防火墙
点击完成,虚拟机就创建好了,执行下面这个命令将 openwrt 的磁盘镜像导入到虚拟机存储中
qm importdisk 100 /var/lib/vz/template/iso/openwrt.img local
#100 是虚拟机的 ID 编号,openwrt.img 需改为你自己镜像的文件名
然后点击 openwrt 虚拟机,点击硬件,双击最下方未使用的磁盘 0,点击添加
点击选项菜单,点击引导顺序,勾选 scsi0,去掉其他没有用的启动项,就可以启动虚拟机了
启动完成后,需要修改下 openwrt 的 ip,以便能够在当前网段访问:
回车进入控制台,输入
vi /etc/config/network
按 i
键进入编辑模式,将代码里面的 ip 和网关按你的网络进行修改。
ip 建议用数字大一些的,不要跟当前局域网内的设备冲突,网关就是家里路由器的地址。
修改完成后键入 :wq
保存退出,然后执行这个命令:
/etc/init.d/network restart
重启网络服务,然后在浏览器中输入刚才配置的 ip 就可以访问使用 openwrt 系统了。
6. 安装群晖虚拟机,点击创建虚拟机,按下面参数进行配置:
名称 SA6400 ### 名称随意,我这边使用的是 SA6400 机型,也推荐大家使用这个机型,因为 SA6400 的 linux 内核版本高,对新硬件和新驱动模块的支持更好
操作系统默认 linux 版本 6.x 不使用任何介质
机型 Q35 BIOS 选择 OVMF(UEFI) 去掉 EFI 磁盘
删除 scsi0 的磁盘设备
分配全部核心 cpu 选择 host
内存 4096 #8G 的机器建议分配 6G 以下的内存给群晖,因为 PVE 系统需要使用 1G 左右的内存,openwrt 使用 512M,达菲数播需要使用 512M,剩余不到 6G
网络中取消勾选防火墙
虚拟机创建好以后,执行下面这个命令把群晖的引导镜像文件加载为虚拟机的 USB 设备:
这是一整段命令,点击代码块右上角的复制,粘贴到 shell 终端中执行即可:
sed -i '1i\args: -device'\''qemu-xhci,addr=0x18'\''-drive'\''id=synoboot,file=/var/lib/vz/template/iso/rr.img,if=none,format=raw'\''-device'\''usb-storage,id=synoboot,drive=synoboot,bootindex=5'\''' /etc/pve/qemu-server/101.conf
接下来编辑虚拟机的硬件配置,把没用的 CD/DVD 驱动器移除
添加一个虚拟串口方便我们排查群晖启动问题
然后配置硬件直通,根据自己的使用需求添加 PCI 设备,选择原始设备,
0000:00:02.0 是核显,要使用核显进行视频转码,相册人脸识别等功能,需要将其直通
0000:00:12.0 是板载的 SATA 控制器,就是安装 M.2 SATA 协议固态接口,根据情况直通
0000:00:15.0 是 USB 控制器,如果你需要外接 USB 硬盘等存储设备,可以将其直通
以上设备都可以勾选全部功能
最后,点击选项菜单,点击引导顺序,去掉 net0,然后就可以启动群晖了
群晖 rr 引导的编译,首次启动会自动进入引导配置界面
输入 menu.sh
进入图形化界面,可以先更改一下语言,选择zh_CN
, 然后选择型号,进入选则 SA6400,选择版本中选最新的 7.2 版本,工具会自动解析需要的 PAT 安装包文件,执行编译引导
大概两分钟引导就编译好了,选择启动,使用 rr 引导界面的 ip 端口就可以成功进入群晖的安装界面了
我们根据提示,执行在线安装就可以了。
7. 安装达菲虚拟机,点击创建虚拟机,按下面参数进行配置:
名称 Daphile ### 名称随意
操作系统默认 linux 版本 6.x CD 选择 daphile 的安装 ISO 镜像
机型 Q35 BIOS 选择 OVMF(UEFI) 去掉 EFI 磁盘
分配全部核心 cpu 选择 host
内存 512
磁盘改为 2G
网络中取消勾选防火墙
完成后,点击虚拟机硬件菜单,点击添加 pci 设备,选择 0000:00:0e.0
的声卡,勾选全部功能。
然后进入选项菜单,勾选 scsi0,去掉其他没有用的启动项,启动虚拟机
出现欢迎界面时我们按 F1
进入设置菜单,选择默认的英文,按回车跳过 wifi 配置
ip 这一步可以手动配置,也可以点击 n
跳过让它自动获取,然后按 y
确认配置
这一步我们先选择 2
对硬盘进行初始化,输入它提示的数字确认执行
然后选择 Continue
,继续启动,出现ip
代表启动完成
在浏览器输入 ip
登录到播放器系统
点击 Settings
,找到System Firmware
,将系统安装到我们分配的虚拟硬盘中,选择 GUID+UEFI 引导方式,可以勾选Configure system settings
将临时的配置也一并写入硬盘,然后点击 Install
进行安装,安装完成后点击ok
,然后关闭 Daphile 虚拟机,点击硬件将 CD/DVD 设备移除,已经不再需要了。
完成后再启动虚拟机,按提示的 ip 再次进入达菲的管理界面,可以把列表排序改成中文,修改音量的控制方式,也可以再网络配置里把 ip
改成静态的,下面的存储配置中可以挂载各种协议的存储,我们可以通过 SMB 挂载 NAS 里的音乐资源,也可以使用 WebDAV 挂载网盘的音乐资源,将 HIFI 音乐一网打尽。
同时达菲也支持这里面的配置参数很多,具体设置和玩法大家可以找一下相关的教程,我这里就不做深入探讨了。另外 Daphile 内置了一个逻辑的播放管理界面,使用 9000 端口访问进入,可以将界面语言改为中文,然后在插件管理里可以勾选UPnP/DLNA
, 就可以使用手机 APP 推送并控制音乐播放了。
总结:所有的虚拟机都配置完成了,最后我们可以把前面上传的安装包删除掉,不要让 emmc 占用不要太高,以免影响性能。注意,rr.img 这个文件不要删除,这是群晖的引导,启动时会以 USB 方式加载这个文件,删除后群晖虚拟机就无法启动了。
【以下的其他相关操作可以不做,以上教程操作完成后,就能正常使用 all in one 系统了】
1、更换 PVE 源(非必须)
wget https://v2rayssr.com/tool/yuan.sh -O yuan.sh && chmod +x yuan.sh && ./yuan.sh
完成后就可以更新 apt 列表:
apt update
查看一下有哪些可以更新:
apt list --upgradable
执行更新:
apt upgrade
2、开启 PCIe 设备直通
sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction"' /etc/default/grub
echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | tee -a /etc/modules
update-grub
update-initramfs -u -k all
reboot
重启完后,iommu 分组正常工作,pci 设备就能正常直通,如果是直通 win10 需要显示输出的话可能还需要一些额外操作。
配套安装包及工具下载
成品镜像使用说明:
PVE 系统 用户名 root 密码 123456 ip 是自动获取,需要接入家庭路由,首次启动在控制器使用:
ip addr
命令查看 ip 地址,然后浏览器使用 ip:8006
进行访问
OpenWrt 系统 用户名 root 密码 空 ip 是自动获取,首次启动在控制器使用在控制台输入:
ip addr
命令查看 ip 地址,浏览器输入 ip 即可访问使用
Dahpile 虚拟机 ip 是自动获取,启动完成后,在控制台界面可以看到 ip
写盘方法可以参考这个教程,使用 diskginues 的扇区复制功能,源盘选择解压好的镜像文件,目标盘选择 eMMC 整个磁盘,diskginues 扇区复制操作教程:https://diskgenius.cn/help/copy-sectors.php
视频中用到的安装包镜像及工具:
链接:https://pan.quark.cn/s/671de9ab530d
提取码:y2Uw
PVE-Dell-Wyse-5070-eMMC-all-in-one 成品镜像:
链接:https://pan.quark.cn/s/c516bf132636
提取码:hUE2
写盘工具 Diskgenius(推荐)和 Roadkil’s DiskImg(备用)
链接:https://pan.quark.cn/s/c8f0c3459366
提取码:rnyJ
本教程配套操作视频: