异地与恢复¶
本地备份保护您免受容器丢失或错误更新之苦。异地复制和经过测试的恢复工具包保护您免受整台机器损失、勒索软件或火灾之害。本页涵盖异地复制、使该副本防篡改、证明您能够还原,以及在 BombVault 本身消失时进行恢复。
异地复制¶
保留快速的本地备份,再添加一个或多个异地副本。在设置,异地标签页为每个域设置一个仓库。BombVault 以尽力而为的方式用 restic copy 将新快照复制到那里,因此异地出现问题绝不会导致本地备份失败。本地仓库保持为主。
- 每个域可有多个异地目标。 每个域(容器、虚拟机、闪存、配置和文件集)都可以同时复制到多个异地目标,而不仅仅是一个,因此您可以并行地保留,例如,一台朋友机器上的 rest-server 和一个 S3 存储桶。在设置,异地添加额外目标,每个目标都有各自的仓库、S3 存储类别、append-only 标志、保留和增长预算。一个现有的单一异地设置会作为第一个目标原封不动地沿用下来,而一个域的每个目标都按该域的异地计划复制。
- 按域的异地计划(与设置,计划上的其他所有计划一起编辑):留空则在每次本地备份后复制,或设置一个周期(例如
weekly Sun 03:00)以比本地备份更不频繁地发送到异地。一个立即复制按钮涵盖按需运行。 - 异地保留位于设置,异地,因此您可以将异地副本作为归档保留更久。将策略全部留为零则从不自动清理异地快照。
- 带宽限制(设置,异地)限制 restic 的上传/下载速率,使复制不会占满您的 WAN。
- 一个复制指示器在运行时显示哪个域正在复制(在其页面和仪表板上)。它是一个活动指示器,而非百分比条,因为
restic copy不暴露机器可读的进度。
直接从异地还原
每个备份浏览器都有一个本地 / 异地开关,因此如果本地仓库丢失或损坏,您可以直接从异地副本列出并还原。删除是按来源进行的:移除一份备份只影响您正在查看的那个副本。
不可变(append-only)异地¶
将异地仓库标记为 append-only,这样勒索软件或被入侵的主机就无法删除或改写您的备份。对端(一个运行在 --append-only 模式的 restic/rest-server)强制执行它。BombVault 只会验证它,绝不会仅凭配置声明就显示绿色。
引导式异地设置向导带您从后端选择(rest-server / rclone / S3),走过一段可直接粘贴的 rest-server 部署片段、一次连接测试、不可变切换(它会立即运行篡改测试)和一套保留策略,因此无需手动编辑配置即可实现 append-only 异地。
不可变仓库绝不会从此机器上清理
不可变的异地会有意从不清理旧快照。为它设置一个增长预算告警,以便在仓库大小失控之前得到告警。
篡改测试¶
BombVault 定期通过实际尝试对异地仓库执行删除(瞄准一个不存在的对象)来证明 append-only 保证:
- 被拒绝意味着受保护。
- 被接受意味着未受保护。
- 不确定的结果(服务器不可达、认证错误)绝不会翻转已存储的判定。
一次真实的从受保护到未受保护的翻转会触发一条告警。
DR 演练¶
BombVault 提供两个层级的证明,证明您的备份确实可还原,而不仅仅是存在。
- 还原验证演练(本地)。 BombVault 定期运行
restic check --read-data-subset(有界,绝不是填满磁盘的完整还原),并为每个域显示一个上次验证可还原徽章。周期位于设置,计划;徽章位于设置,完整性。 - DR 演练(异地)。 BombVault 将一个真实目标从异地仓库还原到一次性沙盒,逐文件、逐字节地验证它,然后清理。这证明您能够从异地恢复,而不仅仅是仓库能应答。
仪表板上的勒索软件防护评分卡将这些汇总为每个域的绿 / 黄 / 红态势,带有一份带时间戳的清单(异地已配置、append-only 已验证、复制为最新、还原演练通过、加密开启、清理策略已设置)。每一行红色都深链到对应的修复,而该卡片只在经过验证的事实上变绿。
接收方仪表板(接收侧)¶
以上一切都是发送侧。在接收来自另一个 BombVault 的不可变异地副本的机器上,接收方仪表板为您提供对接收硬件上那些仓库的独立、只读监控,因此远端的静默失败不会无人察觉。
打开设置中的接收方开关以显示接收方标签页。它默认关闭;仅在确实接收不可变异地备份的机器上启用它。然后注册一个已接收的仓库(只读,用发送实例的密钥打开),即可获得:
- 按来源分组的快照清单,因此您可以准确看到哪些容器、虚拟机和文件集已经到达。
- 每个来源的上次接收,因此您知道每个来源有多新。
- 在接收硬件上运行的独立
restic check,因此完整性在数据实际所在之处得到验证,而不仅仅在发送方。 - 一个死人开关: 当某个来源在您设定的时间窗内停止发送时发出告警。
- 完整性告警: 当接收侧的一次检查失败时发出告警。
接收方严格只读。它绝不会写入已接收的仓库,因此绝不会破坏发送方所依赖的 append-only 保证。
引导式恢复¶
一个专门的恢复标签页在一处引导全新或重建的安装走完灾难场景:
- 先还原 BombVault 自身的设置,这样流程其余部分所需的备份路径、异地目标和凭据都会预先填好(通过 Docker 套接字上的自我重启应用,因此运行中的设置数据库绝不会在打开的句柄下被覆盖)。
- 检查 BombVault 能否读取您的备份(把加密密钥的陷阱放在最前面)。
- 让您指向您现有的仓库(本地或异地)。
- 发现存储在其中的容器、虚拟机和文件集。
- 将它们全部还原(保持停止,以便您有意地启动它们),您的恢复工具包一键即达。
计划性迁移与灾难
引导式恢复从备份还原 BombVault 自身的设置。对于计划性的迁移到新机器,您可以改用导出与导入设置卡片直接迁移您的配置(一个可移植的 JSON 文件)。参见配置。
从另一个 BombVault 仓库还原¶
恢复标签页上一张单独的卡片会在一次性的只读会话中,用那个实例的 APP_KEY 打开一个不同的 BombVault 实例的仓库(一个挂载在 /mnt 之下的共享,或一个远程 URL)。浏览存储在那里的容器、虚拟机和文件集,选择一个快照并还原它,还原后的对象会成为一个正常的本地容器、虚拟机或文件集。绝不会有任何东西被写入另一个仓库,且您自己的备份设置保持不动(会话存活于内存中并自行过期)。将一个容器从服务器 A 迁移到服务器 B 不再意味着重新指向您的仓库设置并事后还原它们。实时的服务器到服务器联合明确不在范围内;这是一次刻意的一次性拉取。
加密密钥恢复工具包¶
这是使灾难恢复在没有运行中的 BombVault 时也能实现的那一环。
一键下载主密钥、派生出的 restic 密码以及确切的仓库位置和命令,因此您可以在任意机器上直接用 restic CLI 还原。一条仪表板提醒会一直催促,直到您存好它。
将恢复工具包存放在服务器之外
工具包包含解密您备份的密钥。请将它存放在安全且与服务器分离的地方(一个密码管理器、一份存于保险箱的打印件)。如果您同时丢失了 BombVault 和 APP_KEY 且没有恢复工具包,您的加密备份将无法恢复。
由于恢复定义存放在每个仓库内部(<repo>/def、<repo>/vm-def),被复制的仓库文件夹是完全自包含的,因此工具包加上仓库就是一次裸机还原所需的全部。