LabHub
学习 学习路径 课程

备份与恢复

恢复演练

在 LabHub 中继续学习

目标

使用之前创建的 backup set 进行恢复演练,并通过实际计时判断是否满足 RTO

为什么重要

恢复的关键就是顺序和验证。不经过临时路径而直接用 -C / 解压,是无法回退的操作;违反增量恢复顺序,又会让本应存在的文件消失。并且,RTO 在实际测量前只是愿望——现实中无法满足 RTO 的首要原因通常不是解压太慢,而是没有把取回 backup 的时间计算在内。

本实验的恢复目标为 RPO 24 小时、RTO 300 秒

步骤

  1. 创建 /root/rest 目录,并在 /root/rest/objective.txt 中写入以下两行:RPO=24h / RTO=300s
  2. /root/bk/full.tar.gz 恢复到 /root/rest/check/。不得改动当前的 /root/bk/src
  3. 递归比较恢复副本与原件,将结果保存到 /root/rest/diff.txt。(由于第 4 步添加的文件可能造成差异,也可将比较范围限制为 confdata 目录。)
  4. 从 archive 中只把 src/app/conf.yaml 这一个文件恢复到 /root/rest/one/。该目录中不得存在其他文件。
  5. 使用 --strip-components 去掉 archive 中的 src/,恢复到 /root/rest/stripped/。最终必须存在 /root/rest/stripped/app/main.py
  6. 按顺序恢复增量 set。在 /root/rest/inc/ 中依次解压 full → inc0 → inc1,最终必须存在 /root/rest/inc/src/app/new.py
  7. 再执行一次第 2~6 步的完整恢复并计时,在 /root/rest/timing.txt 中写入以下两行:ELAPSED=<초> / MEETS_RTO=<yes|no>(不超过 300 秒则为 yes)
  8. 创建包含以下 5 行的 /root/rest/report.txtRESTORED_FILES=<2번 복원본의 파일 수> / SELECTIVE=1 / STRIPPED_OK=yes / INCREMENTAL_OK=yes / RTO_MET=<7번의 판정>

参考

记录恢复目标

创建 /root/rest 目录,并在 /root/rest/objective.txt 中写入以下两行: RPO=24h / RTO=300s

本实验已经给出 RPO 和 RTO,请准确写入这些值。

恢复到临时路径

/root/bk/full.tar.gz 恢复到 /root/rest/check/。不得改动当前的 /root/bk/src

绝对不要直接解压到当前位置。请使用指定恢复目标位置的选项。

与原件比较

递归比较恢复副本与原件,将结果保存到 /root/rest/diff.txt。(由于第 4 步添加的文件可能造成差异,也可将比较范围限制为 confdata 目录。)

有命令可以递归比较整个目录。没有差异时,它不会输出内容。

执行 selective restore

从 archive 中只把 src/app/conf.yaml 这一个文件恢复到 /root/rest/one/。该目录中不得存在其他文件。

把 archive 内路径作为参数,即可只解压该文件。请先从列表确认准确路径。

调整路径后恢复

使用 --strip-components 去掉 archive 中的 src/,恢复到 /root/rest/stripped/。最终必须存在 /root/rest/stripped/app/main.py

有一个选项可以指定去掉前面多少个路径组成部分。

按增量顺序恢复

按顺序恢复增量 set。在 /root/rest/inc/ 中依次解压 full → inc0 → inc1,最终必须存在 /root/rest/inc/src/app/new.py

必须先恢复 full,再按顺序恢复增量。恢复时不要更新 snapshot 文件。

测量恢复时间

再执行一次第 2~6 步的完整恢复并计时,在 /root/rest/timing.txt 中写入以下两行: ELAPSED=<초> / MEETS_RTO=<yes|no>(不超过 300 秒则为 yes)

以秒计算开始和结束时间之差,并与目标比较后作出判断。

编写演练报告

创建包含以下 5 行的 /root/rest/report.txtRESTORED_FILES=<2번 복원본의 파일 수> / SELECTIVE=1 / STRIPPED_OK=yes / INCREMENTAL_OK=yes / RTO_MET=<7번의 판정>

汇总前面步骤的实际结果。差异数量来自比较结果。