UNRAID – Der (vielleicht) beste Homeserver…

... und die mit Abstand beste Erfindung seit geschnittenen Brot. 

Bastelecke > UNRAID – Der (vielleicht) beste Homeserver

Datensicherheit, das ist doch nur etwas für Computerfreaks und Nerds. – Stimmt nicht! Heute leben wir alle mehr oder weniger digital. Seien es geschriebene Briefe, oder auch nur die Fotosammlung, irgendwelche Daten sammeln wir alle auf den Speichern unserer Rechner. Und um deren Sicherheit machen wir uns meist nicht die meisten Gedanken; zumindest solange bis es oft zu spät ist.

„Es gibt zwei Arten von Festplatten: solche, die bereits kaputt sind, und solche, die es bald sein werden.“

Heißt also: Jede Festplatte, und möge sie auch noch so toll, neu und teuer sein, wird irgendwann das Zeitliche segnen. Die Einen früher, die Anderen später. Einige Ausfälle kündigen sich durch seltsame Geräusche an, andere wiederum kommen still und plötzlich. Aber irgendwann ist es so weit und sie ist tot. Und mit ihr auch sämtliche Daten, welche auf ihr gespeichert waren. Vieles kann man wieder beschaffen oder neu herunterladen. Aber gewisse Dinge, wie zum Beispiel die selbst erstellte Fotosammlung, das Hochzeitsvideo oder die Kinderfotos der Lieben, sind dann unwiederbringlich verloren, insofern man nicht regelmäßig Backups anlegt. Und mal Hand aufs Herz, wer macht das schon?

Wäre es da nicht schon, gäbe es da ein Gerät, was man einfach in die Ecke stellen und fast komplett vergessen kann? Was sich selbstständig um die Datensicherheit kümmert, bescheid sagt wenn eine Festplatte ausfällt und die Daten darauf dennoch wiederholen kann? Und was sich vielleicht auch noch mit andern Diensten erweitern ließe, wie zum Beispiel einen eigenen Mediaserver, eine Dokumentenverwaltung und vieles mehr?

Gibt es nicht? – Doch, gibt es! Nennt sich UNRAID. – Aber langsam, alles der Reihe nach.


Was ist ein RAID?

In der Computertechnik ist ein RAID-Verbund einfach ausgedrückt ein Zusammenschluss mehrerer Festplatten zu einem einzigen Laufwerk. Abhängig davon wie man die Daten auf die verschiedenen Festplatten schreibt, bekommt man entweder ein größeres, schnelleres Laufwerk, oder eine höhere Datensicherheit. Hier gibt es eine Vielzahl verschiedener RAID-Kombinationen. Die geläufigsten sind RAID-0, RAID-1, RAID-01 und RAID-5.

  • RAID-0: Die Datenblöcke werden auf mehrere Festplatten verteilt, wobei immer nur ein Datenblock, ohne Sicherheitskopie, auf einer Festplatte liegt. Hier addieren sich die Kapazitäten der einzelnen Festplatten. Fasst man so zum Beispiel 3 Festplatten mit je 1TB Kapazität zusammen, erhält man ein Laufwerk mit einer Größe von 3TB. Dieses Laufwerk ist auch theoretisch drei mal so schnell, da eine Datei meist auf mehrere Blöcke aufgeteilt ist und somit auf alle Festplatten verteilt wird. Somit addieren sich auch die Lese- und Schreibgeschwindigkeiten. Nachteil des Ganzen: Fällt eine der Festplatten aus, bricht das ganze Kartenhaus zusammen und man verliert alles. Und umso mehr Festplatten man hat, umso größer ist auch die Gefahr das eine der Festplatten innerhalb einer gewissen Zeit versagt. Bei unserem Beispiel mit 3 Festplatten hat man auch ein 3-faches Ausfallrisiko.
  • RAID-1: Hier kommt es auf Datensicherheit an. Alles was man auf eine Festplatte schreibt, schreibt man auch auf die Andere. Fällt eine der Festplatten aus, ist immer noch alles ein zweites Mal vorhanden. Auch hat man beim Lesen eine größere Geschwindigkeit, da man auf zwei Festplatten gleichzeitig zugreifen kann; beim Schreiben jedoch nicht. Und auch der Speicherplatz addiert sich hier nicht, da der gesamte zusätzliche Speicherplatz, der zweiten Festplatte, für die Spiegelung verwendet wird. Nachteil also: Doppelte Hardwarekosten bei gleich bleibenden Speicherplatz.
  • RAID-01: Eine Kombination aus 0 und 1. Man nehme eine gerade Anzahl an Festplatten, fasst sie paarweise zu mehreren RAID-1 zusammen und hängt diese Paare dann im RAID-0 hintereinander. Hat man also beispielsweise 6 Festplatten mit je 1TB Größe, erhält man im Anschluss ein Laufwerk mit 3TB Größe, wo die Datenblöcke immer auf 2 Festplatten gleichzeitig gespeichert sind. Man kombiniert hier die Vorteile der Geschwindigkeit und Größe mit der Datensicherheit durch Redundanz. Allerdings hat man auch weiterhin den Nachteil der doppelten Hardwarekosten.
  • RAID-5: Eher ein RAID-0, allerdings mit Prüfsummen. Hat man beispielsweise 4 Festplatten zu je 1TB, bekommt man im Anschluss ein Laufwerk mit einer Größe von 3TB, da auf einer der 4 Festplatten immer die Parität geschrieben wird. Bei der Parität handelt es sich um eine Art Prüfsumme, anhand welcher sich die Daten einer Festplatte bei Ausfall wiederherstellen lassen. Dazu später mehr. Vorteil ist eine erhöhte Datensicherheit bei minimal höheren Hardwarekosten.

Es gibt noch eine Vielzahl weiterer RAID-Verbünde. Alle aufzuzählen würde den Rahmen dieses Artikels sprengen. Wer sich da weiter informieren will, dem empfehle ich den Artikel auf Wikipedia:

https://de.wikipedia.org/wiki/RAID

Umgesetzt wird so ein RAID immer entweder über einen Controller, welcher sich um die Verwaltung der angeschlossenen Festplatten kümmert und dem Betriebssystem ein fertiges Laufwerk präsentiert, oder über das Betriebssystem selbst, wo das RAID über einen Dienstprogramm verwaltet wird.

Egal wie man es anstellt, beim klassischen RAID hat man immer paar Nachteile in geringer Flexibilität. Zum einen sollten die Festplatten immer gleich groß sein. Auch lässt es sich nicht einfach so „mal eben“ mit einer Festplatte erweitern wenn man mehr Speicherplatz braucht. Fällt beim RAID-1 oder 5 eine Festplatte aus, kann man Diese zwar ersetzen, muss aber einen Rebuild-Prozess starten der viel Zeit benötigt und während dessen die Daten, wenn überhaupt, nur eingeschränkt zur Verfügung stehen.

Und hier kommt nun UNRAID ins Spiel…


Zurück zu UNRAID

UNRAID ist kein RAID im eigentlichen Sinne. Technisch gesehen könnte man es am ehesten in Richtung RAID-5 einordnen, allerdings mit einer weitaus größeren Flexibilität.

Grundsätzlich handelt es sich bei UNRAID um ein NAS-Betriebssystem. Also eines, welches den Speicherplatz der angeschlossenen Festplatten über ein lokales Netzwerk frei gibt, und wo man von verschiedenen PCs aus drauf zugreifen kann. Es wird beim Starten von einem USB-Stick aus in den Arbeitsspeicher geladen, von wo es dann ausgeführt wird. Es wird also kein Festplattenanschluss für das Betriebssystem blockiert und alle angeschlossenen Festplatten können für den Netzwerkspeicher genutzt werden. Und auch der USB-Stick wird nicht übermäßig strapaziert, da alles im Arbeitsspeicher passiert und er nur zum Starten verwendet wird.

Allerdings ist UNRAID kein RAID im eigentlichen Sinne. Hier werden die Dateien nicht „zerhackt“ und auf verschiedene Festplatten verteilt, sondern jede Festplatte wird für sich als eigenes Laufwerk betrachtet. Es wird vom System ganz klassisch mit einer Partitionstabelle versehen und formatiert. Anschließend kümmert sich UNRAID darum welche Datei auf welche Festplatte geschrieben wird. Regeln hierfür kann man entweder selbst für jede einzelne Freigabe erstellen, oder man lässt das System einfach selbst entscheiden. Man könnte aber anschließend auch jede einzelne Festplatte ausbauen und an einen anderen PC anschließen. Sie würde als Laufwerk erkannt werden und man könnte auf die darauf vorhandenen Dateien ganz normal zugreifen, da die Dateien hier als Ganzes vorliegen und nicht nur in Bruchstücken.

Auch lässt sich der Speicherplatz hier ganz einfach erweitern. Man schließt eine weitere Festplatte an, weist UNRAID an diese zu formatieren, und schon steht der Speicherplatz zur Verfügung. Während dessen kann man sein Netzlaufwerk ganz normal weiter verwenden und auf die Dateien zugreifen.

Und wie schaut es nun mit der Datensicherheit aus? Hier kommt wieder die Parität ins Spiel. UNRAID verwendet hierfür eine so genannte Paritätsfestplatte, also eine Festplatte welche nur zum Speichern der Paritäten verwendet wird. Dieses dürfte uns schon von RAID-5 bekannt vorkommen, nur das beim RAID-5 die Paritätssummen abwechselnd auf verschiedene Festplatten geschrieben werden. Schauen wir uns an dieser Stelle nun doch zunächst einmal etwas genauer an, was eine Parität ist:

Die Parität

… ist einfach ausgedrückt die Prüfsumme aus mehreren Bits. Sie sagt aus ob die Summe der Bits eine gerade oder ungerade Zahl ist.

Sehen wir uns die Datenspur einer Festplatte genau an, ist sie lediglich eine Aneinander Kettung von vielen Nullen und Einsen. Steht an erster Stelle der Datenspur einer Festplatte eine „0“ und bei der zweiten Festplatte an gleicher Stelle eine „1“, so ist die Summe „1“ ungerade und wir speichern als Parität an gleicher Stelle eine „0“. Steht nun beispielsweise an zweiter Stelle auf HDD1 eine „1“ und auf HDD2 ebenfalls eine „1“, so ist die Summe „2“ gerade und wir speichern als Parität an zweiter Stelle eine „1“. So geht es dann weiter mit Stelle 3, 4, 5, usw. Und das können wir auch mit beliebig vielen Festplatten machen. Wir speichern immer nur die Summe, die entweder „0“ für „ungerade“ oder „1“ für „gerade“ ist. Wichtig ist hier nur das die Paritätsfestplatte, also die Festplatte welche in UNRAID zum speichern der Paritätssummen verwendet wird, mindestens so groß sein muss, wie die größte Datenplatte im Verbund, denn wir müssen ja die Summen bis zur letzten stelle der längsten Datenspur speichern.

Fällt nun eine Festplatte im Verbund aus, fehlt nun diese Datenspur. Wir wissen zwar nicht mehr was darauf stand, da wir allerdings für jede Stelle aller Datenspuren gespeichert haben ob die Summe jeder einzelnen Stelle gerade oder ungerade war, und die restlichen Datenspuren noch intakt sind, können wir rekonstruieren was an jeder einzelnen Stelle dieser fehlenden Datenspur stand. Die Daten sind also nicht verloren. Das funktioniert immer, egal welche Festplatte ausfällt, solange halt immer nur eine Festplatte ausfällt.

Datensicherheit in UNRAID

Beim Speichern von Daten auf unserem Netzlaufwerk kümmert sich UNRAID im Hintergrund automatisch darum die Paritätssummen zu errechnen und zu speichern. Wir bekommen davon erstmal nichts mit. In fest hinterlegten Intervallen wird auch die Parität insgesamt überprüft. Dieser Vorgang kann je nach Festplattengröße mehrere Stunden bis Tage dauern und läuft vollständig im Hintergrund ab. Hier wird auch frühzeitig erkannt ob Datenfehler auf einer Festplatte vorliegen, da alle Festplatten Bit für Bit abgetastet werden. Da auch Festplatten selber Prüfsummen für sich selbst speichern, kann bei der Paritätsprüfung bei Abweichung exakt ermittelt werden auf welcher Festplatte ein oder mehrere Bits falsch sind. Diese lassen sich dann rekonstruieren und die Festplatte wird als fehlerhaft markiert. Diese ist dann mit wachsender Fehlerzahl schnellstmöglich zu erneuern, da wenn dann bei einer zweiten Festplatte an gleicher Stelle Fehler auftreten würden, eine Rekonstruktion in diesem Bereich nicht mehr möglich wäre.

Zwar ist es äußerst unwahrscheinlich dass zwei Festplatten gleichzeitig ausfallen, oder an der gleichen Stelle Fehler aufweisen, doch ganz ausschließen kann man es nicht, insbesondere dann wenn die beiden Festplatten aus der gleichen Produktion oder vielleicht sogar noch aus der selben Charge stammen. Hier ist es sogar äußerst wahrscheinlich das ein fehlerhafter Sektor auf einer Platte auch auf der nachfolgend produzierten fehlerhaft ist. Daher sollte man vermeiden identische Festplatten zu verwenden. Kauft man so beispielsweise bei einem Großhändler 5 neue, gleiche Festplatten, ist es durchaus möglich das diese Festplatten auch im Werk sehr dicht beieinander produziert wurden und von eventuellen Serienfehlern auch alle 5 Festplatten betroffen wären. Am besten mischt man Hersteller und Lieferanten bunt durcheinander.

In meiner UNRAID Installation beispielsweise gleicht keine Festplatte der Anderen. Das Schlusslicht bildet eine knapp 20 Jahre alte Seagate Barracuda mit 160GB, wo ich mich immer wieder aufs Neue wundere das sie noch fehlerfrei läuft. Dazwischen kommen mehrere verschieden große Toshiba, HGST, Western Digital und Seagate Festplatten in unterschiedlichen Größen. Ein weitere Vorteil in der Flexibilität gegenüber einem klassischen RAID-Verbund, wo die Festplatten immer gleich groß sein sollten.

Ich betreibe die Installation nun seit knapp 6 Jahren. Zuvor hatte ich immer wieder mit Ausfällen von Festplatten samt Datenverlust zu kämpfen. Und auch seit ich UNRAID betreibe hat sich die eine oder andere Festplatte verabschiedet. Nun allerdings mit dem Unterschied das keine Daten mehr abhanden gekommen sind. Festplattendefekte wurden zuverlässig frühzeitig angezeigt und die fehlerhaften Laufwerke konnte ich so zeitnah ersetzen.

Ersetzen, Hinzufügen und Entfernen von Festplatten

Ein wesentlicher Vorteil von UNRAID, im Gegensatz zu einem normalen RAID-Verbund, ist die große Flexibilität. Dadurch das die Festplatten als einzelne Laufwerke behandelt werden, können sie problemlos hinzugefügt und entfernt werden. Zwar muss die Parität neu aufgebaut werden, aber die Daten stehen dennoch sofort zur Verfügung. Das Ersetzen einer defekten Festplatte, oder auch das Ersetzen einer kleinen, durch eine größere Festplatte, gestaltet sich denkbar einfach. Ausschalten, Festplatte raus, neue Platte rein und starten. Es muss nichts gesichert, kopiert oder anderweitig vorbereitet werden. UNRAID startet nach einem solchen Wechsel in einen Wartungsmodus, wo das Array pausiert wird. An der Lücke, wo die alte Platte entfernt wurde, wählt man nun die neue aus und startet das Array wieder. Nun rekonstruiert UNRAID im Hintergrund die Daten. Diese stehen dabei auch schon sofort wieder zur Verfügung und können direkt verwendet werden, selbst wenn der Rebuild-Prozess noch läuft.

Ähnlich funktioniert auch das Hinzufügen weiterer Festplatten. Lediglich beim ersatzlosen Entfernen einer Festplatte sollte man UNRAID anweisen die Dateien auf der zu entfernenden Festplatte vorher anderweitig zu speichern, da diese sonst weg wären.

Also ersetzt UNRAID die Notwendigkeit von Backups?

Das kann man so nicht sagen. Zwar ist ein Totalausfall aufgrund einer defekten Festplatte äußerst unwahrscheinlich, aber können nicht komplett ausgeschlossen werden, insbesondere dann wenn man zum Bau eines neuen Servers mehrere gleiche Festplatten beim selben Händler kauft.

Auch ist so ein Gerät äußeren Einflüssen ausgesetzt. Blitzschlag, Feuer, Überschwemmungen… Wird das gesamte System zerstört, sind natürlich auch alle Daten weg. Hier macht ein Backup durchaus Sinn.

Auch schützt UNRAID nicht vor dem größten Problem, welches bekanntlich vor dem PC sitzt: dem Benutzer. Löscht man versehentlich eine Datei, ist diese auch wirklich weg. Hier helfen nur regelmäßige Backups. Diese lassen sich aber in UNRAID auf verschiedene Weise automatisieren.

Hardware

So, was brauchen wir nun um eine solche Kiste zu bauen? Hier ist nichts spezielles erforderlich. Grundsätzlich reicht irgendein alter PC. UNRAID selbst hat kaum nennenswerte Hardwareanforderungen. Jedoch lässt es sich mit Zusatzdiensten erweitern. Möchte man zum Beispiel einen Mediaserver zum Videostreaming darauf betreiben, sollte die CPU auch stark genug sein das Videomaterial zu verarbeiten. Hier kommt es dann ganz auf die persönlichen Bedürfnisse an. Ich beispielsweise verwenden einen 12 Jahre alten Intel Core i5 3250. Der reicht selbst als Mediaserver für 1 bis 2 Nutzer gleichzeitig.

Außerdem benötigen wir noch einen USB-Stick von welchem das System startet. Hier ist zu beachten das nicht jeder USB-Stick funktioniert. Er muss eine eindeutige Hardware-ID haben, da UNRAID auf diese ID registriert wird. Das ist dann sozusagen der Kopierschutz. Sämtliche Hardware kann man jederzeit frei, nach Belieben austauschen.

Monitor und Tastatur braucht man nicht zwingend. Hat man das BIOS einmal angewiesen von USB-Stick zu booten, läuft der UNRAID Server fortan „headless“. Er bezieht eine IP-Adresse vom Router und kann über diese, über seine Weboberfläche, komplett administriert werden. Zwar kann UNRAID in einen so genannten GUI-Modus gestartet werden, dieser ist jedoch lediglich eine minimale Grafikoberfläche unter Linux mit einem Webbrowser, welcher die interne Konfigurationsseite anzeigt. Hat man gerade keinen anderen PC zur Hand, kann das ganz nützlich sein. Steht die Kiste jedoch ohne Monitor und Keyboard in irgendeiner Ecke, kann man alles genauso gut über einen anderen PC machen.

Kosten

Kommen wir zum einzigen Haken an der Sache, UNRAID ist leider nicht kostenlos. Hier stehen zum heutigen Zeitpunkt 3 Lizenzmodelle zur Auswahl, wobei die Preise in Dollar angegeben sind und nach aktuellem Kurs in Euro immer ein wenig variieren:

  • Die Starter-Lizenz kostet $49 und wird dann ein Jahr lang mit Updates versorgt. Für weitere Updates muss sie dann verlängert werden. Sie ist jedoch auf 6 Daten-Festplatten beschränkt.
  • Die uneingeschränkte Version kostet schon $109. Und auch diese wird nur ein Jahr mit Updates versorgt und muss dann, für weitere Updates, jahresweise verlängert werden.
  • Richtig happig wird es dann bei der lebenslangen, uneingeschränkten Lizenz. Diese schlägt mit $249 zu Buche.

Für die meisten Nutzer dürfte die Starter-Lizenz für den Anfang ausreichen. Selbstverständlich läuft das System auch nach einem Jahr noch problemlos weiter und ist uneingeschränkt nutzbar. Man erhält halt nur nicht mehr die neuen Versionen. Und auch ein Upgrade auf eine höhere Version ist jederzeit möglich ohne alles neu einrichten zu müssen.

Jetzt kann man viel diskutieren ob das alles zu teuer ist oder nicht. Und sicher sind wir in Zeiten von Linux und OpenSource auch ein wenig verwöhnt von einer Kostenlos-Mentalität. Aber hier erhält man ein absolut mächtiges, perfekt aufeinander abgestimmtes, professionelles System. Und Entwicklungsarbeit, wenn sie denn nicht gerade im stillen Kämmerlein, als Hobby statt findet, kostet nun einmal Geld. Und was das angeht, kann ich nur sagen dass das Team von UNRAID hier eine hervorragende Arbeit abliefert und das System jeden einzigen Cent wert ist. Und zum Testen steht eine 30-tägige kostenlose Testversion, im vollen Funktionsumfang, zur Verfügung.

UNRAID kann über die Homepage https://unraid.net/ heruntergeladen und gekauft werden.


Fazit

UNRAID ist ein sehr umfangreiches und mächtiges Werkzeug, wenn es darum geht einen Heimserver aufzusetzen. Der Speicherplatz kann mit beliebigen Festplatten nahezu uneingeschränkt erweitert werden, wobei Alter und Größe der Festplatten kaum eine Rolle spielen. Hierbei wird die Integrität der Daten fortlaufend überwacht und Ausfälle durch fehlerhafte Festplatten oder Entmagnetisierung werden zuverlässig erkannt und verhindert.

Zwar ist UNRAID nicht kostenlos, aber auch nicht übermäßig teuer. Zwischen verschiedenen Lizenzmodellen kann flexibel gewechselt werden und auch nach Ablauf der zeitlich begrenzten, günstigen Lizenzen ist das System im vollen Funktionsumfang uneingeschränkt nutzbar. Man erhält nur halt nicht mehr die neuesten Versionen.

Obendrein ist das System über einen riesengroßen Appstore und Plugins erweiterbar. Mit vorgefertigten Docker Containern lässt sich quasi jeder erdenkliche Server direkt in UNRAID integrieren. Mediaserver, Dokumentenverwaltung, dedicated Gameserver, alles möglich. Und auch virtuelle Maschinen können direkt in UNRAID ausgeführt werden, wobei sich angeschlossene Hardware direkt an die virtuelle Maschine durchreichen lässt.

Dieses wird sicher nicht der letzte Beitrag über UNRAID sein, der hier erscheint. Sicher werde ich in Zukunft die eine oder andere Funktion genauer beleuchten und erklären wie man gewisse Dinge einrichtet. Bleibt also dran, wenn es euch interessiert.

WordPress Appliance - Powered by TurnKey Linux