稍长一点,稍少一点 · 6 个月节省 28%,或一年节省 50%,一次性付清 查看方案 ↗

恢复 · 5 分钟阅读

演练恢复你的共享 wiki。

将一个完整服务恢复到单独、受控的环境中,并检查其用户需要做什么。保持原始服务不受影响,防止测试副本联系真实用户,并将失败与成功步骤一样仔细地记录下来。

开始之前

  • 完整的服务清单,以及处理其备份数据的权限。
  • 选定的备份集、其时间戳、软件版本,以及对恢复机密的授权访问。
  • 具有足够空间和访问控制措施的单独目标,用于存放恢复的信息。
  • 两个具有不同权限的无害见证账户,以及一个已知页面和附件。
  • 指定的测试负责人,以及另一位可以审查结果的维护者。

确定什么才算可用的笔记本

使用来自 服务清单的示例工作坊 wiki。其成功标准很具体:编辑者可以找到并更改测试页面,读者可以查看允许的说明,私有组织书籍保持隐藏,附加图表可以打开。在打开备份之前,将这些检查用作测试计划。

计划检查 — 尚未记录结果
见证预期观察结果演练期间记录
读者账户可以阅读允许的维修页面;不能编辑它。通过/失败以及检查的页面。
编辑者账户可以将无害更改保存到指定的测试页面。更改和生成的修订版本。
受限书籍读者通过导航和直接链接均不可用。账户、路径和观察到的访问情况。
见证图表从其页面打开,内容符合预期。文件名和任何不匹配之处。
通知仅在隔离的测试目标中捕获。目标以及观察到的数量。

选择在选定备份创建时已存在的见证。新创建的页面无法证明较旧的备份不完整。

确定准确的恢复集

在结果表上写下备份标识符和时间戳。包括应用程序配置、数据库数据、附件以及解释它们所需的软件信息。如果它们的捕获时间不同,请在开始演练之前调查您的备份流程如何保持它们一致。

对于 restic 仓库,请选择显式快照,或仔细检查与 latest一起使用的过滤器。其 --path 选项用于选择快照;它不会限制恢复的文件。恢复可能会覆盖现有文件,这也是使用空的专用目标的另一个原因。 restic 恢复文档.

区分仓库检查与应用程序恢复。默认的 restic check 检查仓库结构; check --read-data 还会读取存储的包数据,并可能消耗大量传输和时间。两者都不检查成员是否可以使用您的 wiki。 restic 完整性检查.

让测试副本在启动前保持安静

将生产数据库主机、存储路径和传出凭据排除在测试配置之外。让第二位维护者将每个目标与服务映射进行对比。在执行任何写入文件或数据库对象的恢复操作之前,确认目标是独立的。

  • 限制对执行演练人员的访问。
  • 保持生产 DNS 记录不变。
  • 阻止传出投递,或将其替换为经批准的捕获目标。
  • 在定义其测试行为之前,禁用 webhook、计划集成和队列工作进程。
  • 检查浏览器链接和重定向不会悄悄将测试人员带回生产环境。

将恢复的数据视为与原始数据同样敏感。隔离是一项需要展示的操作性检查,而不是附加到目录上的标签。如果您无法验证目标或控制措施,请在启动应用程序之前停止。

按慎重顺序恢复各部分

按照清单中安装方法和版本的恢复说明进行操作。对于 BookStack 示例,官方流程涵盖单独的数据库和文件恢复,保留原始 APP_KEY,并在地址更改时调整应用程序 URL。容器部署需要在应用程序容器运行之前完成数据库恢复。 BookStack 恢复顺序和配置说明.

  1. 准备专用运行时和数据库目标,而不启动普通成员流量。
  2. 恢复匹配的数据库和文件;保持原始备份不变。
  3. 应用测试环境的地址和受限外部连接。
  4. 根据应用程序的安装说明检查所需的文件所有权和访问权限。
  5. 在出站操作仍受控的情况下启动服务,然后运行计划中的验证项。

先恢复已记录的版本可以让例行演练保持专注。如果演练还涉及版本变更,请单独记录其迁移路径和恢复点。不要用计划外的升级来解决无法解释的恢复失败。

检查哪些可用以及哪些仍被禁止

在单独的浏览器会话中运行读者和编辑者检查,以免管理员会话掩盖权限故障。通过页面及其直接地址测试一个附件。搜索一个已知短语,跟随一个内部链接,并检查一个应存在于备份中的较旧修订。

如果某项检查失败,记录第一个可观察到的差异。图片缺失和意外登录重定向或数据库连接被禁止所指向的调查方向不同。保留相关错误证据,但不要将私人内容或凭据复制到一般支持说明中。纠正一个已确定的原因并重复受影响的检查;不要仅仅为了让错误消失而广泛更改权限。

仅针对所选捕获目标测试电子邮件。BookStack 提供测试邮件操作,并说明某些通知失败会出现在日志中,而不是用户页面上。请查看该证据以及可见结果。 BookStack 电子邮件检查和失败行为.

为下一位人员留下真实结果

Service / test owner / reviewer:
Backup identifier / capture timestamp:
Application and database versions:
Isolated target / access restrictions:
Outbound actions disabled or redirected:
Test start / usable-service checkpoint / finish:
Reader / editor / private book / attachment results:
Search / links / revision / notification results:
Missing information or failed steps:
Corrective action / owner / next exercise:
Test data cleanup completed by:

仅在完成工作后输入观察时间,并说明每个检查点衡量的是什么。一次成功的演练只能作为该备份和该流程的证据;它并不能确立针对其他故障的恢复保证。确认已按照小组的保留规则清理测试副本及其捕获的消息。将缺少的要素反馈到清单中,并使用 便携式数据导出 来准备一条单独迁移小组内容的路径。

本说明背后的文档

使用你实际运行的版本文档。这些示例是规划材料,并非在 Hoszen VPS 上进行测试的记录。