家用主机见前帖提到过的几个问题:
先说我的目前方案,我使用的是华擎 Deskmini Ryzen 5600G / 32GBx2 3200 / 128GB + 256G + 512G 三块 SSD 。
- 宿主机安装 Windows 10 LTSC 2021 ,加上一个输入法补丁,CPU 日常占用可不到 1%。
- 虚拟机使用 Hyper-V 方案,安装了 6 个虚拟机,其中 4 个虚拟 Linux (无桌面)和 2 个 Windows 。
- 网络使用扁平化处理(桥接模式,无 NAT )。
- 机器放到脚下柜子里,猫头鹰风扇。
运行了以下服务:
- Ubuntu #1 虚拟机当 Web 服务计算节点,跑一些 Web 服务。
- Ubuntu #2 虚拟机当透明代理网关设备,其他主机如有科学上网需求网关 IP 换到这里就好。
- Alpine 虚拟机当自建的 GitHub Action 构建跑自己的项目编译,比如这个。
- OpenEuler 做家庭物联网相关实验。
- Windows #1 做养蛊安装国内软件。
- Windows #2 做付费软件安装点,并开启快照。
- 宿主机安装 Steam 偶尔玩些游戏。
先说这样虚拟化的优点:
- 不会出现虚拟机空载的时候还少量占用 CPU 的现象,基本虚拟机占用多少宿主机就占用多少,对于我这种功耗敏感的用户来说待机功率低( 20W )就感觉很爽。
- 设置成动态内存的话,内存资源没有浪费,Hyper-V 对虚拟机的内存支持得较好,比如启动时可以只占掉 1G 左右内存,软件开得多一点就自动一点一点往上涨,不用了就降回去,比直接固定死占用内存更灵活。
- 宿主机 Windows ,偶尔打游戏直接键鼠一接上去显示器换模式就能玩。(核显性能也很强的)。
- 虚拟的 Windows 也同时用来给家里其他人用,统一使用 RDP 连接,资源能很好地分离。
- 虚拟的 Ubuntu 用作本地 Linux Web 服务器,放些本地的 Web 计算节点。
- Hyper-V 在 Windows 下的 RDP 效果在调整性能后不错,在 macOS 的 RDP 下尚可(局域网环境)。
- 创建快照比较方便,可以很好地利用 Windows 资源管理器进行管理。
- 宿主机如果正常关机,Hyper-V 也能做到较好地平滑关机,开启后自动再次开启。
使用上遇到的缺陷:
- Hyper-V 对 Linux 桌面的支持还是一坨,想都不要想,超级差。
- 动态内存下的操作系统如果遇到先检测内存大小再申请内存的软件可能比较难受,会遇到无法使用的情况。
- Hyper-V 下的 Linux 如果依赖 tmp 目录的程序,和宿主机平滑重启后会出现问题,比如 tmux 。
- 还是 RDP 的问题,在 RDP 下,没办法实现 60fps 和显示器直连的最佳效果,即使分辨率能达到,远程桌面玩游戏是不可能了。
- USB 设备不能直接重定向到虚拟机内。
所以总结了一下,我使用下来就是感觉,如果想充分利用 CPU 资源和内存资源,且对非图形计算的 Windows 系统有需求的选 Hyper-V 做虚拟化是一个不错的方案。
目前下一步的使用想法就是尝试一下 PVE ,但是有个核心的问题就是我的主机是核显,做核显直通可能会比较麻烦,可能是一个需要研究的事情。
另外,我自己由于已有白群晖,所以就没有让主机做 NAS 的需求了,但我这个方案也非常适合做一个基本的小 NAS ,主机支持塞两条 NVME M2 ,两个 2.5 寸 SATA 盘,可以结合虚拟机搞个 NAS 环境也非常不错。
感觉 PVE 也很好,但是比较折腾,不过要是能把以上的缺点都干掉,我觉得折腾还是值得的。