# Backup Integrity: Checksums, Hashing & Bit-Rot Erkennung
TL;DR / Management Summary Ein Backup-Image ist eine komplexe Datei, die aus Milliarden von Bits besteht. Ein einzelnes gekipptes Bit kann die gesamte Datei unbrauchbar machen (Silent Data Corruption). Wir nutzen kryptografische Prüfsummen (Hashes) wie SHA-256, um die Integrität jedes Datenblocks zu garantieren. Ein Senior Admin verlässt sich nicht auf das “Erfolgreich”-Label der Software, sondern implementiert regelmäßige Verification-Jobs, die das gesamte Repository bitweise gegen den ursprünglichen Hash validieren.
# 1. Einführung & Hashing-Technologie
Der Fingerabdruck der Daten.
Hashing transformiert eine variable Datenmenge in eine feste Zeichenfolge (den Hash).
- Deterministisch: Der gleiche Input erzeugt immer den gleichen Hash.
- Kollisionsresistent: Zwei unterschiedliche Inputs erzeugen (praktisch) nie den gleichen Hash.
- Standards:
- MD5/SHA-1: Veraltet (für Security nicht mehr sicher, für einfache Integrität noch genutzt).
- SHA-256 / SHA-512: Aktueller Standard für Enterprise-Backups.
# 2. Wie Verification funktioniert
Der blockbasierte Vergleich.
Moderne Backup-Systeme (Proxmox Backup Server, Veeam, Borg) speichern Hashes auf verschiedenen Ebenen:
- Block-Ebene: Jeder Chunk bekommt einen Hash.
- Datei-Ebene: Das Manifest (Index) enthält die Hashes aller Chunks.
- Repository-Ebene: Ein Master-Hash schützt den gesamten Index.
# Der Verifikations-Prozess
Der Backup-Server liest einen Block von der Disk -> Berechnet den Hash neu -> Vergleicht mit dem gespeicherten Hash.
- Mismatch: Bit-Rot oder Hardwarefehler erkannt!
# 3. Deep Dive: Bit-Rot & Hardware-Fallen
Der Feind im Blech.
Ursachen für schleichende Datenkorruption:
- Cosmic Rays: Hochenergetische Teilchen können Bits im RAM oder auf der Disk kippen.
- Verschleiß: Magnetische Ladungen auf HDDs lassen über 5-10 Jahre nach.
- Controller-Bugs: Fehlerhafte Firmware schreibt Daten falsch auf die Disk, meldet aber “Erfolg”.
# 4. Day-2 Operations: Automatisierte Integritätstests
Regelmäßigkeit schützt.
# Zeitplan für Verifikationen
- Neuer Backup-Stand: Sofortige Verifizierung nach dem Schreiben (“Read back after write”).
- Bestand: Rollierende Prüfung des gesamten Repositories (z.B. alle 30 Tage).
- ZFS Scrubbing: Nutzen Sie zusätzlich den ZFS-Integritätscheck (Artikel 682), um Fehler bereits auf Dateisystem-Ebene zu heilen.
# 5. Troubleshooting & “War Stories”
Wenn die Mathematik ‘Nein’ sagt.
# Top 3 Fehlerbilder
-
Symptom: “Hash Mismatch” Fehlermeldung beim Restore.
- Ursache: Bit-Rot auf dem Backup-Target oder RAM-Fehler beim Lesen.
- Lösung: Nutzen Sie ECC-RAM im Backup-Server, um Fehler bei der Berechnung auszuschließen.
-
Symptom: Verifizierung dauert Wochen.
- Lösung: Parallelisierung erhöhen. Nutzen Sie SSDs für die Metadaten-Datenbank (Artikel 630), um den Lookup der Hashes zu beschleunigen.
-
Symptom: Fehler “Bad Chunks” im PBS.
- Aktion: Snapshots löschen und neu sichern. Wenn der Fehler erneut auftritt, ist das Quelldateisystem bereits korrupt.
# “War Story”: Das “Silent” Raid-Problem
Ein Admin betrieb ein billiges RAID-5 System für seine Backups. Ein RAID-Controller-Bug sorgte dafür, dass bei jedem Rebuild nach einem Disk-Tausch 0.01% der Daten falsch berechnet wurden.
Die Entdeckung: Erst nach zwei Jahren (und drei Disk-Täuschen) fielen die Fehler durch einen manuellen checksum Vergleich auf. 50% der Langzeit-Archive waren Schrott.
Lehre: Verlassen Sie sich niemals auf den RAID-Controller allein. Nutzen Sie eine Backup-Software, die End-to-End Hashing vom Client bis zum Ziel-Medium durchführt.
# 6. Monitoring & Reporting
Integritäts-Audit.
# Die ‘Integrity Rate’
Überwachen Sie:
Last Verification Datepro Backup-Gruppe.Verification Error Count. (Muss immer 0 sein!).
# 7. Fazit & Empfehlung
Mathematische Integrität ist die einzige Basis für Vertrauen im Backup.
- Empfehlung: Nutzen Sie den Proxmox Backup Server (PBS). Sein Design ist konsequent um SHA-256 Hashes herum gebaut.
- Wichtig: Führen Sie einen ZFS Scrub und eine Backup-Verifizierung phasenversetzt durch, um die Belastung der Disks zu verteilen.
# Anhang: Cheatsheet (Linux Hashing)
| Aufgabe | Befehl |
|---|---|
| Datei hashen | sha256sum backup.img |
| Verzeichnis prüfen | find . -type f -exec sha256sum {} + > manifest.txt |
| Hashes validieren | sha256sum -c manifest.txt |
| PBS Verify | proxmox-backup-manager verify --repository ... |