Beim Durchlauf von z.B.
restic forget --keep-last 7 --prune
kann es mitunter zu einer Fehlermeldung wie diese kommen:
repacking packs [8:38] 45.74% 1537 / 3163 packs repacked Fatal: StreamPack: read blob <data/ba13113d> from 87c8e881: wrong data returned, hash is 16c7ec8e96fbbdc12bcb59353690dba2e700ad466d39992e8bb38ce8586348ce
Die Ursachen können verschieden sein, wie zum Beispiel:
- Übertragungsfehler
- Verschlüsselungs- bzw. Berechnungsfehler
- Ein fehlerhaftes Dateisystem am Backup-Ziel
- Fehlerhafte Hardware (CPU, RAM, Storage) sowohl an der Quelle als auch am Ziel
Als erste Maßnahme kann man mit
restic check
das Repository überprüfen. In diesem Praxis-Fall sah die Ausgabe (gekürzt) so aus:
... pack efe51be19b470755e6d235e2b594d70c754a73ec7f879af119774bd560ab2736: not referenced in any index ... 902 additional files were found in the repo, which likely contain duplicate data. This is non-critical, you can run `restic prune` to correct this. check snapshots, trees and blobs [0:02] 100.00% 7 / 7 snapshots no errors were found
Zwar soweit keine Fehler, dafür jede Menge (ich nenne es Mal) “Reste”.
Interessant ist wenn man erneut “prune” laufen lässt, das ggf. sich die Datei-Anzahl erhöht und der genannte Fehler mitunter später auftritt. Hier waren es dann 950 Dateien und der Fehler kam bei 48.00%. Denkbar ist das der Fehler nach ausreichend vielen Durchläufen im weitesten Sinne verschwindet.
Möchte man es vorher lösen oder weiter eingrenzen hilft dieser Befehl:
restic find --show-pack-id --blob ba13113d
Den Blob (die Kennung am Ende) muss man natürlich anpassen. Die Ausgabe sieht wie folgt aus:
repository ff4f8a08 opened (version 2, compression level auto) [0:01] 100.00% 35 / 35 index files loaded Found blob ba13113dd19d456aea24b8298eff41f8a5c63d302484cd3810d657586382d61a ... in file /E/ISOs/SRV03/Setup/apps.iso (tree 21bb2e488ba73f1c07fcd9786d2cebaa8dfb7d9656dd0ac622e81d1017da3b0f) ... in snapshot 42505ffd (2024-01-18 04:47:22) Object belongs to pack 87c8e881bd56459425f67e53c6ecf130abf7ae8f8ac4d7d4060806be5d4a1887 ... Pack 87c8e881: <Blob (data) ba13113d, offset 8501066, length 46070, uncompressed length 549050>
Hier sieht man genau welche Dateien und welche Snapshots es betrifft.
Um den Fehler an sich und die “Reste” los zu werden kann es helfen, den Index neu aufbauen zu lassen:
restic repair index
Anschließend prüft man noch als mit
restic check
Es sollten keine “Reste” mehr vorhanden sein. Der oder die nächsten prune-Vorgänge sollten dann ebenfalls ohne Fehler durchlaufen.
Weitere Möglichkeiten den Fehler zu beheben sind:
- Den oder die betroffenen Snapshots löschen.
- Sofern vorhanden den betroffenen Blob aus einem Backup wiederherstellen.
- Das Repository komplett zu leeren oder vollständig neu zu erstellen.
Quellen
restic – Docs – Troubleshooting – Repair the index
restic – Forum – Blob returned invalid hash check error
restic – Forum – Help debugging a blob invalid hash

Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.