孙亮亮
返回 NAS 系统

NAS 系统

群晖/飞牛 NAS 快照与误删秒级恢复实战:Btrfs 子卷快照、快照计划与勒索病毒防护

2026年10月21日

NAS 快照让你误删文件秒级找回,并挡住勒索病毒加密。

NAS快照数据恢复Btrfs

群晖/飞牛 NAS 快照与误删秒级恢复实战:Btrfs 子卷快照、快照计划与勒索病毒防护

摘要:文件被误删、被覆盖,或者中了勒索病毒整盘被加密,传统备份往往来不及——本文讲透 NAS 快照为什么能在数秒内还原任意历史版本,并用群晖 Snapshot Replication 与飞牛/TrueNAS 的 Btrfs/ZFS 快照给出可落地的配置步骤。

一、为什么备份救不了"刚刚发生"的事故

很多人以为做了 3-2-1 备份就高枕无忧。但备份是周期性的:你早上 3 点做了一次 rsync 镜像,中午 11 点手滑把财务表 2026Q4.xlsx 删了,或者整盘被勒索软件加密,等到晚上那次备份跑起来,覆盖掉的正是好数据。备份解决"长期容灾",快照解决"数秒到数天内的任意时间点回退"。

快照的本质是写时复制(Copy-on-Write,COW)。Btrfs/ZFS 在修改数据块时不会直接覆盖旧块,而是写入新块并更新元数据指针,旧块仍保留。所以一个快照只额外占用"被改动那部分"的空间,建千个快照也几乎不占盘。

二、确认你的存储池是 Btrfs 还是 ZFS

  • 群晖:DSM 7 新建存储池默认用 Btrfs(SHR 之上),可在"存储池"里看到文件系统类型;老机型 ext4 不支持快照,需要先重建为 Btrfs。
  • 飞牛 fnOS:底层即 Btrfs,原生支持快照。
  • TrueNAS/极空间部分机型:用 ZFS,命令是 zfs snapshot,思路一致。

判断命令(飞牛/群晖 SSH 登录后):

# 查看某个共享文件夹所在子卷
btrfs subvolume list /volume1
# 手动创建一个只读快照
btrfs subvolume snapshot -r /volume1/homes /volume1/snapshot_20261021_001

三、群晖:用 Snapshot Replication 图形化配置

  1. 套件中心安装"Snapshot Replication"。
  2. 打开后选中共享文件夹(如 homes 或 document),点"设置"→"启用快照"。
  3. 快照计划建议:工作时段(9:00-18:00)每 1-2 小时一次,夜间每 4-6 小时;保留策略用"保留最近 24 小时每小时 + 最近 7 天每天 + 最近 4 周每周",避免快照无限膨胀。
  4. 高级里勾选"锁定快照",把最近快照设为不可删除,防止误操作和恶意删除。
  5. 还原:右键文件/文件夹→"还原到上一版本",挑选时间点即可,整个过程秒级完成。

四、飞牛/命令行:用 btrfs 定时快照脚本

飞牛目前图形界面快照能力在持续完善,也可用脚本兜底。下面是一段每天凌晨跑、保留 14 天的快照脚本:

#!/bin/bash
SRC=/volume1/document
DST=/volume1/.snapshots/document
DATE=$(date +%Y%m%d)
btrfs subvolume snapshot -r $SRC $DST/snap_$DATE
# 删除 14 天前的快照
find $DST -maxdepth 1 -name 'snap_*' -mtime +14 -exec btrfs subvolume delete {} \;

把它放进 crontab(crontab -e)每天 03:30 执行,就能得到稳定的时间机器。

五、快照挡勒索病毒的三个关键点

勒索软件会遍历所有可写路径加密文件,但它改不了只读快照。要让快照真正救命:

  1. 快照放在同一存储池的隐藏只读子卷(如 .snapshots),并锁定不可删。
  2. 不要给日常账号快照目录的写权限,专门用一个管理账户维护。
  3. 关键数据再做一份异地快照/复制(群晖 Snapshot Replication 可把快照推到第二台 NAS),应对整机被盗或火灾。

注意:快照在同一块硬盘上,磁盘物理损坏它也会一起没,所以"快照 + 异地备份"才是完整方案,二者不可替代。

六、误删恢复实操与小结

恢复时不要直接在原路径写回,建议先恢复到临时目录核对内容,确认无误再覆盖,避免二次污染。对数据库类文件(如 PostgreSQL 的 .sql 导出),快照时间点要和事务一致,最好在业务低峰做。

小结:NAS 快照是"时间机器",成本极低、恢复极快,是备份之外必须补齐的一道防线。配置好计划 + 锁定快照 + 异地复制,误删和勒索都不再是灾难。

本模块其他文章

NAS 接 UPS 断电自动保护实战:USB 通讯、NUT 网络供电监控与停电安全关机家庭与小企业 NAS 文件共享实战:SMB 多用户挂载、权限隔离与 Windows/Mac 访问指南NAS 容器化应用纳管实战:用 Docker Compose + Watchtower 编排多服务并自动安全更新NAS 硬盘健康监控实战:用 smartmontools + Scrutiny 提前发现坏盘与温度预警NAS 用 Syncthing 搭建多设备实时文件同步:手机电脑 NAS 自动互备实战NAS 数据备份 3-2-1 策略实战:rsync 本地快照 + rclone 加密同步对象存储NAS 搭建 Nginx Proxy Manager 反向代理中枢:统一证书、域名分发与内网服务安全暴露飞牛/群晖 NAS 搭建家庭下载中心:qBittorrent + Aria2 + Transmission 容器化部署实战飞牛/群晖 NAS 自建家庭音乐中心:Navidrome 部署、歌词刮削与多端无损串流NAS 搭建家庭电子书与文档中心:Calibre-Web 部署、Kindle 推送与全文检索飞牛/群晖 NAS 自建 Vaultwarden 密码库:容器部署、HTTPS 反代与加密备份实战飞牛群晖 NAS 搭建家庭监控系统:Frigate 接管 RTSP 摄像头做本地录像与智能回放飞牛/群晖 NAS 部署 Jellyfin 媒体中心:影片刮削、硬件转码与手机远程播放用 NAS 搭建家庭私有云相册:Immich 部署、手机备份与多端同步群晖/飞牛 NAS 远程访问实战:Tailscale 组网与反向代理安全配置NAS 快照实战:用 Btrfs 子卷快照挡住误删和勒索,5 分钟回滚NAS 异地访问怎么选:Tailscale 零配置组网与 WireGuard 自建隧道的实战对比用 Immich 把全家照片搬回 NAS:自建家庭相册的部署、备份与避坑在 NAS 上用 Docker 跑自建服务NAS 阵列与 3-2-1 备份策略
群晖/飞牛 NAS 快照与误删秒级恢复实战:Btrfs 子卷快照、快照计划与勒索病毒防护 · 孙亮亮