ich möchte versuchen, eine kurze Rückmeldung zu geben, obwohl ich da nun seit vielen Tagen am herumprobieren bin.
Gleichzeitig, oder vorab habe ich aber noch ein Problem, das am ehesten durch einen Fehler von mir verursacht worden ist und das ich gar nicht durchblicke und nicht lösen kann. Es sind nämlich ca 15 Dateien mit permanenten Checksumme-Fehlern vorhanden und ich bekomme die nicht weg.
Am einfachsten zeige ich mal das erste File aus der zpool status Ausgabe:
Code:
errors: Permanent errors have been detected in the following files:
//usr/home/projekt-x/21-12-14 - arte - Krimi_im_kreml.ts
mir fällt auf, dass der Pfad nicht mit / sondern mit // beginnt und das ist bei allen folgenden Dateien auch der Fall. Das hier gezeigte ist ein Film, den ich natürlich eigentlich nicht brauche (obwohl er bald nach Veröffentlichung aus der Mediathek genommen wurde) und den ich natürlich auch an einem besseren Ort gespeichert habe. Deshalb machte es mir kein Herzblut, den zu löschen.
Code:
pit@Celsius /home/pit:-# ll "//usr/home/projekt-x/21-12-14 - arte - Krimi_im_kreml.ts"
ls: //usr/home/projekt-x/21-12-14 - arte - Krimi_im_kreml.ts: No such file or directory
Danach ein zpool clear, zpool online und erneuter scrub: zeigt wieder die Datei mit permanenten Fehlern, wie im ersten Beispiel. Ein find über / zeigt zwar zwei Dateien, aber außerhalb des Pools und die haben auch gleiche Checksumme und funktionieren auch. Alle angemeckerten dateien, die ich überprüfen kann, funktionieren und teilweise sind da Virtual-Box-Disks dabei, die ich gestern noch benutzt und auch verändert habe.
Außer diesen 15 Dateien gab es zunächst einige mehr, alle aus einem externen Speicher zurück gespielt und gut zu finden und zu lösen. Nur mit diesen Doppel // Dingern tappe ich im Finstern.
Ich hätte sollen alles neu machen!
Warum doch nicht?
Zunächst wohl mein Charakter. Ich wollte es einfach anders versuchen, obwohl meine komplette Backup-Strategie darauf ausgelegt ist, im fehlerfall das System neu zu machen und die gesicherten Daten zurück zu spielen. Das ist einfach vernünftig, aber Mangels Übung "im Neumachen" fürchtete ich diesen Schritt und hatte sodann auch die Hoffnung bekommen, es einfacher haben zu können.
Sodann wollte ich aber "Neumachen" auch mit neuer HW verbinden und hier kam mir das Angebot eines Bekannten eines Bekannten meines Sohnes in die Quere, der mir gute HW billig verkaufen wollte, dann aber wohl plötzlich ins Vor-Sommerloch gefallen ist. Seit Wochen höre ich nichts mehr und warte dennoch eine kurze Weile weiter, weil sich das nun mal so gehört.
Also, doch nicht alles Neu, alles noch beim Alten.
Aber, ich wollte ja und machte deshalb eine zusätzliche Sicherung nach der Anderen, nur für den Fall der Fälle und um eben gerüstet zu sein.
Eine Möglichkeit, die mir weiter oben schon mal durch den Kopf gegangen war, ist ja ein RollBack.
Mhhm. Bevor ich das probieren wollte, dachte ich aber, kann ich auch den "last known good" snap auch einfach mal auf ein externes Medium legen und erst mal dort betrachten. Mittels zfs send | recv transportierte ich den kompletten Snap und der bestand alle Tests. zpool status und zdb waren zufrieden.
Das überraschte mich, aber es gab mir nun auch einen externen Pool, den ich auch benutzen konnte.
Mhhm. Das kann ich doch auch mal Spaßeshalber mit einem aktuellen Snap probieren? Den "last known good" hatte ich nun ja sicher. Also mal alle älteren gelöscht, einen aktuellen angelegt und diesen gesendet: ebenfalls alles gut!
Das überraschte mich dann noch mehr!
Es sieht so aus, als hätte ich hier eine sehr einfache Möglichkeit gefunden, alle Daten zu sichern und einen heilen neuen Pool aus dem kaputten zu generieren.
Bevor ich das jedoch einsetzen wollte, testete ich den Pool noch mehrfach und es zeigten sich zunehmend mehr Fehler. Das Medium war eine Micro-SD-HC-Karte in einem USB-Reader und neu. Die erste Prüfung hatte gar keinen Fehler gezeigt und am nächsten Tag waren es schon zwei Dateien und dann drei, nun fünf, aber bislang auf dem Stand stabil. Seltsam: alle fünf sind Virtual-Disks, also relativ große Dateien.
Trotzdem entmutigte mich das zunächst, dieses Medium zu nutzen und stattdessen setzte ich den "last known good" ein, der nach wie vor keine Fehler zeigte und die zuvor gemachten zusätzlichen und deshalb einige Stunden jüngere Sicherungen, um damit meinen Root-Pool neu aufzusetzen.
Das liest sich schön einfach. Ihr müsst aber bedenken, dass ich nicht in der Materie drin stecke und keine Erfahrung habe. Deshalb passierten mir viele, teilweise banale Fehler (falsche Pfadangaben, um nur mal eines zu nennen). Aber ich stolperte auch darüber, dass die externen (USB) Medien einfach gelegentlich mal aussetzten, bzw Aussetzer produzierten. Weiter oben hatte ich ja ein Problem an einem USB-Anschluss festgestellt und traute mich schließlich nur noch mit einem einzigen USB-Anschluss zu arbeiten. Aber auch bei Überprüfungen auf einem anderen System musste ich diese gelegentlichen Aussetzer feststellen. Die Platten werden langsam, dann stehen sie, gehen in Standby und anstatt sich ordentlich wach zu rütteln, geben sie scheinbar ganz auf und liefern dann keine Daten mehr. Das kommt natürlich nicht immer vor, aber wenn man über Nacht Daten zurück spielen wollte und am Morgen merkt, dass es irgendwie gar nicht weiter geht. ist das eben schon doof und verunsichert zusätzlich.
Um die abenteuerliche Geschichte nicht auszuweiten, nochmal zusammen gefasst.
Ich komme mit dem Problem von oben gerade nicht weiter, kann aber gut mit meinem System arbeiten und es zeigen sich ansonsten keine Fehler. Eine aktuelle Datensicherung habe ich bisher nicht gemacht, weil ich mir wegen der festgestellten Fehler im Pool noch ein wenig Sorgen mache.
Erstaunlicherweise zeigte der Klon des beschädigten Pools aus einem aktuellen Snap mittels zfs send | recv auf ein externes Medium gespielt (zunächst) gar keine Fehler. Er zeigt auch nun keine Fehler beim Scan mit zdb -bc.