技术笔记

Snapshot Replication 实战:用快照挡住误删和勒索软件

yaobingbin yaobingbin · · 约 7 分钟 · 0 条评论

快照到底解决什么问题

先想清楚一件事:快照不是备份的替代品,它的价值在于回滚速度。

对比一下三种场景的成本:

场景 没快照 有快照 有异地备份
误删一个文件夹 从备份恢复,几十分钟起 几秒到几分钟 几十分钟起
文件被覆盖成错误版本 大概率找不回 秒回滚 有几率找回
勒索软件加密全盘 完蛋或付赎金 几分钟回滚(前提配置正确) 几小时到一天
硬盘物理损坏 换盘重建 没用 有效
火灾 / 水淹 / 被盗 完蛋 完蛋 有效

看明白了吗:快照是低成本的高频保护,解决”人和软件犯错”;备份是高成本的兜底,解决”设备完蛋”。两者必须同时有。

群晖上这套能力叫 Snapshot Replication,套件中心免费安装,依赖 Btrfs 文件系统。

前置条件:Btrfs

Snapshot Replication 只支持 Btrfs 文件系统的存储空间。选 ext4 的机器用不了。

查看位置:存储管理器 → 存储空间 → 看文件系统类型。初始化时就选 Btrfs,事后不能原地转换(只能重建存储池并迁移数据)。

Btrfs 带来的不只是快照:

能力 说明
快照 秒级创建,写时复制,初始几乎不占空间
数据校验 定期做数据清理能发现静默损坏
自愈 在有冗余的 Btrfs RAID 下,校验发现的错误可以自动修复
共享文件夹快照 可以针对单个共享文件夹做,不必整个存储池

代价是内存占用略高,以及极端场景下写入性能略低于 ext4。对家庭和小型办公,这个交换是划算的。

快照是怎么”几乎不占空间”的

Btrfs 快照是写时复制(Copy-on-Write):

创建快照的瞬间,它记录的是此刻所有数据块的指针,不复制任何数据,所以秒完成、几乎零占用。

之后的变化才占空间:原数据块被修改时,系统先把旧数据保留下来(因为快照还要用),新数据写到别处。被改掉的旧数据块才会计入快照占用。

由此推出两条实操规则:

规则一:变化量大的目录,快照占得快。监控录像、下载目录、虚拟机磁盘镜像,这类”一直在写”的数据,快照会在短时间内吃掉大量空间。

规则二:快照容量要单独设上限。在共享文件夹的快照设置里,一定要设”快照保留上限”或”占用上限”,否则长期不清理会把存储池撑满,而存储池满了比硬盘坏了还难处理。

保留策略怎么配

群晖提供几种策略组合,我推荐这套通用型配置:

层级 保留规则 目的
每小时 保留最近 24 个(一天) 救误删、救误覆盖
每天 保留最近 7 个(一周) 救一周前才发现的错误
每周 保留最近 4 个(一个月) 救长期潜伏的问题
每月 保留最近 3 个 兜底

总计数大约 38 个快照。对普通文件服务器而言,这个密度既能覆盖绝大多数误操作场景,占用也可控。

特殊目录要单独调:

目录类型 建议
文档、照片、代码 按上面标准套配
Docker / 虚拟机 快照前先停容器,或大幅减少保留数量
监控录像、下载盘 建议干脆不做快照,或者只保留 2~3 个
数据库文件 需要应用层一致性快照,不要盲目依赖

Replication:把快照送到另一台机器

Snapshot Replication 这个名字里,”Replication”是另一半能力——把本地快照复制到另一台群晖上。

它和 Hyper Backup 的区别:

Snapshot Replication Hyper Backup
目标 另一台群晖(同 DSM) 任意目标:另一台群晖、rsync 服务器、S3、C2、外接 USB
复制粒度 快照级增量 文件级去重备份
恢复粒度 整个共享文件夹或 LUN 单个文件可选恢复
加密 传输加密 支持端到端加密备份目标
异地 需要两台群晖 支持对象存储,成本更低

典型用法:两台群晖之间用 Replication 做”热备”,可以快速在备机拉起服务;同时用 Hyper Backup 往云或外接硬盘做”冷备”,应付极端情况。

Replication 的实操要点:

  • 两台机器都要装 Snapshot Replication 套件
  • 目标机器的文件系统也必须是 Btrfs
  • 首次同步时间长,建议在局域网内先做一次,再拿到异地
  • 建议配合 VPN 或专线,别直接把 5000/5001 端口暴露到公网
  • 带宽受限时可以设置排程和限速

关键:挡住勒索软件要靠这一层

很多人的认知是”有快照就不怕勒索软件”,这是个危险的误解。

普通勒索软件的攻击路径:它会尝试删除或加密它所能访问到的一切,包括通过 SMB/CIFS 访问的共享文件夹上的快照(如果快照目录可见),甚至直接攻击管理账号,删掉 DSM 里的快照。

所以必须再多一层:让快照变得不可删除。

群晖上对应的手段:

手段 说明 位置
Immutable Snapshot(不可变快照) 快照在设定时间内无法被任何账号删除,包括管理员 快照设置中,需配合企业机型或特定版本
快照文件夹权限收紧 不把 .snapshots 暴露给普通用户 共享文件夹权限
回收站 + 快照双保险 先回收站,再快照 控制面板
异地 Replication 即使本地被删,远端还在 Snapshot Replication
独立备份 最后一道防线 Hyper Backup + 离线

其中最有效、也最容易被漏掉的是 Immutable Snapshot。它相当于给快照上了把时间锁——设置之后,7 天内谁也删不掉,管理员权限也不行。这意味着即使攻击者拿到了管理员密码,也抹不掉你 7 天内的历史版本。

如果你的机型或 DSM 版本不支持不可变快照(企业级以上机型更常见),那就靠 Replication 到另一台设备来近似实现:攻击者删得掉本地,未必够得着远端。

完整配置清单

按这个顺序做一遍:

1. 确认存储空间文件系统是 Btrfs 2. 套件中心安装 Snapshot Replication 3. 对每个重要共享文件夹启用快照,套用上面的保留策略 4. 给每个文件夹设置占用上限,避免撑爆 5. 监控/下载/虚拟机目录单独降低频率或关闭 6. Secure SignIn 或双因素认证必须开(管理账号被夺等于快照被删) 7. 如果有第二台群晖,配置 Replication 8. 企业机型启用 Immutable Snapshot 9. 再单独搭一条 Hyper Backup 到异地或云端 10. 演练一次恢复。这一步 90% 的人不做,但它是快照唯一的价值证明

最后一句:没演练过的快照等于没有快照。花十分钟真的删一个文件再恢复一次,比看十篇教程有用。

微信搜一搜 纳思Note
评论经后台审核通过后显示 · 请勿发布广告、外链或无关内容

发表评论

邮箱地址不会被公开。填写昵称与邮箱后方可评论。