Hilfe – Was soll ich verwenden?

Änderungsstand: 2020-01-06

Oder – was ist wichtig für mich? Verschiedene Argumente können ausschlaggebend sein. Einige wären:

  1. Ich benötige den meisten verfügbaren Speicherplatz, den meine Platten hergeben, um meine Mediensammlung aufzubewahren und um das NAS gleichzeitig als Fileserver zu verwenden. Um Externe Backups kümmere ich mich selbst. Ausfallsicherheit und Datenintegrität sind nicht wichtig.
  2. Ich benötige eine hohe Datenintegrität. Mir ist bewusst, dass dadurch der verfügbare Plattenplatz nicht komplett zur Verfügung steht. Ausfallsicherheit ist nicht so wichtig.
  3. Eine Ausfallsicherheit einer oder mehrer Platten sind mir wichtig.
  4. Ich verwende Datenbanken. Eine schnelle Reaktionszeit ist mir wichtig.
  5. Ich verwende Medienserver, Web- und Datenbankanwendungen und will Datenintegrität und Ausfallsicherheit.
  6. Ich verwende einen Raspi. Gibt`s da auch Möglichkeiten?

Eines Vorweg. Ich rede hier von einem Hobby-Server im privaten Umfeld. Wer regelmäßig Backups macht und „nur“ einen Medienserver betreibt, wem es egal ist, dass das Restore nach einem Plattendefekt schon mal paar Stunden dauern kann, wer auf Datenintegrität keinen Wert legt, weil ja regelmäßige Backups gemacht werden und nicht ständig neue Daten erstellt werden, der sollte das System so belassen wie es ist. Aber ich merke schon beim Schreiben, das das so eigentlich keiner will… Zur Info: Trotz Datenintegrität sollten immer externe Backups gemacht werden. Nach einem Blitzschaden, Wasserschaden, Brand oder Diebstahl nützt die beste Datenintegrität nichts!

Daseinsberechtigung haben verschiedene Kombinationen. Vieles hängt allerdings vom Anwender und dessen Wissen in der Materie ab. Die Eierlegende Wollmilchsau gibt es nicht – oder vielleicht doch?

Anfänger, die ein OMV zum ersten mal installieren, kümmern sich nicht allzu sehr, wie das Ganze funktioniert, sondern wollen eigentlich nur, dass das eingerichtete funktioniert. Die ersten Hürden nach der Installation, einfach nur funktionierende Docker zu erstellen, sind für die Meisten schon fast unüberwindbar. Doch die Vielseitigkeit von OMV macht genau das aus, warum Nutzer dazu greifen. Nach den ersten Gehversuchen und tagelangen Recherchen werden meist die ersten Probleme überwunden und man fängt an, sich Gedanken über Backups, Dateisystem und diverse andere Sachen zu machen. Über das Thema „Backups“ habe ich schon versucht, den einen oder anderen, Hilfestellung zu leisten. Doch wie sieht es mit dem Dateisystem aus? Unzählig viele Seiten, die darüber berichten, bringen eigentlich mehr Wirrwar als Hilfe. Hier ein Versuch, nach meinen derzeitigen Tests, etwas Licht ins Dunkel zu bringen. Noch einmal zur Info. Ich bin kein Profi, mein Wissensstand beruft sich allein auf meine eigenen Tests und einigen Recherchen beim Suchmaschinenanbieter meines Vertrauens.

Welche Anwendungsbereiche im privaten Umfeld sollen eigentlich abgedeckt werden? Hier einige Beispiele:

  • Medienserver
  • Archivserver
  • Datenbankanwendungen (z.B. Private Cloud, Webserver)
  • Backupserver

Von Ext.4 oder BTRFS als Dateisystemtyp haben die meisten schon was gehört. Ein Raid ist vielleicht auch kein Fremdwort mehr. Bei ZFS, fuse.mergerfs oder Snapraid kommen dann meist schon Fragezeichen.

Die wohl einfachste Möglichkeit, sein OMV zu gestalten, ist eine normale Installation, Benutzer und Freigabeordner anzulegen und fertig. Das Dateisystem ist meist Ext.4. Hat man nur eine Datenplatte, ist man schnell damit fertig. Regelmäßige Backups regeln die Verfügbarkeit der Daten, nach einem Crash. Doch OMV bietet noch viel viel mehr.

UnionFilesystem (mergerfs):

Das UnionFilesystem ist ein Overlay-System, mit dem man mehrere Platten zu einer zusammenführen kann. Dabei wird als Dateisystem der Platten Ext.4 empfohlen (ich verwende seit OMV5 jedoch BTRFS und kann keine Probleme feststellen). Bsp.: Man hat z.B. 3 Platten mit jeweils 4TB. Im normalen Dateisystem würden diese 3 Platten dann einzeln angezeigt werden und man kann diese jeweils befüllen. Das UnionFilesystem legt ein Overlay auf diese Platten und man bekommt nur eine Platte mit 12TB angezeigt. Die gängigsten Einstellungen sind hier mfs (Most Free Space) oder empfs (existing path mfs). Bei MFS werden die Daten dann jeweils nach Füllstand der Platten gleichermaßen aufgeteilt. Empfs bewirkt, dass, wenn schon ein vorhandener Ordner angelegt wurde und dieser mit Daten befüllt wird, diese dann auch in diesem auf dieser Platte bleiben und weiter befüllt werden. Ist die Platte dann voll, nimmt das System dann eine andere. Sehr von Vorteil, wenn man Musik, Bilder oder Filme ablegt. Ich verwende seit geraumer Zeit empfs.

In Verbindung mit UnionFilesystem kann man Snapraid verwenden. Bei 3 Datenplatten verhält sich Snapraid ähnlich (ganz grob) einem Raid5. Somit erhält man eine gewisse Ausfallsicherheit. Nur muss bei Snapraid ein Sync-Job ausgelöst werden, damit die Daten inkrementell abgeglichen werden. In meinen Fall werden 2 Datenplatten mit einer Parity-Platte verwendet. Bsp.: 2x 4TB Platten werden als Datenplatten konfiguriert und eine 4TB Platte als Parity-Platte. Somit habe ich insgesamt 8 TB zur freien Verfügung und wenn eine Platte defekt geht, kann ich diese austauschen und nach einer Wiederherstellung sind alle Daten wieder vorhanden. Allerdings dauert dieser Vorgang bei Verwendung von Ext4-Dateisystem sehr lange, was für mich ein gewisser Nachteil ist. Der Vorteil für mich, dass das UnionFilesystem so konzipiert ist, dass bei einem Datenzugriff nur die eine Platte anläuft, auf welcher die Daten liegen. Das spart auf Dauer Stromkosten und die Platten werden nicht gleichzeitig strapaziert, was bei einem handelsüblichen Raid5 nicht der Fall wäre. Die Konstellation von UnionFilesystem und Snapraid findet oft bei Medienservern und Archivservern Verwendung. Wer jetzt schon Interesse an UnionFilesystem in Verbindung mit Snapraid hat, kann hier weiterlesen.

ZFS:

ZFS ist Poolverwaltung und Dateisystem in einem. Grob gesagt – Dateisystem, Volumenmanager und Raidcontroller. Allerding kann das im Vorfeld etwas ins Geld gehen, da besondere Hardwareanforderungen sehr von Vorteil sind. Wer sich ein ZFS erstellt, besorgt sich im Normalfall auch die nötige Hardware. ZFS erstellt Datasets. Dabei ist es egal, ob eine oder mehrere Festplatten verwendet werden. Die Konfiguration ist etwas schwieriger, als es bei UnionFilesystem mit Snapraid der Fall ist. Inkrementelle Snapshots als Backupmöglichkeit ist integriert und kann mittels Cron-Job ausgelöst werden. Somit sind auch versehentlich gelöschte Daten wiederherstellbar. Ein Nachteil ist momentan für mich, dass ich den Proxmox-Kernel verwenden muss (Stand 08/2019 auf OMV4). Weiterhin kann man nicht einfach eine weitere Platte einfügen, wenn der Speicherplatz voll wird. Das kann UnionFilesystem besser. Aber das wäre ein Vergleich mit Äpfel und Birnen. ZFS ist ein ausgereiftestes System, was ich mir einst für OMV5 vorstellte, aber dann doch nicht verwende. ZFS kann man durchaus für alle Anwendungsbereiche verwenden, aber so richtig Vorteile erzielt man bei Datenbankanwendungen. Wer mehr erfahren möchte, wird hier bedient.

Raid und LVM:

Eine sehr übersichtliche Beschreibung zu LVM gibt es bei Wikipedia. Ein LVM (Logisches Volumen Management) sollte immer als Unterbau ein Raid-System verwenden um Datenverlust vorzubeugen.

Welche vereinfachten Raid-Möglichkeiten gibt es?

  • Raid 0 (Stripe, keine Redunanz, mehrere Platten werden zu einer Zusammengeführt und und der Schreibvorgang wird auf allen gleichzeitig aufgeteilt – Sehr schnell, aber bei einem Defekt von nur einer Platte sind alle Daten weg)
  • Raid 1 (Spiegelserver, volle Redunanz, kein Geschwindigkeitsvorteil)
  • Raid 5 (Datendurchsatz erhöht, gewisse Redunanz (1 Platte) vorhanden, bei Ausfall einer Platte kann beim Wiederherstellungsprozess die nächste defekt gehen, weil ein sehr aufwändiger Lese-Schreib-Zugriff entsteht)
  • Raid 6 (ähnlich Raid 5, aber 2 Platten Redunanz)
  • Raid 10 (Zusammenführung von 2x Raid 1 zu einem Raid 0)

Ein, meiner Meinung nach, sehr guter Raid-Modus ist Raid 10. Dabei werden 2x auf jeweils 2 Platten ein Raid 1 erstellt und diese dann mittels Raid 0 Zusammengeführt. Sehr ausführlich und verständlich wird das Raid im allgemeinen auf Wikipedia erklärt. Wer für sein OMV Interesse hat, ließt hier weiter.

Sollte man einen dieser Raids überhaupt noch für OMV4 im privaten Bereich verwenden? Ich denke, seit Einführung von ZFS verwenden immer weniger Leute ein klassisches Raid. Die Handhabung und Konfigurierbarkeit ist bei ZFS einfach besser. Aber auch ZFS hat seine Schattenseiten. Ich persönlich sehe das klassische Raid mit LVM immer noch vor ZFS (das ist aber subjektiv). Man benötigt keinen extra dafür ausgelegten Kernel und mit Raid und LVM kann man noch weiter in die Materie eintauchen. Auch habe ich bei meinem System, in Verbindung mit ZFS, Probleme mit der Geschwindigkeit der Datenübertragung im SMB-Bereich. Ich habe das nicht weiter verfolgt, schätze aber, dass es an der Netzwerkkarke und der derzeit verwendeten Treiber liegen könnte.

Was ist auf dem Raspi verfügbar?

ZFS und auch Raid mit LVM sind theoretisch auf dem Raspi realisierbar. Allerdings begrenzt da mitunder der USB-Port die Geschwindigkeit des machbaren. Getestet habe ich das allerdings (noch) nicht. Snapraid in Verbindung mit Unionfilesystem ist wahrscheinlich nicht möglich, da normalerweise keine USB-Anschlüsse bei Datenplatten verweendet werden können. Villeicht teste ich das mal durch. Priorität hat das aber definitiv nicht.

Derzeitiges Fazit:

Anfänger und auch Fortgeschrittene mit max. 3 Datenplatten rate ich zu UnionFilesystem und Snapraid mit 2 Datenplatten und einer Parity-Platte. Einfach zu erstellen, einfach erweiterbar und leicht konfigurierbar. Bei 4 Datenplatten kann man sich Gedanken machen, vielleicht auf ein klassisches Raid 10 in Verbindung mit LVM zu setzen, wobei aber auch UnionFilesystem mit Snapraid noch machbar ist. Hier sollte man aber spätestens ab der 6. Platte eine 2. Parity-Platte verwenden.

Fortgeschrittene User, die „Schmerzfrei“ sind und die den Mehraufwand in Kauf nehmen, gezielt Datenbankanwendungen einsetzen, eine hohe Datenintegrität verlangen, sollten sich Raid und LVM ansehen oder sich an ZFS versuchen. Dank ZFS erhält man eine Moderne Möglichkeit, alle Bereiche abzudecken. Bedenken sollte man, dass immer alle Platten hochdrehen (wie auch bei einem handelsüblichen Raid), wenn man auf Daten zugreift, aber dafür immer eine sofortige Datensicherheit besteht. Bei Snapraid besteht diese erst nach dem nächsten Sync-Job.

Mein derzeitiges System basiert auf OMV5, Union-Filesystem (mergerfs) und Snapraid. Und da werde ich so schnell nichts daran ändern.