LabHub

백업과 복구 · 복구 리허설 · 실습

복구 리허설

LabHub 에서 이어서 보기

목표

앞에서 만든 백업 세트로 복구 리허설을 수행하고, 시간을 재서 RTO 충족 여부를 판정합니다.

왜 중요한가

복구는 순서와 검증이 전부입니다. 임시 경로를 거치지 않고 -C / 로 바로 푸는 것은 되돌릴 수 없는 작업이고, 증분 복원 순서를 어기면 있어야 할 파일이 사라집니다. 그리고 RTO 는 실제로 재기 전까지 희망사항입니다 — 실무에서 RTO 를 못 지키는 원인 1위는 추출이 느려서가 아니라 백업을 가져오는 시간을 계산에 넣지 않았기 때문입니다.

이 실습의 복구 목표는 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. 아카이브에서 src/app/conf.yaml 하나만 /root/rest/one/ 으로 복원하세요. 그 디렉터리에 다른 파일이 있으면 안 됩니다.
5. --strip-components 를 써서 아카이브의 src/ 를 떼고 /root/rest/stripped/ 에 복원하세요. 결과적으로 /root/rest/stripped/app/main.py 가 존재해야 합니다.
6. 증분 세트를 순서대로 복원하세요. /root/rest/inc/ 에 전체 → inc0 → inc1 순으로 풀어, /root/rest/inc/src/app/new.py 가 존재해야 합니다.
7. 2번부터 6번까지의 전체 복구를 다시 한 번 수행하며 시간을 재고, /root/rest/timing.txt 에 다음 두 줄을 적으세요.
ELAPSED=<초> / MEETS_RTO=<yes|no> (300초 이내면 yes)
8. /root/rest/report.txt 를 다음 5줄로 만드세요.
RESTORED_FILES=<2번 복원본의 파일 수> / SELECTIVE=1 / STRIPPED_OK=yes / INCREMENTAL_OK=yes / RTO_MET=<7번의 판정>

참고

단계 8개

  1. 복구 목표 기록
  2. 임시 경로로 복원
  3. 원본과 비교
  4. 선택 복원
  5. 경로 조정 복원
  6. 증분 순서대로 복원
  7. 복구 시간 측정
  8. 리허설 보고서