Quantcast
Channel: Andy – Andy's Blog
Viewing all articles
Browse latest Browse all 2179

restic: Fatal: StreamPack: read blob…

$
0
0

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


Viewing all articles
Browse latest Browse all 2179

Trending Articles