NAS系统提示更新要不要马上升?我拖了三个月才点,同事那台手贱点了直接变砖

上周同事老周给我发消息,说他的NAS重启之后一直在转圈,进不去后台。我一问,头天晚上后台右下角弹了个系统更新提示,他顺手就点了确认,睡一觉起来机器就没了响应。那是台黑群晖,去年我照着黑群晖安装攻略帮他装的,装完我特意嘱咐过一句「更新按钮别碰」,他没当回事。
同一时间,我家那台老DS220j收到DSM 7.2的更新提示,我拖了整整三个月才点下去,升完啥事没有。同样是系统更新,一台变砖一台平稳,差别不在运气,在于更新分好几种,机器也分好几种。这篇就把我这两台NAS一路升过来的经验摊开讲讲。
先把三种更新分清楚,再决定点不点
很多人一看「有新版本」就紧张,其实NAS的更新提示分三类,风险完全不一样。
第一类是系统小版本更新,比如DSM 7.2升7.2.1、飞牛0.8.31升0.8.32这种末位数字变的。装的几乎全是安全补丁和bug修复,不改系统底层,风险最低。这类我基本看到就升,尤其是安全补丁。别觉得家用NAS没人盯上就不当回事,前阵子飞牛紧急推的1.1.18版本就是修补一个定向攻击漏洞,还带上了恶意文件查杀功能,这种更新拖着的每一天都是裸奔。之前我写NAS防勒索那篇讲过,被打的机器多半是停更的老固件。
第二类是系统大版本更新,比如DSM 6.2升7.0、7.1升7.2这种中间数字变的。这是真正要犹豫的一类:系统底层动了,套件兼容性可能翻车。DSM 7.2.2上Video Station不兼容就是典型,视频播放出问题连HEIC照片缩略图都生成不了,得靠社区脚本救回来。大版本我的做法是等,等第一个小版本出来(比如7.2.1)、等论坛里骂声过去再动。
第三类是套件更新,就是Docker容器、相册、下载这些应用的更新,跟系统更新是两码事。套件翻车最多是单个应用不能用,重装一遍套件就好,伤不到数据和系统,风险最小。
| 更新类型 | 例子 | 装的是什么 | 我的做法 |
| 系统小版本 | 7.2升7.2.1 | 安全补丁、bug修复 | 看到就升 |
| 系统大版本 | 6.2升7.2 | 新功能、底层改动 | 等一到两个小版本再升 |
| 套件更新 | 容器、相册App | 单个应用迭代 | 随手升,翻车重装 |
点确认之前,我只做三件事
不管升哪种,确认前三件事跑不掉,加起来不到十分钟。
第一件,有快开的先拍快照,没快照的确认备份在。我家飞牛那块照片盘是Btrfs,升级前我先拍了个快照——这个能力是文件系统给的,ext4就没有,当初选型的账我算在ext4和Btrfs对比那篇里。老DS220j那边没条件,我就确认另一台机器上的rsync备份是当天的。说句实话,NAS更新动的是系统分区,理论上碰不到存储池里的数据,但「理论上」三个字在数据面前不值钱,备份原则永远是动手前先落袋。
第二件,把更新日志从头看一遍。看什么?一看是不是安全补丁(是就别拖),二看有没有存储池、文件系统、套件底层的改动(有就要多留个心眼),三看最低硬件要求有没有变——老机器升新系统跑不动的事在DS220j这种J系列身上真出现过。
第三件,挑个干净的时间窗口。升级中途机器会自动重启,这个过程别断电,家里配了UPS的确保它工作正常,没配的看一眼天气和电网,跳闸这种事我领教过一回,RAID重建到62%被断电的滋味不好受,写在UPS那篇里了。另外我会避开定时任务:我家凌晨有rsync备份、硬盘休眠也设在那个时段,更新重启撞上正在写盘的任务,既拖慢升级又可能让任务状态变乱。哪些任务会偷偷写盘,休眠排查那篇里列得很全,反过来用在挑升级时间上正好。
黑群晖那个更新按钮,基本是摆设
回到老周那台变砖的机器。黑群晖不能在线升级,根子在引导上。
黑群晖的引导文件(早年叫loader,现在流行RedPill、RR这一系)干的事是「骗」过DSM内核,让系统以为自己跑在正版群晖硬件上,顺手把常见网卡、SATA控制器的驱动塞进去。问题在于,每个引导只兼容特定版本的DSM。你在线点了更新,机器把新版固件写进系统分区,重启那一刻旧引导扛不动新内核,机器就趴在启动环节起不来,表现就是老周那个「一直转圈进不去」。
更麻烦的是DSM装上大版本就没法降级回去,黑群晖救砖的思路是用RR引导强制重装、删掉版本验证文件,操作绕得很。所以黑群晖用户的正确姿势是把后台的自动更新关掉,右下角弹的更新提示当没看见,真想要新功能,走「先用新版本引导重做引导盘,再手动装对应版本系统」的路子,两步分开走。
顺带一句,变砖之后千万别急着反复重启或者格式化,那会把RAID结构也搅进去,恢复难度翻倍。老周那台最后是保着数据重装救回来的,折腾了一个周末。
我的飞牛升级实录,从0.8一路升上来
再说顺心的那半边。我家N100小主机上的飞牛是从0.8时代一路升过来的,入口在桌面「设置」里的系统更新,点检查更新、下载、安装,机器自动重启一次,前后五六分钟。
飞牛的系统分区和数据是分开的,升级只动系统那块,存储空间和共享目录原样保留。但每次升完我不直接走人,固定转一圈做检查:存储池状态是不是正常、几个Docker容器是不是都自己爬起来了、电脑上映射的SMB目录还连得上不。容器偶尔会有起不来的,进面板点一下重启就好,下载机那套qBittorrent的路径和密码都在配置里,不会因为系统升级丢。
要说升级的甜头也是实打实的。0.8.27那次带来了原生的UPS支持和Time Machine备份,我那台机器直接白捡两个功能;0.8.32加了删除文件偏好设置,SMB删的文件能进回收站了,误删救援那篇里靠快照兜底的场景又多了一道保险。这种「升完多一个功能」的体验,是我对飞牛更新不抵触的原因——它的小版本确实在修东西,不是刷存在感。
升完翻车了怎么办,三条路对号入座
万一升完真出问题,先分清是哪种问题再动手。
最常见的是套件不兼容,某个应用打不开、报版本错误。这种不动数据,去套件中心看有没有适配新系统的更新,没有就先卸载重装,再不行等套件作者适配,一般几天到几周。Video Station那种社区脚本救法属于进阶操作,新手别自己折腾。
第二种是系统本身跑不动,老机器升新版本后风扇狂转、响应变慢。这时候想降级是降不回去的,DSM没有降级这条路,ext4如果还开过大文件优化,跨版本降文件系统更会直接不兼容。老机器的出路是留在当前版本关掉自动更新,或者干脆换新机器搬家,硬盘迁移那篇的流程照样能用。
第三种是彻底起不来,像老周那样的黑群晖,或者白群晖升级中断电卡住。白群晖相对从容:数据都在盘上,用官方助手重新安装系统时选「保留数据」,系统重装、文件还在。这里有个容易忽略的坑:Hyper Backup的备份文件恢复时要求新系统版本不低于备份时的版本,所以重装尽量装最新版,别拿旧安装包救急。
一表对号入座,照着抄就行
收个尾。NAS系统更新这事不玄学,就一句话:看清版本、留好后路、挑好时间。
| 你的情况 | 建议动作 |
| 提示是安全小版本补丁 | 当天就升,别拖 |
| 提示是大版本更新 | 等一两个小版本,看论坛风评 |
| 黑群晖收到更新提示 | 关自动更新,提示当没看见 |
| 老机器配置吃紧 | 留在当前版本,关自动更新 |
| 没快照也没备份 | 先补备份,再谈升级 |
我的固定顺序:拍快照或确认备份→读一遍更新日志→避开定时任务时段→点更新→升完转一圈检查存储池和容器。整个过程最花时间的其实是读日志那几分钟,比起老周搭进去的周末,这几分钟花得值。

发表评论