90 lines
4.9 KiB
Markdown
90 lines
4.9 KiB
Markdown
# Recovery Handoff - KalliLab CORE - 2026-05-15
|
|
|
|
Zweck: Startpunkt fuer einen neuen Chat, ohne das komplette Repo erneut zu lesen.
|
|
|
|
## Kontext
|
|
|
|
- Incident: NTFS-Cache-Vorfall ab 2026-05-11.
|
|
- Host: Unraid `Kallilabcore`, SSH `root@192.168.178.58`.
|
|
- Root Cause: Cache war NTFS/ntfs3; Disk1 ist noch NTFS/ntfs3 und wird spaeter separat migriert.
|
|
- Recovery-Prinzip: `docs/STORAGE_LAYOUT.md` ist bindend. Zum Zeitpunkt dieses Handoffs hiess die Datei noch `docs/STORAGE_LAYOUT.draft.md`.
|
|
- Keine Stacks starten, wenn ein Pfad/Setting gegen Storage Layout, Restore Matrix oder Architecture Master verstoesst.
|
|
|
|
## Host-Zustand
|
|
|
|
- Cache wurde erfolgreich von NTFS auf XFS neu formatiert.
|
|
- Verifiziert: `/mnt/cache` ist XFS auf `/dev/nvme0n1p1`.
|
|
- Disk1 bleibt vorerst NTFS auf `/mnt/disk1`; Migration ist Phase 2 nach stabilem Cache-Betrieb.
|
|
- Docker und Libvirt wurden nach dem Format wieder gestoppt.
|
|
- `/mnt/user/appdata` ist leer bzw. nur Basisverzeichnis; produktive Appdaten sind noch nicht restored.
|
|
- Share-Settings wurden nach Storage Layout korrigiert:
|
|
- `appdata`, `system`, `domains`: cache `only`
|
|
- `services`, `documents`, `photos`, `backups`, `media`, `finance`, `projekte`: cache `no`, include `disk1`
|
|
- `isos`: cache `yes`
|
|
- Backup alter Share-Configs: `/boot/config/shares.bak-20260515-pre-storage-layout`
|
|
|
|
## Image und Backups
|
|
|
|
- Full NVMe image liegt auf Windows `H:\kallilab-recovery\2026-05-14\nvme0n1-full-20260514.img`.
|
|
- `dd` exit code war `0`; Image-Groesse/Padding geprueft; Source-Raw-Hash war fertig.
|
|
- Image-Data-Hash wurde aus Zeitgruenden bewusst abgebrochen. Risiko wurde als ca. 1-3 Prozent eingeschaetzt.
|
|
- Hetzner-Borg-Archiv `Taegliche-Sicherung-2026-05-10T04:30:52.050` wurde als lesbare Recovery-Quelle verifiziert.
|
|
- Verifiziert wurden u. a. Vaultwarden SQLite, Gitea SQLite, Postgres-Dumps und Komodo Mongo-Archiv-Header.
|
|
- Lokaler Verify-Auszug liegt unter `H:\kallilab-recovery\2026-05-14\borg-verify-may10`.
|
|
|
|
## Entscheidungen seit dem Cache-Rebuild
|
|
|
|
- WD MyBookLive Duo wird komplett aus dem Setup entfernt.
|
|
- Backrest wird komplett aus dem aktiven Setup entfernt.
|
|
- Borg ist alleinige Backup-Technologie.
|
|
- Appdata Backup Plugin bleibt deaktiviert; WD-Ziele wurden aus aktiver Host-Konfiguration geleert.
|
|
- Unassigned Devices SMB-Remote fuer `//MYBOOKLIVEDUO/Public` wurde aus aktiver Host-Konfiguration entfernt.
|
|
- Backrest User Script `check_backrest_hetzner` wurde aus Schedule/Cron entfernt.
|
|
- Host-Konfig-Backup fuer diese Bereinigung: `/boot/config/cleanup-backup-20260515-remove-wd-backrest`
|
|
|
|
## Repo-Aenderungen im aktuellen Arbeitsbaum
|
|
|
|
Backrest wurde aus dem aktiven Zielbild entfernt:
|
|
|
|
- `ops/backrest/docker-compose.yml` geloescht
|
|
- `HOMELAB_ARCHITECTURE_MASTER_V2.md` aktualisiert
|
|
- `docs/REPO_MAP.md` aktualisiert
|
|
- `docs/SERVICE_CATALOG.md` aktualisiert
|
|
- `docs/RESTORE_MATRIX.md` aktualisiert
|
|
- `docs/AI_CONTEXT.md` aktualisiert
|
|
- `docs/DISASTER_RECOVERY.md` aktualisiert
|
|
- `ops/borg-ui/BACKUP_SCOPE.md` aktualisiert
|
|
- `ops/hermes-agent/services.json` aktualisiert
|
|
- `ops/hermes-agent/services.yaml` aktualisiert
|
|
- `ops/policy-checks/last-report.md` aktualisiert
|
|
|
|
Verifikation:
|
|
|
|
- `rg "/mnt/(cache|disk1|disks|remotes)" -g docker-compose.yml -g compose.yaml -g *.yml -g *.yaml` findet keine aktiven Compose/YAML-Treffer.
|
|
- `rg "ops/backrest|backrest.kaleschke|/mnt/user/appdata/backrest|192.168.178.86|MYBOOKLIVEDUO|WD-DUO"` findet nur historische/gewollte Hinweise.
|
|
- `python -m json.tool ops/hermes-agent/services.json` ok.
|
|
- `ops/hermes-agent/services.yaml` YAML ok.
|
|
- `ops/policy-checks/check_repo.ps1` ok: 29 Compose-Dateien, 0 Critical, 4 Warnings.
|
|
|
|
## Wichtigste Stop-Regeln
|
|
|
|
- Keine Container starten, solange Core-Pfade oder Share-Settings nicht gegen Storage Layout geprueft sind.
|
|
- Keine Backrest-/WD-Referenzen reaktivieren.
|
|
- Keine Bind-Mounts auf `/mnt/cache`, `/mnt/disk1`, `/mnt/disks`, `/mnt/remotes`.
|
|
- Keine Schreibaktionen auf Disk1 ausser bewusst noetig; Disk1 ist noch NTFS.
|
|
- Komodo nur gemeinsam und explizit anfassen.
|
|
- Erst Daten/Secrets restoren, dann Stacks einzeln starten und smoke-testen.
|
|
|
|
## Naechster sinnvoller Schritt
|
|
|
|
1. Repo-Aenderungen kurz reviewen und committen/pushen, bevor Komodo wieder produktiv wird.
|
|
2. DNS-Basis wiederherstellen:
|
|
- AdGuard: `/mnt/user/appdata/adguard/conf` aus Borg oder Image restoren; `work` kann frisch sein.
|
|
- Unbound: `/mnt/user/appdata/unbound/config` aus Borg oder Image restoren.
|
|
- Danach nur AdGuard + Unbound starten und DNS testen.
|
|
3. Danach Traefik + Authelia + Gitea/Vaultwarden in kleinen Schritten.
|
|
|
|
## Startprompt fuer neuen Chat
|
|
|
|
Lies zuerst `docs/archive/2026-05/RECOVERY_HANDOFF_2026-05-15.md`, dann `docs/STORAGE_LAYOUT.md`, `docs/RESTORE_MATRIX.md` und nur die Compose-Dateien des naechsten betroffenen Stacks. Fuehre den KalliLab-CORE-Restore token-sparend fort. Nichts erfinden, keine Container starten, wenn etwas gegen Storage Layout verstoesst. Backrest und WD MyBookLive Duo sind entfernt und duerfen nicht wieder ins Setup.
|