群晖虚拟机VMM值不值得装?我在DS920+里塞了台Windows,内存和坑都替你数过了

家里那台2016年的笔记本正式退休前,我想了个偷懒办法:把它干的活全挪到群晖NAS上,下载机、挂机脚本、一个偶尔要远程回去看看的老软件。DS920+就躺在弱电箱旁边,四核CPU平时占用不到百分之十,闲着也是闲着。于是装了套Virtual Machine Manager,中文叫虚拟机管理器,下面都简称VMM。折腾一个多月,把账和坑都记下来了。
门槛先自查:一半的群晖装不了
动手前先对机型,这一步能劝退一半人。VMM只支持Plus系列,也就是型号带加号的x86机器,比如DS920+、DS923+、DS1522+、DS1621+这些,以及更贵的XS系列。我家另一台DS220j就完全没戏——J系列是ARM架构,套件中心里根本搜不到VMM,别费劲了。
内存上官方口径是超过2GB就能跑虚拟机,这话没错但只对了一半。实测一台Windows 10分配4GB内存只是勉强能开,开机能用,多开两个浏览器标签就开始转圈。真想舒服用,机器得先到8GB,我那台是后来加内存到16GB才敢放开了跑,升级过程写过一篇NAS内存升级实测,DS920+这类机器自己动手五十块钱的事。
还有一条最容易被忽略:虚拟机的磁盘只能建在Btrfs存储池上。我第一趟就栽在这,当年建存储空间图省事选了ext4,结果VMM里创建虚拟机时存储位置那一栏是灰的,选不了。快照、克隆这些功能全依赖Btrfs的写时复制,ext4给不了。要是你正纠结文件系统怎么选,可以看我之前写的ext4和Btrfs对比,想玩虚拟机的话那篇的结论直接改成无脑Btrfs。已选ext4的也别急着重灌,备份重建代价不小,先想清楚是不是真要玩虚拟机。
装Windows实录:卡在驱动上的三小时
VMM本体在套件中心免费装,装完界面上「虚拟机」三个大字,点新增,选Windows 10,分配2核、4GB内存、60GB虚拟磁盘,网络默认桥接。一路下一步挺顺,卡的地方在装完系统进去一看:设备管理器里网卡是个黄色感叹号,连不上网;磁盘传输速度只有二十来MB/s,慢得像回到了机械盘时代。
答案是VirtIO驱动。VMM的虚拟机默认用一套半虚拟化设备,性能好但Windows不认识,得手动装群晖提供的驱动包:先把VirtIO的ISO上传到NAS,虚拟机关机编辑加一块光驱指向这个ISO,开机进设备管理器手动更新那几个未知设备的驱动。装完网卡立刻认出来,磁盘也跑到了SSD该有的速度。前前后后我折腾了三小时,其中两小时在怀疑人生。给虚拟机的磁盘尽量放SSD存储池,放机械盘里开机都要一分多钟,别问我是怎么知道的。
还有个Guest Agent,装在Windows里的小组件,装完VMM面板才能看到虚拟机内部真实的内存占用,拍快照时还会先把文件系统冻结住保证一致性。这个别省,一分钟的事。
日常使用不用接显示器,浏览器里输NAS地址进VMM页面,点开虚拟机就有个窗口直接看到Windows桌面,跟远程软件一个体验。手机上也有DS file这套客户端能连过去应急点两下鼠标,真要长期干活还是电脑端舒服。我把这台Windows当下载机挂了半个月,每天定时开机两小时跑任务,到点自动关机,比笔记本省心,功耗账也好看。
装Windows是少数派,软路由才是主流玩法
用了一个月我发现,在群晖里装Windows的其实是少数,圈子里VMM装得最多的是软路由系统,爱快、OpenWrt这类。逻辑很简单:一台机器同时当NAS加路由器,All in One。4GB内存的小机器也有救,装个32位的爱快当旁路由,只负责分流,占用不到1GB。
网络这块是软路由玩法里最绕的地方。VMM里每台虚拟机的网卡挂在虚拟交换机上,虚拟交换机再桥接到某个物理网口。做主路由就得把WAN口和LAN口分别桥接到两个不同的物理网口上,光猫进一个口、交换机出另一个口,装完还得去控制面板把群晖自己的网络配置改对,改错一步全家断网,包括NAS自己——到时候只能拿显示器键盘直连去救。VMM的网卡直通支持很有限,大部分型号只能桥接,性能够用但CPU占用比真直通高一些,万兆内网就别指望了。
我的建议是第一次玩先从旁路由开始,单网卡、桥接、挂主业路由器下面,翻车了大不了拔掉虚拟机网卡,全家网络照常。真玩上头了再考虑主路由方案,并且把回退路线先写下来贴在弱电箱里。
快照是真香:折腾前拍一张
VMM最让我离不开的功能是快照。给虚拟机拍张快照,就是把当前整个系统状态冻结存档,之后不管你在里面怎么造——装来路不明的软件、改注册表、升级系统翻车——一键恢复到拍照那一刻,几秒钟的事。我这个月给Windows虚拟机拍了七次快照,两次是用来救命的,一次是某个老软件装完把系统搞蓝屏,恢复快照五分钟解决战斗。
快照吃存储空间,拍的次数多了占用可观,拍之前虚拟机最好装着Guest Agent,快照的一致性才有保证。这个快照和Btrfs文件系统的快照是同一套底层机制,我之前在勒索病毒防护那篇里给共享文件夹上的那道闸,是同一个道理:只读的存档,坏东西摸不到。
代价这笔账,算完再决定
说了这么多好处,代价也得摆桌面上,我按踩过的顺序列:
| 代价 | 实际情况 | 缓解办法 |
| 内存静态占用 | 分多少占多少,4GB的Windows一直吃4GB,不会动态还 | 用完就关机,或减配到2GB只挂轻任务 |
| 硬盘休眠泡汤 | 虚拟机7x24跑着,盘永远不睡,夜里听得见寻道声 | 虚拟机放SSD池,机械盘照常休眠,参考我那篇休眠排查 |
| 断电风险放大 | 虚拟机系统盘突然断电,文件系统损坏概率比物理机高 | 配UPS,让我下决心的是这篇NAS配UPS的跳闸实录 |
| 电费涨一截 | 常驻一台Windows,机器整体功耗多5到8瓦,一年二三十块 | 嫌吵嫌费电的看NAS电费实测再决定 |
还有一条隐藏代价:CPU被虚拟机吃掉的每一点,都在跟Docker、跟相册索引抢。要是你装虚拟机只是想跑个下载器、挂个qBittorrent,先看我那篇Docker入门,容器能解决的别开虚拟机,前者吃一百来MB内存,后者起步就是两个GB。虚拟机真正的不可替代场景是:必须跑完整操作系统、要装Windows专属软件、或者要跑软路由系统。
对号入座:什么人该玩,什么人绕道
放个实在的结论。该玩:机器是Plus系列且内存已经16GB、明确有Windows软件或软路由需求、机器里有SSD的Btrfs存储池、配了UPS的。绕道:机器是J系列或ARM架构的、内存4GB还在跑相册索引和容器的、只是听说好玩想尝鲜的——这类朋友真想尝鲜,PVE或者飞牛那边另说,选系统的账我算在群晖和飞牛对比那篇里。
顺序上给你抄:先查机型和内存,再确认存储池是Btrfs,给虚拟机划一块SSD空间,装完系统第一件事装VirtIO驱动和Guest Agent,折腾任何高风险操作前拍快照,收尾把UPS配上。这六步走完,VMM就是个老实干活的工具;跳步骤玩,它随时能给你表演一个开机蓝屏。

发表评论