docs: consolidate restore documentation into ops/restore-tests
- merge RESTORE_HANDBOOK.md into ops/restore-tests/README.md (single operations doc; restore status lives only in RESTORE_MATRIX maturity table) - RESTORE_MATRIX.md: extract embedded runbook drafts (261 -> 141 lines); unraid-flash and tailscale stubs become ops/restore-tests runbooks, adguard/redis checklists superseded by validated scripts - delete six historical pre-first-run *-plan.md files (runbook + script are the source of truth since the validated first runs) - SERVICES_RECOVERY: drop completed task table; DISASTER_RECOVERY: point related docs and section 11 to MASTER_TODO/schedule Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
# H:/ Nearline-Backup — Struktur und Betrieb
|
||||
|
||||
Stand: 2026-06-10
|
||||
|
||||
## Rolle der H:/
|
||||
|
||||
Die externe HDD (asmedia ASM235, 7.4 TB, Laufwerk `H:`) dient ausschließlich als
|
||||
**Nearline-Backup-Spiegel** für kritische Dumps und Git-Bundles.
|
||||
|
||||
Sie ist kein Primär-Backup (das ist Hetzner/Borg) und kein dauerhaftes Archiv.
|
||||
|
||||
## Sollzustand
|
||||
|
||||
```
|
||||
H:\
|
||||
└── kallilab-nearline-backups\
|
||||
├── borg-dumps\latest\ ← aktuelle DB-Dumps (per Script)
|
||||
├── git-bundles\gitea\ ← Gitea-Repo-Bundles (per Script)
|
||||
├── _dr-kit\ ← SSH-Keys, Offline-Secrets (manuell)
|
||||
├── _logs\ ← Robocopy-Logs je Lauf
|
||||
└── _reports\ ← Markdown-Reports je Lauf
|
||||
```
|
||||
|
||||
Nichts weiteres gehört dauerhaft auf die H:/.
|
||||
Temporäre Recovery- oder Backup-Ordner aus Notfallsituationen sind nach
|
||||
Abschluss zu löschen.
|
||||
|
||||
## Automatischer Pull
|
||||
|
||||
`pull-critical-backups.ps1` zieht per Robocopy vom Unraid-SMB-Share:
|
||||
|
||||
- `\\192.168.178.58\backups\borg\dumps\latest` → `borg-dumps\latest\`
|
||||
- `\\192.168.178.58\backups\git-bundles\gitea` → `git-bundles\gitea\`
|
||||
|
||||
Das Script schließt bewusst aus:
|
||||
- `unraid-flash-config.tar.gz` (0600 root:root, nicht per SMB zugänglich → Restore aus Hetzner-Borg)
|
||||
- Migration-/Cutover-Verzeichnisse (`immich-vectorchord-*`, `pg18-major-*`, `redis8-*` etc.)
|
||||
|
||||
## _dr-kit
|
||||
|
||||
Enthält offline hinterlegte Schlüssel und Secrets für den DR-Fall:
|
||||
- `dr-hetzner` / `dr-hetzner.pub` — SSH-Key für Hetzner Storage Box
|
||||
- `dr-readonly` / `dr-readonly.pub` — Read-only Deploy-Key
|
||||
- `KOmodo Secrets.txt` — Komodo Stack ENV-Offline-Dokumentation
|
||||
|
||||
Diese Dateien sind **manuell** zu pflegen und **nicht** vom Pull-Script verwaltet.
|
||||
|
||||
## Archiv-Ordner
|
||||
|
||||
Temporäre Notfall-Artefakte verbleiben als `_archiv-*`-Ordner bis zur bewussten
|
||||
Löschentscheidung:
|
||||
|
||||
| Ordner | Inhalt | Anlassdatum |
|
||||
|---|---|---|
|
||||
| `kallilab-recovery\_archiv-nvme-crash-image-2026-05-14\` | nvme0n1 Disk-Image (1863 GB) + Crash-Runbooks aus dem Mai-2026-Ausfall | 2026-05-14 |
|
||||
|
||||
## Aufräum-Historie
|
||||
|
||||
| Datum | Aktion |
|
||||
|---|---|
|
||||
| 2026-06-10 | `OneDrive - Stroetmann Group\` gelöscht (leer) |
|
||||
| 2026-06-10 | SSH-Keys + Secrets aus nearline-Root in `_dr-kit\` verschoben |
|
||||
| 2026-06-10 | Migration-Artefakt-Verzeichnisse in `borg-dumps\latest\` gelöscht (immich-vectorchord-*, pg18-major-*, redis8-*, nextcloud-redis-pre-redis8-*, shared-redis-pre-redis8-*) |
|
||||
| 2026-06-10 | Pre-major-prod-Dumps gelöscht (PG17→PG18-Migration abgeschlossen) |
|
||||
| 2026-06-10 | `kallilab-recovery\2026-05-15\` gelöscht (DNS-Restore-Reste) |
|
||||
| 2026-06-10 | `kallilab-recovery\2026-05-14\` → `_archiv-nvme-crash-image-2026-05-14\` umbenannt |
|
||||
| 2026-06-10 | `kallilab-recovery\disk1-phase2-2026-05-23\` gelöscht (1677 GB Media-Share-Kopie; Unraid-Share verifiziert vollständig) |
|
||||
|
||||
## Offene Punkte
|
||||
|
||||
- `Windows-Neuaufsetzen-Backup\` (48 GB): nach vollständiger Rückspielung auf D:\ löschen
|
||||
- `_archiv-nvme-crash-image-2026-05-14\` (1863 GB): löschen sobald sicher, dass nichts mehr aus dem alten System benötigt wird
|
||||
- Log-Rotation für `_logs\` und `_reports\`: manuell oder per Script, Empfehlung 30 Tage
|
||||
Reference in New Issue
Block a user