Skip to main content
RunBook Academy

Proxmox VEXIV · Disaster RecoveryDR operations

DR test, exercise, and continuous improvement

Intermediate⏱ ~22 min

What you'll learn

  • Distinguish tabletop, simulation, and live DR exercises
  • Schedule and budget DR exercises
  • Measure DR readiness
  • Continuously improve the DR plan

Prerequisites

Verified against Proxmox VE 9.2.4 · Proxmox Backup Server 4.2.5 · Ceph Squid / Tentacle · Debian 13 (Trixie) · Linux kernel 7.0 (PVE 9.2 default) · 2026-08-12

Not yet marked complete on this device.

Why this matters in production

A DR plan that has not been exercised is a hope, not a plan. This lesson teaches the exercise cadence and the continuous improvement loop.

Exercise types

TypeCostRiskValue
TabletopLowNoneIdentifies procedural gaps
Simulation (partial)MediumLowValidates specific procedures
Live drill (full)HighHigh (if real systems)True confidence

Tabletop

The team sits around a table. The facilitator presents a scenario. The team walks through the runbook step by step. Identifies gaps, missing information, ambiguities.

Cost: 1-2 hours of team time. No production impact.

Simulation

Some steps are actually performed. Examples:

  • Restore a VM from PBS to the DR site.
  • Update DNS records (then revert).
  • Failover the database (then revert).

Cost: hours to a day. Limited production impact.

Live drill

Full activation of DR. Production traffic redirected to DR for the duration.

Cost: significant. Some risk of disruption. Reserved for the most critical exercises.

What each type can and cannot find

The cadence advice is easy to follow and easy to follow uselessly. Four quarterly tabletops that never touch a system will not find a single one of the failures in the second column.

FailureTabletopSimulationLive drill
Nobody knows who declares a disaster
The runbook references a wiki hosted at the primary site
Recovery order has a missing dependency✔ often
Restore credentials have expired
The PBS fingerprint in the document is wrong
Real restore throughput is half the assumed figure
The DR site cannot resolve names without the primary
A bridge is missing on the DR nodes
Encryption keys are not actually escrowed
The application does not work when its dependencies are at DRpartly
DNS cutover takes longer than the TTL suggests
Capacity at DR is insufficient under real load

The column boundary is the point: a tabletop tests the plan; a simulation tests the systems; a live drill tests the assumptions. An organisation doing only tabletops has verified that its document is coherent, which is worth having and is not the same as being able to recover.

The cheapest useful simulation is one restore. Pick a guest, restore it from the offsite datastore to a scratch VMID at the DR site using only DR-side credentials and the escrowed key, time it, and destroy it. It takes an hour and it exercises seven of the rows above.

Service impact possiblethe one-hour simulation that finds most of the real gaps
set -euo pipefail
DRILL=9500
SNAP='pbs-dr:backup/vm/101/2026-08-12T02:00:00Z'
START=$(date +%s)

# Deliberately using DR-side credentials only.
pvesm status --storage pbs-dr

qmrestore "$SNAP" "$DRILL" --storage local-zfs --unique 1
qm set "$DRILL" --net0 "virtio,bridge=vmbr-isolated"
qm start "$DRILL"

# Wait for the guest agent, which proves the OS is actually up.
for _ in $(seq 1 60); do
qm agent "$DRILL" ping >/dev/null 2>&1 && break
sleep 5
done

END=$(date +%s)
printf 'restore-to-responsive: %d seconds\n' "$(( END - START ))"

qm stop "$DRILL"
qm destroy "$DRILL" --purge 1

Write that number down. It is the only honest input to the RTO arithmetic in RPO, RTO and dependency modelling, and it is the number the person who wrote your SLA does not have.

Exercise cadence

ExerciseCadenceAudience
TabletopQuarterlyAll responders
SimulationMonthly or quarterlySpecific teams
Live drillAnnuallyFull team + leadership

Measuring DR readiness

Track these metrics:

  • RTO actual: how long did recovery actually take?
  • RPO actual: how much data was actually lost?
  • Tabletop completion rate: % of planned tabletops that happened.
  • Runbook freshness: when was the runbook last updated?
  • Exercise outcomes: pass/fail counts and gap inventory.

Continuous improvement

After every exercise or incident:

  1. Document what happened.
  2. Identify gaps.
  3. Update the runbook.
  4. Track remediation (who, when, what).
  5. Verify in the next exercise.
flowchart LR
  A[Exercise] --> B[Document]
  B --> C[Identify gaps]
  C --> D[Update runbook]
  D --> E[Track remediation]
  E --> F[Next exercise]
  F --> A

Production considerations

Common mistakes

  • Treating a single successful drill as proof of readiness.
  • Not following up on identified gaps.
  • Letting the runbook go stale between exercises.

Key takeaways

  • Tabletops quarterly; live drills annually.
  • Measure RTO/RPO actuals vs targets.
  • Improve continuously.

Knowledge check

Knowledge check · 5 questions

  1. Q1. Which DR exercise type is the cheapest and most frequent?

  2. Q2. A single successful drill proves the DR plan works.

  3. Q3. What should happen after every DR exercise?

  4. Q4. An organisation has run four quarterly tabletops and every one passed. Which class of failure remains entirely unverified?

  5. Q5. Which changes make a DR drill more informative? Select all that apply.

Passing score: 75%. Answers are checked in this browser.