自建服务的备份策略:3-2-1 法则怎么落地

ls /srv 下面已经堆满目录时,真正的问题不是“怎么存”,而是“坏了以后先救哪个”。

自建服务做久了,数据会越来越杂:照片、文档、数据库、配置文件、容器编排文件、反向代理配置、证书。把数据同步到另一块盘,通常只能算“复制”,不等于“备份”。误删、勒索、配置写坏、同步把错误一起带过去,这些场景里,复制经常救不了急。

先把 3-2-1 说成人话

3-2-1 法则可以拆成一句话:

  • 至少有 3 份数据
  • 放在 2 种不同介质
  • 其中 1 份离开本机

这里的“介质”不用理解得太复杂。机械硬盘、SSD、对象存储、另一台机器,都可以算。重点不是凑数字,而是避免“一个地方出事,所有副本一起没”。

对 Homelab 来说,最常见的误区有两个。

误区一:RAID 不是备份

RAID 解决的是硬盘坏一块时系统还能继续跑,不解决误删、误覆盖、恶意加密、配置出错。

它提高的是可用性,不是可恢复性。前者是“别停机”,后者是“停了也能回来”。

误区二:同步不是备份

双向同步尤其危险。今天删错一个目录,明天发现时,另一边通常也已经跟着删了。

所以备份最好具备两个特性:

  • 版本:能回到昨天、上周、上个月
  • 不可变窗口:一段时间内不能被随意改写或删除

在 Homelab 里,先分级,再定策略

自建环境里,并不是所有数据都该用同一套备份方式。更稳妥的做法是先分级。

第一类:必须优先恢复的数据

比如:

  • 照片、文档、笔记
  • 数据库
  • 媒体库的元数据
  • 密码库
  • 重要证书与密钥文件(密钥内容本身需加密保存)

这类数据体积未必最大,但恢复价值最高。

第二类:可以重建的服务配置

比如:

  • docker-compose.yml
  • 容器环境变量模板
  • 反向代理配置
  • 自动化脚本
  • 定时任务配置

这类内容适合放进 Git,但 Git 也不是完整备份。仓库本身仍然需要备份,尤其是自托管时。

第三类:可再下载的大文件

比如公开镜像、可重新刮削的媒体文件、缓存目录。

这类内容不一定要高频备份,否则会明显抬高存储成本和带宽压力。很多时候,备份“索引和元数据”比备份整个文件集合更划算。

一个普通用户也能执行的落地版本

如果不想一开始就上复杂方案,可以先用这个组合。

本机一份:工作副本

就是正在运行的服务数据。

局域网一份:定时备份到另一台机器或 NAS

建议每天至少一次,重要数据库可以更频繁。

这里尽量不要用“覆盖式复制”,而要用带快照或版本的方式。

“快照”可以理解为某个时间点的存档,能在文件被改坏后回退。

异地一份:云端或异地设备

这份的重点不是快,而是“本地整机出事时还在”。

常见放法:

  • 对象存储
  • 异地 NAS
  • 定期插上的离线硬盘

如果预算有限,异地那份可以只放高价值数据,不必全量搬走。

备份频率,按“能接受丢多少”来定

别先问“一天备份几次”,先问自己:

最多能接受丢掉多久的数据?

也就是恢复点目标。简单理解,就是“最坏情况下你愿意退回到几点”。

一个实用的粗分法:

  • 文档、照片、密码库:每天,或实时同步后再做版本备份
  • 数据库:每天一次全量,外加更高频增量或导出
  • 配置文件:每次变更后立即提交并备份
  • 媒体大文件:每周或每月做检查式备份

数据库要特别注意:直接复制正在运行中的数据库目录,未必可恢复。更稳妥的方式通常是先导出,再备份导出文件。具体命令取决于数据库类型,本文不展开。

备份不是结束,恢复演练才算闭环

很多备份策略的问题,不在“没备份”,而在“从没恢复过”。

至少应该验证三件事:

  1. 文件能不能找到
  2. 备份能不能解密
  3. 目标服务能不能真正启动起来

一个实用的办法是定期挑一个小服务做恢复演练:

  • 在临时目录恢复配置
  • 导入一份数据库备份
  • 看容器能否正常启动
  • 检查应用数据是否完整

这样能更快发现问题:缺了环境变量、漏了证书、脚本路径写死,或者备份里根本没有最新配置。

更值得先补的三处短板

1. 把“配置”和“数据”分开

很多人把容器、数据库、下载目录全堆进一个卷里,备份时很难分辨什么重要。

分开后,策略才能细化:配置小而重要,数据大而变化快,处理方式本来就不该一样。

2. 记录恢复顺序

不是所有服务都能“一键回来”。

例如先恢复数据库,再恢复依赖它的应用,最后再挂代理和证书。

顺序不写下来,过一段时间自己也容易忘。

3. 留意备份系统本身的单点

备份服务器、加密密码、访问凭据、任务调度,都可能成为新的单点故障。

尤其是加密备份时,如果密码只有一份,等于没备份。密码保存方式需要单独设计,并与数据备份区分开。

工具不是重点,边界才是重点

这篇不推荐“唯一正确”的工具,因为不同环境差异很大:文件型数据、数据库、虚拟机镜像、对象存储,适合的方案都不一样。

但有一条判断标准很实用:

如果你不能很快说清楚“某个目录删了以后怎么找回”,那备份策略大概率还没成型。

比起继续加工具,更值得继续细化的,往往是不同类型数据的保留周期:保留 7 天、30 天、180 天,分别该怎么取舍。


自建服务的备份策略:3-2-1 法则怎么落地
https://ghost.kasumi.live/2026/03/19/自建服务的备份策略:3-2-1 法则怎么落地/
作者
Amadeus
发布于
2026年3月19日
许可协议