Disaster Recovery

Procedures for recovering MEGATRON from major failures.

Severity Levels

LevelScenarioRecovery Time
1Single pod crashMinutes (auto-restart)
2Node failure (worker)10-30 minutes (drain + rejoin)
3Control plane failure30-60 minutes (K3s restart or etcd restore)
4Full system failureHours (OS reinstall + K3s restore)
5Hardware failureDays (replacement + full restore)

Emergency Access

If normal SSH is unresponsive:

# Rescue SSH (high priority, OOM protected)
ssh -p 2222 [email protected]

# Or via SSH config
ssh megatron-rescue

Level 3: Control Plane Recovery

# 1. SSH via rescue port
ssh megatron-rescue

# 2. Check K3s status
sudo systemctl status k3s

# 3. Restart K3s
sudo systemctl restart k3s

# 4. Wait for nodes to rejoin
kubectl get nodes -w

# 5. If etcd is corrupted, restore from snapshot
k3s server --cluster-reset --cluster-reset-restore-path=/var/lib/rancher/k3s/server/db/snapshots/<snapshot>

Level 4: Full System Recovery

  1. Reinstall Ubuntu 20.04 LTS
  2. Restore SSH keys from backup
  3. Install K3s: curl -sfL https://get.k3s.io | sh -
  4. Restore etcd from snapshot
  5. Rejoin worker nodes
  6. Restore Cloudflare tunnel config
  7. Verify all services

Critical Files to Preserve

File/DirectoryPurpose
/etc/cloudflared/Tunnel config and credentials
/var/lib/rancher/k3s/server/db/snapshots/K3s etcd snapshots
~/.ssh/SSH keys
/etc/ssh/sshd_config_rescueRescue SSH config
~/Papers/Research data (234 GB)

TODO: expand with automated DR testing, RTO/RPO targets, and runbook for each severity level.