docs: the media restore is drilled — 309 files byte-identical
The point named when #0030 was closed is done. A job in the cluster extracted the newest archive into an emptyDir and compared it against the production PVC mounted read-only: every one of the 309 files present in both is byte-identical by sha256. That is a stronger statement than the database drill makes. There it was shown that rows arrive; here that the restored files are the running ones. Three flaws in the test, all mine, and all written down. busybox find has no -printf, so the byte counts came out as a silent zero beside real numbers. The first run compared totals and counted every cache prune as a mismatch, when the backup is a snapshot and production keeps running - the intersection is what proves anything. And my exception knew url_cache but not url_cache_thumbnails, so it reported a finding outside the cache that was not one; the filter worked, its list did not. Still unproven: the emergency path itself, copying back into the PVC. What is proven is that the data come out of the archive complete and unaltered. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F2Q4Ri8NGwyTZzScvKnWFM
This commit is contained in:
co-authored by
Claude Opus 5
parent
eb55bc4e4b
commit
1d69ef8ac6
@@ -345,3 +345,49 @@ wurde. Dieselbe Fehlerklasse wie bei #0083 und #0088, am selben Tag zum dritten
|
||||
- ⚠️ Die **Homelab-Seite** (GitLab/Overmind → MinIO/DSM) entfällt ersatzlos: Das Homelab
|
||||
ist **nicht Teil dieses Projekts** (Entscheidung sorb, 2026-08-21). Der Punkt stand hier
|
||||
irrtümlich und wird nicht anderswohin übertragen.
|
||||
|
||||
## Nachtrag 2026-08-21 — Medien-Restore erprobt (Auftrag sorb)
|
||||
|
||||
Der beim Schließen benannte offene Punkt „Medien gesichert, Rückweg ungeprobt" ist
|
||||
abgearbeitet. Ein Job im Cluster (`axion-backup:v2`, `emptyDir`, Produktions-PVC **lesend**
|
||||
gemountet) hat das jüngste Archiv extrahiert und verglichen:
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Archiv | `…-2026-08-21T01:00:07` |
|
||||
| zurückgespielt | 318 Dateien, 208.256 KB |
|
||||
| Produktion zum Vergleichszeitpunkt | 309 Dateien, 208.036 KB |
|
||||
| gemeinsame Dateien | **309, alle byte-gleich (sha256)** |
|
||||
| nur im Archiv | 9 — 4 `url_cache`, 5 `url_cache_thumbnails` |
|
||||
| nur in Produktion | 0 |
|
||||
|
||||
**Damit ist die Aussage stärker als bei den Datenbanken:** Dort wurde gezeigt, dass Zeilen
|
||||
ankommen; hier, dass die zurückgespielten Dateien **byte-identisch** mit den laufenden sind.
|
||||
|
||||
⚠️ **Der Vergleich wurde gegengeprüft.** Nach dem bestandenen Lauf wurde eine extrahierte
|
||||
Datei um ein Byte verändert; der Vergleich meldete sie. Ohne diese Kontrolle wäre „alle
|
||||
gleich" nur eine Behauptung — dieselbe Lehre, die schon das Bestehenskriterium der
|
||||
Datenbank-Probe geformt hat.
|
||||
|
||||
### Drei Fehler im Test, alle meine
|
||||
|
||||
1. **Erster Lauf: `find -printf` gibt es in busybox nicht** — die Bytezahlen kamen als `0`
|
||||
heraus, während das Skript ansonsten durchlief. Ein stiller Nullwert neben echten
|
||||
Zahlen ist genau die Sorte Ergebnis, die man überliest.
|
||||
2. **Erster Lauf verglich die Gesamtmengen** und wertete jede Cache-Bereinigung als
|
||||
Abweichung. Die Sicherung ist eine Momentaufnahme von 01:00, die Produktion läuft
|
||||
weiter — beweiskräftig ist die **Schnittmenge**.
|
||||
3. **Meine Ausnahme war zu eng:** Sie kannte `url_cache`, nicht `url_cache_thumbnails`,
|
||||
und meldete deshalb einen „Befund außerhalb des Caches". `ls` im Medienverzeichnis
|
||||
zeigt beide als Vorschau-Caches. Der Filter hat damit richtig gearbeitet — er hat mich
|
||||
hinsehen lassen —, aber seine Liste war unvollständig.
|
||||
|
||||
### Was weiterhin nicht bewiesen ist
|
||||
|
||||
Der **Ernstfall-Rückweg** — die Kopie zurück ins PVC — bleibt manuell und ungetestet.
|
||||
Geprobt ist, dass die Daten vollständig und unverfälscht **aus dem Archiv kommen**, nicht
|
||||
dass das Zurückschreiben unter Last funktioniert. Das steht so auch in `restore-matrix.md`.
|
||||
|
||||
**Vorschlag, nicht umgesetzt:** Diese Probe ließe sich wie `restore-drill` monatlich
|
||||
fahren. Sie ist gefahrlos (lesend, `emptyDir`), dauert wenige Minuten und wäre die einzige
|
||||
Prüfung, die den Medienpfad überhaupt beobachtet. Entscheidung sorb.
|
||||
|
||||
Reference in New Issue
Block a user