further rework to the documentation

This commit is contained in:
Codex Agent
2025-11-20 12:31:21 +01:00
parent 6afa44d947
commit 9afcaa7836
90 changed files with 1721 additions and 29 deletions

View File

@@ -0,0 +1,74 @@
---
title: DR-Playbook Storage-Probleme (Hot/Archive)
sidebar_label: DR Storage
---
Dieses Playbook beschreibt, wie du vorgehst, wenn es Probleme mit dem MedienStorage gibt z.B. HotStorage voll, Archivierung bleibt hängen oder viele Assets im Status `failed`.
## 1. Symptome & erste Checks
Typische Symptome:
- Gäste können keine Fotos mehr hochladen (Fehlermeldungen im UploadFlow).
- Tenant Admins sehen „fehlende Medien“ oder sehr langsame Galerien.
- `event_media_assets` enthält viele Einträge mit Status `pending` oder `failed`.
- Logs enthalten Hinweise auf fehlgeschlagene Archivierungen oder fehlende Dateien.
Erste Checks:
- StorageUsage der HotVolumes/Buckets prüfen (DockerVolume, S3Dashboard o.ä.).
- `EventMediaAsset`Status stichprobenartig prüfen (`hot`, `archived`, `pending`, `failed`).
- QueueLängen und Fehler in `media-storage` und `media-security` via Horizon und Logs.
## 2. Hot-Storage voll oder kurz vor Limit
1. **Warnungen bestätigen**
- System/ProviderWarnungen (z.B. 90 % voll) bestätigen.
- Prüfen, ob `storage:monitor` oder ähnliche Kommandos bereits Alerts ausgelöst haben.
2. **Sofortmaßnahmen**
- Archivierung priorisieren: sicherstellen, dass `storage:archive-pending` regelmäßig läuft und die `media-storage`Queue abgearbeitet wird.
- Temporäre Limits erhöhen, falls Provider dies erlaubt (z.B. S3Bucket praktisch „unbegrenzt“ vs. lokaler Disk).
3. **Aufräumen**
- Alte Caches/Thumbnails, die problemlos neu generiert werden können, ggf. gezielt löschen.
- Keine unüberlegten `rm -rf` Aktionen auf dem Storage immer mit klarer Strategie arbeiten.
## 3. Archivierung hängt oder schlägt häufig fehl
1. **Queue-Status prüfen**
- `media-storage` QueueLänge, Failed Jobs in Horizon prüfen.
- LogChannel `storage-jobs` nach Fehlermeldungen durchsuchen.
2. **Fehlerbilder auswerten**
- Typische Ursachen:
- Netzwerk/CredentialProbleme beim Zugriff auf den ArchivBucket.
- Zeitüberschreitungen bei sehr großen Medien.
- Inkonsistente `EventMediaAsset`Einträge (Pfad nicht mehr vorhanden, falscher DiskKey).
3. **Abhilfe**
- Netzwerk/Credentials fixen (z.B. S3Keys, Endpoints, Rechte).
- Problematische Assets gezielt in den Logs identifizieren und manuell nachziehen (Kopie auf ArchiveDisk, Status auf `archived` setzen, FehlerFeld leeren).
- Wenn viele Assets betroffen sind, lieber ein dediziertes Skript/Job bauen als adhoc SQL.
## 4. Fehlende oder beschädigte Medien-Dateien
Wenn `EventMediaAsset`Einträge existieren, die zu nicht mehr vorhandenen Dateien zeigen:
1. **Umfang ermitteln**
- Stichproben auf Basis der Fehlerlogs oder per BatchCheck (z.B. ein ArtisanCommand, das `exists()` prüft).
2. **Backup-Sicht**
- Prüfen, ob die Dateien noch im Backup vorhanden sind (Hot/ArchiveBackups).
3. **Wiederherstellung**
- Fehlende Dateien an den erwarteten Pfad im Storage kopieren (Hot oder Archive).
- `EventMediaAsset`Status und Timestamps ggf. aktualisieren (`hot` vs. `archived`).
Wenn keine Backups existieren, bleibt nur, die betroffenen Assets sauber als „nicht mehr verfügbar“ zu kennzeichnen und die Nutzer entsprechend zu informieren.
## 5. Nach einem Storage-Incident
- **Monitoring schärfen**
- Schwellwerte in `storage-monitor` anpassen (Warnung/Kritisch), Alerts für Queues/Storage erweitern.
- **Kapazitätsplanung**
- Erkenntnisse über Medienwachstum nutzen, um frühzeitig auf größere Volumes/Buckets oder häufigere Archivierung umzusteigen.
- **Dokumentation**
- Incident und Maßnahmen in `docs/process/changes/*` dokumentieren.
- Dieses Playbook aktualisieren, wenn neue Muster entdeckt wurden.
Dieses Playbook ist eng mit `docs/ops/media-storage-spec.md` und `docs/ops/monitoring-observability.md` verknüpft. Nutze diese Dokumente für Detailinformationen zu Queues, Thresholds und StorageTargets.