Datenspeicher Hardware Praxis SSD/HDD Storage Tech Testberichte

Mit Hardware-Recycling zum DIY NAS für zu Hause | TrueNAS Core Showcase

Wir basteln uns ein Atomkraftwerk einen ZFS Pool

Nun geht es an die eigentliche Konfiguration des NAS, beginnen wir mit dem Einrichten der Festplatten für die Datenhaltung. Wie bereits anfangs erwähnt, verwendet TrueNAS das Filesystem und Volume Manager ZFS. Um die Zusammenhänge zu verstehen, werden wir nebenbei ein paar „Vokabeln“ lernen, learning by doing quasi.

Also wir klappen links in der Navigationsleiste die Sektion „Storage“ auf und klicken anschließend auf „Pools“.

„Pools“ im Kontext von ZFS sind Verbände von „Vdevs“ zu einer Speicher-Einheit, auf dessen Level grundlegende IO Parameter definiert werden können. Was jetzt wiederum ein „VDev“ ist, darauf kommen wir gleich zu sprechen. Pools können erweitert, verkleinert, exportiert und importiert werden. Vergleichbar ist dies in etwa mit einem „Array“ bei einem klassischen Hardware-Raid, aber versteifen wir uns nicht zu sehr darauf, sonst bekomme ich Ärger von den ZFS-Cracks.

Wir klicken oben rechts auf „ADD“ um unseren ersten Pool zu erstellen. Falls auf den Festplatten bereits zuvor ein ZFS Filesystem aktiv war, könnten wir hier einen bereits bestehenden Pool importieren, z.B. im Falle eines Umzuges von Festplatten oder Restore des Systems. Da wir aber einen neuen Pool aufsetzen, wählen wir „Create new pool“.

Jetzt müssen wir dem Pool einen beliebigen Namen geben und die Festplatten auswählen, die wir in diesen aufnehmen wollen. Nachdem wir Festplatten angehakt und auf den Pfeil nach rechts geklickt haben, werden diese nun unter „Data VDevs“ aufgelistet. Ein „VDev“ im Kontext von ZFS ist eine Zusammenfassung von Festplatten zu einem virtuellen Device. Wieso virtuell? Weil sich hinter einem solchen virtuellen Device auch mehrere physische Devices verbergen können, die unter Nutzung eines Redundanz-Algorithmus Ausfallsicherheit für einander bieten. So auch hier, unter den ausgewählten Disks haben wir die Möglichkeit den Verbund-Typ zu wählen, zwischen Stripe (analog zu RAID 0), Mirror (analog zu Raid 1) und Raid-z (analog zu Raid 5 bzw. 6), wobei das „z“ die Anzahl der Paritätsbits je Datei und damit Festplatten angibt, die ausfallen dürfen, z.B. bei Raid-z1 eine Festplatte.

Kurz erklärt, bei Stripe darf keine Platte ausfallen, bei Mirror dürfen alle außer eine ausfallen und bei Raid-z die Anzahl der Paritätsplatten, ehe es zu Datenverlust kommt. Je ausfallsicherer der Verbund, desto geringer auch der nutzbare Speicherplatz. Hier wähle ich Raid-z um einen guten Kompromiss zwischen Ausfallsicherheit und Speicherplatz zu haben. Da ich in diesem Fall nur 3 Festplatten habe, ergibt sich automatisch Raid-z1. Bei 4 Festplatten hätten wir die Möglichkeit auch auf Raid-z2 zu gehen usw., je nachdem wie viele Platten wir für Paritätsinformationen vorhalten wollen.

Wir bestätigen, dass alle bisherigen Daten auf den Platten verloren gehen und klicken auf „CREATE POOL“.

Und schon haben wir die Festplatten zu einem redundanten Verbund zusammengeschlossen, den wir nun aufteilen und unseren diversen Storage-bedürftigen Clients im Netzwerk zur Verfügung stellen können.

Noch ein Wort zur Redundanz: ZFS kümmert sich komplett in Software darum, die Paritätsinformationen zu berechnen und entsprechend auf den Festplatten korrekt abzulegen. Das ist einer der Gründe warum, ZFS einen vergleichsweise hohen Bedarf an CPU und RAM Ressourcen hat. Dafür ist man aber nicht von dedizierter Hardware abhängig, wie z.B. einem Raid-Controller, was bei Defekt des Controllers oder Umzug der Hardware zu Problemen führen könnte.

Jeder bekommt sein Kuchenstück – Datasets

Jetzt können wir unseren Speicherplatz-Pool in Datasets aufteilen, die wir dann über diverse Protokolle zur Verfügung stellen und an Clients anbinden können. „Datasets“ sind quasi die Kuchenstücke, die wir uns jetzt aus dem Pool herausschneiden, um sie unseren Gästen zu servieren. Per Dataset kann man nun festlegen, wie der Speicherplatz herausgereicht wird, z.B. per SMB für Windows Clients oder per NFS für Linux Clients, und wir können Berechtigungsstrukturen hinterlegen, also einschränken, wer auf was zugreifen darf oder eben nicht. Vergleichbar sind Datasets in etwa mit „Partitionen“ bei konventionellen Filesystemen. Natürlich kann man hier auch Quotas und Reservierungen definieren, falls sich zwei Nutzer um das letzte Stück Kuchen…, äh Speicherplatz streiten.

Los geht’s, wir klicken auf das Hamburger Menü bzw. die 3 weißen Punkte des eben erstellen Pools rechts und klicken auf „Add Dataset“.

Hier können wir unserem Dataset wieder einen sprechenden Namen geben und diverse Parameter festlegen. Sofern wir diese auf ihrem Standard lassen, werden die Einstellungen vom Pool an das Dataset vererbt. Da dieses Share für Windows Clients gedacht ist, die sich später mit SMB verbinden, wähle ich unten bei Share Type gleich auch noch „SMB“ aus. Anschließend „Submit“ klicken.

Nun müssen wir nur noch das Share einrichten, um das Dataset von einem Client anbinden zu können. Hierfür klicken wir links im Navigationsmenü auf „Sharing“, „Windows Shares (SMB)“, da dieses Share für Windows Clients bestimmt ist, und oben rechts auf „ADD“.

Hier wählen wir nun unser eben erstelltes Dataset aus, dass dank dem ausgewählten Share Type bereits ACLs besitzt, die für Windows notwendig sind, und klicken auf „SUBMIT“.

Da dies das erste SMB Share ist, fragt uns das System auch gleich noch, ob wir den Dienst dafür gleich dauerhaft aktivieren wollen, was wir bestätigen.

Jetzt ist das Share bereits aktiv, aber niemand darf dich bisher drauf verbinden, ist ja auch sinnvoll so. Also legen wir noch einen lokalen User an, der die entsprechenden Rechte hat. Hierfür links auf „Accounts“, „Users“ klicken und oben rechts wieder „ADD“.

Hier können wir wie erwarten einen User mit Username, Passwort anlegen und müssen sonst nichts mehr von den defaults anpassen.

Nun noch den User entsprechend berechtigen indem wir unter „Sharing“, „Windows Shares (SMB)“ bei unserem Share auf die 3 Punkte rechts und dann auf „Edit Filesystem ACL“ klicken.

Wir klicken jetzt noch oben „ADD ACL ITEM“, wählen bei dem hinzugefügten Objekt unten links unseren User und seine gewünschten Rechte aus, klicken „SAVE“ und das war‘s auch schon.

Mit einem Windows Client eurer Wahl im selben Netzwerk können wir nun als der erstellte User das Share anbinden und nutzen. Et voila, euer persönliches NAS für zu Hause! Natürlich haben wir bisher nur an der Spitze des Eisberges gekratzt, sind aber schon mal besser aufgestellt, als mit einem Haufen USB Platten, denn zum einen haben wir einen zentralen Ablageort geschaffen und Ausfallsicherheit für den Fall geschaffen, dass uns eine HDD stirbt. Alles weitere dürft und müsst ihr selber herausfinden, denn jeder hat andere Anforderungen und wie eingangs erwähnt sind die hierfür notwendigen Schritte sind im offiziellen Wiki bereits ausführlichst dokumentiert. 

Zuletzt will ich euch noch ein paar der wirklich coolen Features von TrueNAS zeigen, ohne die man seine Daten nie wieder guten Gewissens wo anders ablegen möchte.

Snapshots – Zeitreisen für Nerds

ZFS bietet einen integrierten Snapshot Mechanismus, mit dem Daten blockbasiert gesichert werden können. Was heißt das? Ihr könnt euch in bestimmten Abständen immer eine Version eurer Daten zurücklegen, solltet ihr z.B. versehentlich etwas gelöscht haben oder einen alten Datenstand benötigen. Und da es blockbasiert ist, benötigen Daten, die sich seit dem letzten Snapshot nicht geändert haben, auch keinen zusätzlichen Speicherplatz.

Diese Snapshots kann man sowohl manuell erstellen, z.B. wenn man weiß, dass bald eine große Änderung der Daten bevorsteht, die man eventuell wieder rückgängig machen wollen können würde. Oder man definiert Periodic Snapshot Tasks, lässt also automatisch täglich, wöchentlich, monatlich etc. Snapshots erstellen und diese für einen definierten Zeitraum aufbewahren.

So kann das dann aussehen:

Diese Snapshots können nun sowohl im Webinterface angesehen und ggf. wiederhergestellt werden, aber auch durch eine Einstellung des Datasets für den Client sichtbar gemacht werden.

Auf dem Share finden wir dann ein .zfs Verzeichnis mit den Snapshots, in diesem Fall jetzt nur exemplarisch ein manueller, aber die automatisch erstellten werden dann auch hier zu finden sein. Von hier kann man sich dann auch direkt alte Datenstände zurück auf das eigentliche Share kopieren und das Verzeichnis ist sogar read-only, sodass man versehentlich auch keine alten Stände überschreiben kann. Definitiv nice to have!

 

Plugins – privates Video Streaming gefällig?

Neben den normalen Funktionen eines Fileservers kann TrueNAS auch mit Hilfe von Plugins weitere Dienste bereitstellen. Wer z.B. sein NAS zur Datenhaltung von Filmen und Serien verwendet, der kann mit Hilfe des Plex Media Server Plugins direkt vom eigenen NAS auf den Fernseher streamen.

Und das ist auch nur der Anfang, denn neben den von iXsystems bereitgestellten Plugins gibt es auch noch einen Haufen Community-Plugins, womit man sein NAS in fast jede beliebige Server Rolle zwängen kann. Beispiele hierfür sind: Bind DNS, OpenVPN Server, Gitlab und Homebridge um nur ein paar zu nennen.

Diese Plugins sind im plug-and-play und mit wenigen Klicks nachinstalliert und eingerichtet. Ach ja, und wie eingangs erwähnt, als Virtualisierungshost funktioniert TrueNAS schon out of the box, ohne jegliche Plugins.

Äußerst vielseitig ist also unser DIY Fileserver auch noch!

 

E-Mail Alerting – Melden macht frei

Damit wir auch mitbekommen, wenn z.B. eine Festplatte den Geist aufgibt oder sonstige Events passieren, die unsere Aufmerksamkeit als Admin erfordern würden, können wir natürlich regelmäßig ins Webinterface schauen. Das ist aber lästig und seien wir ehrlich, das würde eh niemand regelmäßig machen. Zum Glück gibt es Alerting und die Möglichkeit einen ausgehenden Email-Server zu hinterlegen.

Hier können wir jeden beliebigen Mailserver hinterlegen, z.B. auch Gmail im Internet. Sobald das erledigt ist können wir eine beliebige gültige Email-Adresse als Empfänger in den Alert Services hinterlegen, die Funktionsfähigkeit mit einer Test-Mail überprüfen und das war’s auch schon wieder. Das System gibt uns standardmäßig über die wichtigsten Vorkommnisse Bescheid und wir müssen uns keine Sorgen machen etwas zu verpassen.

Natürlich ist Voraussetzung für ein Email Alerting, dass das System selbst noch bzw. wieder lebt. Sollte also euer Haus abfackeln oder es einen Stromausfall geben, so kann das NAS natürlich nicht mehr rechtzeitig schreien, aber i.d.R. habt ihr dann größere Probleme, über die ihr hoffentlich schon Bescheid wisst.

 

3-2-1 – Cloud Sync Tasks

Die Faustregel für Datenhaltung ist bekanntlich, 3 Datenkopien, 2 Medien, 1 externes Backup. 2 Datenkopien und 1 Medium erfüllen wir schon mit unserem NAS durch die Redundanz in der Software. Um auch im Falle eines GAUs, wie dem eben angeführten Hausbrand, noch eine sichere Kopie eurer Daten zu haben, bietet sich die Cloud Sync Funktion an.

Es ist genau das, wonach es sich anhört: Man hinterlegt die Zugangsdaten für einen Could Storage Anbieter, wie z.B. Google Drive, Dropbox oder Microsoft OneDrive und definiert anschließend wieder regelmäßige Tasks, wann welche Daten in die Cloud gesynct werden sollen. Vorausgesetzt ihr habt genügend Bandbreite beim Upload eures Internetanschlusses, könnt ihr die Daten also auch vollautomatisch nach extern wegsichern und auch bei einem Hausbrand gelassen bleiben, zumindest was eure Daten angeht. Und für die Paranoiden oder schlimmen Finger unter euch, kann man beim Sync Task auch gleich noch eine „Remote Encryption“ einrichten, sodass eure Daten nicht unverschlüsselt auf dem Server von jemand anderem landen.

Damit ist dann auch die 3-2-1 Regel erfüllt, denn neben den beiden lokalen Datenkopien im ZFS Pool haben wir auch noch eine Kopie in der Cloud. Diese ist somit auch ein zweites Medium, da es sich von den physikalischen Eigenschaften einer Festplatte unterscheidet, soll heißen: kann nicht runterfallen und kaputt gehen. Und zu guter Letzt haben wir jetzt eben auch eine externe Ablage falls der Worst Case eintritt.

 

Fazit

Dass alles digitaler wird, ist ja keine Neuigkeit. Seien es Lohnzettel, Steuererklärung, oder einfach nur Rechnungen, alles wird immer mehr nur noch in digitaler Form bereitgestellt. Das macht natürlich vieles erst mal einfacher und bequemer, nur sollte man auch nicht außer Acht lassen die Daten auch verantwortungsvoll zu verwalten. Jetzt kann man sich die Welt natürlich wieder bequem machen und einfach alles in die Cloud schieben, aber das wird aber einer bestimmen Datenmenge zum einen kostenpflichtig und zum anderen gebt ihr damit eure persönlichen Daten an ein fremdes Unternehmen.

Für mich schafft TrueNAS genau hier den Spagat zwischen Aufwand, Kosten und Nutzen, denn einen alten Rechner und ein paar Festplatten hat quasi jeder zu Hause, das Setup ist mittlerweile vergleichsweise einfach und die Anpassungsmöglichkeiten sind nahezu endlos. Des Weiteren ist die Software ausgereift, in der Core Version kostenlos und eure Daten verlassen euer Heimnetzwerk nicht, solange ihr das nicht wollt.

Für alle, die eine Mediathek mit Filmen, Serien, Fotos, Spielen etc. pflegen, ist ein eigenes NAS als ideale Lösung für zu Hause bereits gesetzt. Aber vielleicht kann man sich beim nächsten Upgrade die Kosten einer Fertiglösung sparen und stattdessen mit ein bisschen Zeit und Bastelfreude selbst eine sogar vielleicht bessere Lösung zusammenschrauben.

Die Testmuster werden selbst gekauft oder von den Herstellern unverbindlich zur Verfügung gestellt. Eine Einflussnahme auf die Tests und Ergebnisse findet nicht statt. Eine Aufwandsentschädigung erfolgt nur in Ausnahmefällen, wird aber dann explizit als solche ausgewiesen und hat ebenfalls keinen Einfluss auf die Testergebnisse.

Werbung

Werbung