Snapraid

Änderungsstand: 2019-08-17

Momentan verwende ich meine Datenplatten auf Ext.4 und Snapraid in Verbindung mit UnionFilesystem (mergerfs).

Vorteile dieser Konstellation:

  • Mit beliebig vielen Platten erweiterbar
  • Einfaches Management über das Webgui von OMV4
  • Flexibel – Die Parity-Platte kann auch an einen USB-Anschluss sein
  • Es läuft nur die Platte, von welcher die Daten gelesen werden (im normalen Raid müssen erst alle Platten hochfahren, bevor da was geschieht – das zieht immer mehr Strom und der Plattenverschleiß ist gewissermaßen höher)
  • Im Bedarfsfall können die Platten auch an einen anderen PC ausgelesen werden
  • Reihenfolge der angesteckten Platten relativ egal (wichtig z.B. beim Wechsel des Boards)

Nachteile dieser Konstallation:

  • Die Datenwiederherstellung nach einem Plattendefekt dauert eine gefühlte Ewigkeit (das geht bei ZFS viel schneller)
  • Besser geeignet für Achivserver oder Medienserver, wo die Daten nicht so oft geändert werden
  • Die Datensicherheit ist immer erst nach einem „Sync“ gegeben (Raid hat die Datensicherheit quasi „On Fly“ (im ZFS kann man zusätzlich noch Snapshots erstellen, ohne dafür Plugins zu installieren)

Die wohl am ausführlichsten und gleichzeitig am verständlichsten geschriebene Anleitung, was ein Snapraid ist und wie man es im OMV konfiguriert, seht ihr auf Technikaffe. Hier geht’s zur Anleitung.

Zur Info: Für meine Zwecke habe ich nur das Snapraid ohne UnionFilesystem installiert und konfiguriert ((*) nicht mehr aktuell – alles funktioniert wieder). Auf meinem J5005 gab es kurzzeitig mit dem UnionFilesystem Probleme, dass erstellte Ordnerinhalte nach einem Reboot nicht mehr angezeigt wurden.

(*) PS: Ich habe (mehr durch Zufall) das Problem nun identifizieren können. Unwissenheit lieferte das Problem. Quelle: https://github.com/trapexit/mergerfs

mergerfs does not support the copy-on-write (CoW) behavior found in aufs and overlayfs. You can not mount a read-only filesystem and write to it. However, mergerfs will ignore read-only drives when creating new files so you can mix read-write and read-only drives

mergerfs unterstützt nicht das Copy-on-Write-Verhalten (CoW) von aufs und overlayfs. Sie können kein schreibgeschütztes Dateisystem bereitstellen und darauf schreiben. Mergerfs ignoriert jedoch schreibgeschützte Laufwerke beim Erstellen neuer Dateien, sodass Sie schreibgeschützte und schreibgeschützte Laufwerke mischen können

Erster Plattendefekt

2019-06-05

Heute hatte ich an meinen OMV 4 Hauptserver den ersten Plattendefekt zu verzeichnen. Es handelte sich um eine Datenplatte. Zur Wiederherstellung nutzte ich die Beschreibung, wie sie auf Technikaffe (Link siehe ganz oben) aufgeführt war. Auf die Gefahr hin, das die Beschreibung nicht für Datenplatten funktionieren soll (siehe Kommentare), ich aber nach dem gesammelten Wissen, wie Snapraid aufgebaut ist und funktioniert, keinen Fehler finden konnte, habe ich die ersten 11 Punkte abgearbeitet. Die Wiederherstellung dauerte aber Ewig. Jetzt noch die Daten überprüft, was auch nochmal Ewig dauerte. Ich hoffe nur, da ich momentan keinen Pool verwende, dass es mit der UUID der Platte keine Erkennungsprobleme gibt (*1). Ich berichte weiter, wenn alles soweit erledigt ist. ! Ist der SnapRaid-Job einmal angestoßen, ist es auch nicht schlimm, wenn das Web-Inerface sich zwischenzeitlich abschaltet. Der Job läuft weiter. Solange der Job läuft, kann keine weitere SnapRaid-Aufgabe erstellt werden.

(*1) Natürlich ist das so. Alle Daten wurden zwar ohne Probleme wiederhergestellt, aber in meinen Freigabeordner nicht angezeigt, weil die Kennung der Platte anders ist. Das die Daten da sind, sieht man im /srv – Verzeichnis. Da sind die Festplatten inkl. Daten. Ich werde, wenn die Prüfung beendet ist, versuchen, einen Pool Nachträglich zu erstellen oder Hardlinks setzen oder die UUID-Kennung anpassen. Da ich das alles noch nicht gemacht habe, muss ich mich erst mal belesen und Testen. Bericht folgt (*2).

(*2) Die Lösung des Problems schien dann doch einfacher als gedacht. Einfach die Freigabeordner, welche der alten Platte zugewiesen waren, im OMV auf die neue Platte zuweisen. So jedenfalls die Theorie. Ging aber nicht. Also erst die Referenzierung bei allen Ordnern, die die alte Zuweisung hatten, entfernt (SMB-Freigaben). Ging immer noch nicht. Freigabe löschen – ohne die Daten zu löschen, um diese dann wieder anzulegen – ging auch nicht. Er kann die Freigaben nicht löschen, wenn die Platte nicht mehr da ist. Wie bekommt man die Sachen jetzt raus? Die alte Platte löschen geht auch nicht, weil diese noch durch die alten Ordner referenziert ist. Ich beschreibe das jetzt ausführlich an meinem Beispiel.

Mittels MidnightComander in /sharedfolders die Ordner appdata, mediathek1 und NextcloudData löschen.

Dann /etc/openmediavault/config.xml mit nano editieren und die 3 Ordner löschen. Für den Ordner NextcloudData wären das diese aufgeführten Zeilen. Für die anderen beiden Ordner das auch löschen. Achtung! Nicht mehr und nicht weniger! Dieser Block gehört zu NextcloudData. Die anderen beiden sehen ähnlich aus.

  <sharedfolder>
    <uuid>763bfd90-58aa-4105-9a11-58c318a680d9</uuid>
    <name>NextcloudData</name>
    <comment></comment>
    <mntentref>89099f72-79d4-49d8-b800-d63b61378f58</mntentref>
    <reldirpath>NextcloudData/</reldirpath>
    <privileges></privileges>
  </sharedfolder>

Wenn fertig, Strg-x, J, Enter

Dann OMV im Browser aktualisieren und die Ordner sind weg. Jetzt kann man die alte Platte im Dateisystem entfernen. – Serverneustart

Anschließend die Freigaben neu erstellen, mit Pfadangabe der neuen Platte. Vorhandene Ordner werden dann eingebunden. Achtung! Die Freigabeberechtigung muss neu erteilt werden! Dann SMB-Freigabe setzen (wenn benötigt) und wir sind fertig.

Wenn alles erledigt, einen SnapRaid-Sync starten und alles ist wieder wie gehabt.

Das ganze Wirrwar tritt bei einem erstellten Pool wahrscheinlich nicht auf. Den hatte ich zu dem Zeitpunkt aber leider nicht.

Auszug der nötigen Schritte, inspiriert von Technikaffe, um eine defekte Platte zu ersetzen.

  • Server herunterfahren und defekte mit neuer Festplatte ersetzen (da ich Plug&Play im Bios eingestellt und ich meine Platten beschriftet habe, kann bei mir der Server bei Daten- und Paritätsplattentausch auch in Betrieb sein)
  • Neue Festplatte unter „Dateisysteme“ mit EXT4 einrichten , Name = Name der ausgefallenen Festplatte + Zusatz wie „Austausch“
  • Neue Platte unter „Dateisysteme“ einbinden
  • Neue Platte in SnapRAID hinzufügen, mit „Inhalt“ und „Parität“ bzw. „Inhalt“ und „Daten“, je nachdem ob eine Paritäts- oder Datenfestplatte ersetzt wurde
  • Alte (defekte) Platte aus SnapRAID entfernen
  • In SnapRAID auf den Reiter „Konfiguration“ wechseln und den „Aktualisieren“ Button klicken um die neue Konfiguration zu laden
  • In SnapRAID nun auf „Werkzeuge“ klicken und „Reparieren“ auswählen (dieser Vorgang dauert Ewig (4 TB Platte ca. 9 Stunden)
  • Nach der Wiederherstellung alle Dateien noch einmal „Prüfen“ (Plant dafür auch nochmal ca. 2-3 Stunden ein)
  • Abschließend muss ein neuer „Sync“ Job ausgeführt werden um den Verbund zu aktualisieren. Dieser Sync sollte ziemlich schnell gehen, da alle Dateien nach der Wiederherstellung aktuell sind
  • Über „Status nochmal „Prüfen“, ob alles in Ordnung ist (hab`ich weggelassen, da der Sync-Job OK meldete und nach Prüfung von mir, alle Daten wieder vorhanden waren)
  • Unter „Dateisysteme“ die alte Platte löschen
  • Wurde eine Paritätsplatte ersetzt, sind wir hier fertig. Handelte es sich um eine Datenplatte, muss diese nun dem AUFS-Pool hinzufügt werden und die alte Festplatte aus dem Pool entfernt werden
Erstelle deine Website mit WordPress.com
Jetzt starten