用 Kopia 建立加密快照并验证恢复

  • 来源: Getting Started Guide(Kopia 官方文档)
  • 作者信息: Notion 来源记录列为 Kopia 文档贡献者;原文未注明个人作者
  • 版本与日期: 原文页面没有标出本指南的固定版本或发表日期;命令行示例中包含 2019 年示例输出
  • 范围: 本文按该入门页整理本地/文件系统仓库、策略、增量快照、比较和恢复流程;不包含其他 Kopia 专页中的忽略模式语法

Kopia 将备份称为 snapshot,将保存快照的存储位置称为 repository,将快照创建和保留规则称为 policy。仓库内容会加密,创建仓库时设定密码。Kopia 的加密是端到端的,密码不会离开本机;若遗失密码,就无法从仓库恢复文件。密码应安全托管并定期确认可用。

使用云或其他存储服务时,要先自行开通并准备存储位置、账户、存储桶和访问凭据,费用也由存储服务提供方收取。下面的文件系统仓库适合演练 CLI 流程,但若它与原数据在同一磁盘上,磁盘故障可能同时损坏两者,不能当作异地备份。

1. 安装后创建或连接仓库

先选择 Kopia 的图形界面 KopiaUI 或命令行 CLI。两者都需要先连接一个 repository。

在 KopiaUI 首次启动时,选择要使用的仓库类型,按界面提供的信息填写存储位置,并设置加密密码。仓库位置必须已准备好;Kopia 不会替你开通或付费购买云存储。

用 CLI 做本地文件系统演练时,可以在已挂载的文件系统中创建仓库:

kopia repository create filesystem --path /tmp/my-repository

命令会要求设置用于加密快照的密码。以后连接已有仓库时使用 connect 子命令,而不是再次 create:

kopia repository connect filesystem --path /tmp/my-repository

示例路径 /tmp/my-repository 是文档中的本地演练位置。实际使用时,按所选仓库类型填写对应参数;不同存储类型的创建命令并不相同。

2. 设定快照策略

KopiaUI 中可在 Policies 页面为要备份的目录设置策略,包括快照频率、保留数量、压缩和忽略项等。保存策略后,Kopia 会依照设置创建快照。若在 GUI 策略中设置了 Snapshot Frequency,界面会按该频率自动快照;没有设频率时,需要到 Snapshots 页面手动点 Snapshot Now。

CLI 中策略可设在全局、主机、用户/主机或具体路径等范围。某一级没有定义的选项会沿用适用的上级设置,更具体的策略优先。可先查看全局规则:

kopia policy show --global

原文的示例策略包括保留年度 3 份、月度 24 份、每周 25 份、每日 14 份、每小时 48 份,以及最近 10 份;这些是文档输出示例,需按自己的恢复目标、仓库容量和业务要求设定。

下面的命令示例为当前目录添加两个忽略目录:

kopia policy set --add-ignore public/ --add-ignore node_modules/ .

再将当前目录的每周快照保留数设为 30:

kopia policy set --keep-weekly 30 .

用 show 查看当前目录最终生效的策略:

kopia policy show .

输出会标明哪些保留值继承自 global、哪些是在当前目标定义的,并列出策略内的忽略规则和读取的 .kopiaignore 文件。此入门页仅展示添加目录名的例子,没有给出 .kopiaignore 的通配符语法;需要复杂匹配时,应依据相应官方说明确认规则和实际命中文件,不能从这里推断任意模式的含义。

要注意,策略描述快照怎么创建与保留;CLI 里写入一个策略本身不等于已经安排了常驻任务。应按实际调用 Kopia 的方式确认自动运行计划。快照扫描的是目录中的文件;对数据库或需要事务一致性的应用,普通文件扫描不等同于应用级一致性备份。

3. 创建初始快照

先确认 CLI 已连接仓库,然后把要保护的目录传给 snapshot create。原文用 Kopia 自己的源码目录作为示例:

kopia snapshot create $HOME/Projects/github.com/kopia/kopia

命令完成后会报告已上传的 snapshot 标识和根对象标识。原文样例中的根标识以 k 开头;此处不把示例的时间或耗时当作当前环境结果。

4. 创建增量快照并查看变化

同一目录再次运行相同命令即可创建后续快照:

kopia snapshot create $HOME/Projects/github.com/kopia/kopia

Kopia 会重新扫描目录,只上传仓库中尚无的文件内容。对象标识由数据内容派生,所以未变化的内容会复用;文件移动或改名时,已有内容也不会因此再次完整上传。不同计算机若将相同内容存入同一个仓库,重复内容也只保存一次。

查看某个路径的快照历史:

kopia snapshot list $HOME/Projects/github.com/kopia/kopia

比较两个快照的文件变化:

kopia diff <快照标识1> <快照标识2>

查看快照目录中的条目:

kopia ls -l <快照标识>

这些命令分别用于确认有哪些时间点、两次之间有哪些变化,以及快照中是否出现了预期文件。原文输出样例来自较早的文档示范,不是这台机器或当前版本的实测结果。

5. 挂载并抽样验证恢复

恢复前先确定正确的路径和时间点。KopiaUI 的 Snapshots 页面可以按 Path 浏览快照历史,再选择:

  • 将快照 Mount 成本地盘,浏览、打开并复制文件;
  • 将快照内容 Restore 到本地或网络位置;
  • 在 KopiaUI 中浏览快照后单独下载文件。

原文将挂载作为推荐的恢复检查方式。CLI 示意为先创建挂载点、再挂载所选快照:

mkdir /tmp/mnt
kopia mount <快照标识> /tmp/mnt

挂载后使用常规文件命令抽查目录和关键文件,再卸载:

ls -l /tmp/mnt/
umount /tmp/mnt

将尖括号中的快照标识替换为 kopia snapshot list 显示的实际标识;挂载路径也应选择当前系统可用的位置。恢复到单独的临时目录或挂载点,再检查文件是否可读、内容是否符合预期。不要把抽样验证误当成完整灾难恢复演练;可以按业务需要定期尝试恢复代表性文件和目录。

6. 调整保留规则并检查作用范围

例如,修改当前目录的每周保留数:

kopia policy set --keep-weekly 30 .

随后通过 kopia policy show . 确认结果。也可以用 kopia policy list 查看仓库的策略列表。文档还提供策略导入与导出:

kopia policy import --from-file import.json
kopia policy export --to-file export.json

执行带有 –delete-other-policies 的导入会删除未列入导入目标的其他策略;只有确认 JSON 文件及目标标识无误、并了解会影响哪些策略时才应使用。保留数量变化也会改变历史快照能保留多久,设定前应考虑所需恢复窗口。

操作要点

  1. 安全保存仓库密码;遗失密码后无法解密并恢复数据。
  2. 先准备并确认存储后端,再在 Kopia 中创建仓库;云端费用由服务提供方收取。
  3. 新建快照后,先用 list、diff 和 ls 确认历史、变化和文件清单,再抽样挂载或恢复。
  4. 检查具体路径的生效策略,区分继承值与当前路径覆盖值。
  5. 不要依赖未经确认的忽略规则;策略或忽略错误可能让预期文件未进入快照。
  6. 本地同盘演练不防同一磁盘故障;应用数据若需事务一致性,应使用与应用相符的备份流程。

来源信息

  • 原文标题: Getting Started Guide
  • 来源: Kopia 官方文档
  • 作者字段: Kopia 文档贡献者(未注明个人署名)
  • 原文中的旧示例: 页面包含 2019 年的命令行输出和一个旧版 KopiaUI 视频说明;这些不代表本文执行结果或当前 UI 外观。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容