Disaster Recovery Test Workflow
Define recovery objectives, test restoring in an isolated environment, measure actual RTO and RPO, and close gaps before a real disaster.
Objective
Prove the disaster recovery plan works and meets its recovery objectives under test.
Environment
- A restoration environment isolated from production
- Documented RTO and RPO targets
Steps
1. Define RTO and RPO targets
Define RTO and RPO targets per system and tier.
Expected state: The recovery goals are explicit.
2. Restore data and services
Restore data and services in an isolated environment.
Expected state: The procedure is exercised, not assumed.
3. Measure actual recovery time and data
Measure actual recovery time and data loss against the targets.
Expected state: Gaps are quantified.
4. Fix gaps and schedule the next
Fix gaps and schedule the next test.
Expected state: The plan improves each cycle.
Decision points
Test a full or partial recovery?
- Full for tier-1
- Partial for others
Full restore for tier-1 systems; partial for lower tiers where cost outweighs risk.
Test in production or isolated?
- Isolated
- Production
Isolated; testing restore in production risks compounding a real failure.
Expected outcome
A proven recovery procedure with measured RTO and RPO, documented gaps, and a plan to close them.
Verification
Confirm the restore completed and that measured RTO and RPO are within targets, or that gaps have owners and dates.
Cleanup
Tear down the isolated environment and record results and follow-ups.
Overview
Prove the disaster recovery plan works and meets its recovery objectives under test. Confirm the restore completed and that measured RTO and RPO are within targets, or that gaps have owners and dates.
Steps
- Define RTO and RPO targets per system and tier. Expected state: The recovery goals are explicit.
- Restore data and services in an isolated environment. Expected state: The procedure is exercised, not assumed.
- Measure actual recovery time and data loss against the targets. Expected state: Gaps are quantified.
- Fix gaps and schedule the next test. Expected state: The plan improves each cycle.
# restore into an isolated namespace
pg_restore -d app_restore backup.dump
time ./verify-restore.sh # compare against RTO target
Verification
- A proven recovery procedure with measured RTO and RPO, documented gaps, and a plan to close them.
Decision points
- Test a full or partial recovery? Options: Full for tier-1; Partial for others. Recommended: Full restore for tier-1 systems; partial for lower tiers where cost outweighs risk.
- Test in production or isolated? Options: Isolated; Production. Recommended: Isolated; testing restore in production risks compounding a real failure.