Recovery Drills
Overview
Regular recovery drills validate backup integrity and restore procedures. Without testing, backups are assumptions.
Schedule
| Frequency | Drill Type | Scope |
|---|---|---|
Monthly |
Backup Verification |
Confirm all backups exist and are readable |
Quarterly |
Partial Restore |
Restore one component to verify procedure |
Annually |
Full DR Simulation |
Rebuild critical infrastructure from backups |
Monthly: Backup Verification
Step 2: Check Backup Status
netapi synology backup-status --detailed
Success criteria:
-
All categories show ✓ OK or age < 7 days
-
No errors reported
-
ISE, WLC, pfSense, Switches, KVM, Keycloak all present
Step 3: Run Fresh Backups (if stale)
# Network devices
dsource d000 dev/network
netapi ise backup --repo nas-01 --name "monthly-drill" --wait
netapi wlc backup --upload-nas
netapi pfsense backup --upload-nas
netapi ios backup --all --upload-nas
netapi kvm backup --all --upload-nas
# Keycloak
dsource d000 dev/identity
netapi keycloak backup --upload-nas
Quarterly: Partial Restore Test
Rotate Target Each Quarter
| Quarter | Target | Restore To |
|---|---|---|
Q1 (Jan-Mar) |
ISE Configuration |
ise-02 (lab) |
Q2 (Apr-Jun) |
KVM VM Definition |
Verify XML loads |
Q3 (Jul-Sep) |
Keycloak Realm |
Test import to lab |
Q4 (Oct-Dec) |
Borg File Restore |
Extract specific files |
ISE Restore Test (Q1)
# Download backup
dsource d000 dev/storage
netapi synology backup-list ise
netapi synology download /ise_backups/<latest>.tar /tmp/
# Stage for restore (do NOT apply to production)
ls -la /tmp/*.tar
KVM Restore Test (Q2)
# Download VM definition
dsource d000 dev/storage
netapi synology download /kvm_backups/<vm>-<date>.xml /tmp/
# Verify XML parses
virsh dominfo --config /tmp/<vm>.xml
Annually: Full DR Simulation
Scenario
Simulate complete infrastructure loss. Rebuild from:
-
LUKS USB (cold storage)
-
Borg backups (NAS)
-
Infrastructure backups (NAS)
Pre-Drill Checklist
-
LUKS USB #1 accessible
-
NAS online and reachable
-
Test VM or spare hardware available
-
4+ hours blocked for drill
Drill Procedure
# 1. Mount LUKS USB
sudo cryptsetup luksOpen /dev/sdX1 recovery
sudo mount /dev/mapper/recovery /mnt/recovery
# 2. Verify master key present
ls -la /mnt/recovery/secrets/master.age.key
# 3. Test decryption
age -d -i /mnt/recovery/secrets/master.age.key <test-file.age>
# 4. Verify Borg accessible
BORG_PASSPHRASE=$(cat /mnt/recovery/secrets/borg-passphrase)
borg list ssh://nas-01/volume1/Backups/borg
# 5. Download and stage infrastructure configs
netapi synology backup-list ise
netapi synology backup-list kvm
Known Issues
| Device | Issue | Workaround | Status |
|---|---|---|---|
SWITCH_9300 |
10.50.1.11 - powered off |
High power draw; only powered on when needed for lab work |
Expected |