NAS4Free - Installation, Konfiguration inkl. RAID und ZFS-Grundkurs
X

NAS4Free - Installation, Konfiguration inkl. RAID und ZFS-Grundkurs

17.06.2017 von Stefan
Wir zeigen euch in dieser Installationsanleitung für NAS4Free, wir ihr euer NAS richtig installiert und konfiguriert. Neben einer detaillierten Beschreibung der Erstinstallation gehen wir auch intensiv auf die RAID-Modi und Dateisysteme von NAS4Free ein. Die Anleitung wurde mit der Version 11 von NAS4Free erstellt, welche auf FreeBSD 11.0 basiert.

NAS4Free basiert wie auch FreeNAS auf dem Unix-basierten FreeBSD Betriebssystem, welches aktuell zu den weltweit größten Open-Source Projekten gehört. Als native Dateisysteme werden ZFS (v5000) sowie UFS genutzt, zusätzlich werden aber auch eingeschränkt die Dateisysteme EXT2/3, EXT4, NTFS, FAT, exFAT unterstützt. Diese sind sowohl für einzelne Festplatten als auch für den GEOM Software RAID (Modi 0, 1, 5 sowie JBOD) verfügbar.

Installiert werden kann NAS4Free von einem USB-Stick oder einer CD/DVD, als Zielmedium für das Betriebssystem eignet sich im Idealfall eine kleine SSD, allerdings besteht auch die Möglichkeit NAS4Free auf einem USB-Stick zu installieren. Das aktuelle FreeBSD 11 unterstützt sowohl ältere Hardware als auch die aktuellen Plattformen. Da ein NAS energieeffizient arbeiten sollte, empfiehlt sich als Hardware z.B. eine kleine Intel Apollo Lake oder die größere Intel Kaby-Lake (Sockel 1151) Plattform.


Vorbereitung & Downloads


Für die Installation verwenden wir in dieser Anleitung einen USB-Stick als Installationsmedium. Benötigt wird außerdem eine SSD/Festplatte oder ein zweiter USB-Stick als Datenträger für das Betriebssystem. Für eine kleine SSD spricht neben der erhöhten Haltbarkeit (und damit Zuverlässigkeit) auch eine deutlich höhere Geschwindigkeit beim Startvorgang.



Die Installation von einem USB-Stick


Nachdem ihr die ISO-Datei von NAS4Free sowie den Win32 DiskImager heruntergeladen habt, müsst ihr letzteren installieren und anschließend starten. Vorher sollte bereits euer USB-Stick im Rechner stecken, den ihr als Installationsdatenträger verwenden möchtet.


Da die Installationsdatei von NAS4Free aktuell nur knapp 400 MB groß ist, sollte der Kopiervorgang auch auf langsame USB-Sticks nicht allzu lange dauern. Der USB-Stick ist bootfähig und kann anschließend in euer NAS eingesteckt werden. Nachdem ihr euer NAS startet und vom USB-Stick bootet (eventuell Boot-Menü F11/F12 beachten),


Nach der Installation könnt ihr euren USB-Installations-Stick entfernen, NAS4Free startet dann direkt. Es ist noch eine kurze Konfiguration der Netzwerkschnittstelle erforderlich (siehe Bilderstecke).


Ihr könnt euch anschließend über die angezeigte IP-Adresse auf eurem NAS anmelden. Die Zugangsdaten für das NAS4Free Webinterface lauten:

Benutzer: admin
Passwort: nas4free


NAS4Free zeigt euch nach erfolgreicher Anmeldung auf der Startseite den Status des Systems an. Das Standardpasswort solltet ihr aus Sicherheitsgründen direkt nach der ersten Anmeldung ändern.




Dateisysteme


NAS4Free unterstützt neben den nativen BSD-Dateisystemen UFS (Unix File System) und ZFS (Z File System) auch EXT4, FAT32 und NTFS. Empfohlen wird von NAS4Free aber die Nutzung der nativen Dateisysteme UFS und ZFS.


RAID


Ein RAID ist ein Verbund von mehreren Festplatten, der je nach Konfiguration dazu dient die Ausfallsicherheit und/oder die Geschwindigkeit des Systems zu verbessern. Da das Ausfallrisiko mit der Anzahl der verwendeten Festplatten rasant ansteigt, empfiehlt sich in NAS-System ab 2-3 Festplatten der Einsatz eines RAIDs. In NAS4Free lässt sich ein RAID-Verbund auf drei Arten realisieren:

  • Klassischer RAID 0/1/5/JBOD Verbund via GEOM
  • Klassischer RAID 0/1/5/JBOD Verbund via GEOM Vinum (gvinum)
  • Virtueller Verbund via ZFS (RAID-Z, RAID-Z2, RAID-Z3) für einen ZFS-Pool oder ein ZFS-Volume


Klassischer RAID 0/1/5 via GEOM


Der Software-RAID GEOM unterstützt die RAID Modi 0,1 und 5. Er verfügt über ein mit NCQ (Native Command Queuing) vergleichbares Feature um anfallende Anfragen zu kombinieren und so die Geschwindigkeit des RAIDs zu erhöhen. GEOM rühmt sich selbst damit, die schnellste Software-RAID Lösung zu sein. Es werden sequenzielle Geschwindigkeiten erreicht, die vergleichbar mit Einsteiger-Hardware-RAID sind. RAID 6 mit zwei Paritätsfestplatten zur weiteren Erhöhung der Ausfallsicherheit wird von NAS4Free nicht unterstützt. Hier muss man auf einen ZFS RAID-Z2 Verbund oder auf ein anderes NAS-Betriebssystem wie OpenMediaVault ausweichen.

Um in NAS4Free einen RAID-Verbund zu erstellen, müsst ihr zuerst die dafür benötigten Festplatten initialisieren. Wie bei einem klassischen RAID üblich, sollten die Festplatten möglichst eine identische Kapazität aufweisen, da ihr auf allen Festplatten später nur die kleinste, gemeinsame Kapazität der Festplatten verwenden könnt. Als vordefiniertes Dateisystem muss hier "Software RAID" gewählt werden. Das endgültige Dateisystem des RAIDs legt ihr später fest.

Im Anschluss könnt ihr unter Verwendung der zuvor initialisierten Festplatten einen RAID erstellen. Solltet ihr euch für einen einfachen RAID 1 Verbund aus zwei Festplatten entschieden haben, könnt ihr hier auch festlegen, wie NAS4Free Daten von eurem RAID ausliest:

  • Round-robin read
  • Split request
  • Read from lowest load
  • Read from biggest priority

Beim Round-robin read (Rundlauf-Verfahren) wird unterschiedlichen Prozessen abwechselnd der Zugriff auf die Ressourcen gewährt. Dies ähnelt einer Lastverteilung auf die vorhandenen Festplatten und stellt sicher, dass jeder Prozess gleichberechtigt bedient wird. Round-robin ist die Standardeinstellung und liefert die beste Performance.

Möchte man Leseanfragen voneinander separieren wählt man Split request aus. Dies resultiert allerdings in einer schlechteren Performance und ist nur in sehr speziellen Anwendungsgebieten sinnvoll.

Mit read from lowest load weist man den Software-RAID an, immer von der Festplatte mit der aktuell geringsten Auslastung zu lesen.

Auch die Einstellung read from biggest priority ist wohl für die meisten Benutzer uninteressant. Hier ist es möglich die Leseanfragen auf eine der beiden RAID1 Festplatten umzuleiten (geschrieben wird natürlich weiterhin auf beiden Festplatten). Dies macht Sinn wenn eine Festplatte schneller oder stabiler als die andere ist.




Klassischer RAID 0/1/5 via GEOM Vinum (gvinum)


Das All-in-One Modul GEOM Vinum unterstützt die RAID Modi 0,1 und 5. Von der Benutzung rät das NAS4Free Entwicklerteam aktuell allerdings ab, da viele Benutzer Probleme gemeldet haben. Hauptsächlich betreffen die Probleme den RAID 5 Modi von GEOM Vinum (Quelle). Aus diesem Grund werden wir diesen RAID-Typ hier auch nicht weiter beschreiben, für die allermeisten Benutzer empfiehlt sich entweder die Benutzung des normalen GEOM RAIDs oder die Erstellung eines virtuellen Verbunds in ZFS.


Virtueller Verbund via ZFS


Die ZFS-Lösung ist nicht ganz mit einem klassischen RAID vergleichbar, erfüllt aber am Ende den selben Zweck. Der große Vorteil an einem ZFS-Festplattenverbund ist die Unterstützung von 2 oder 3 Paritätsfestplatten (RAID-Z2 bzw. RAID-Z3).

Ihr habt die Auswahl zwischen den folgenden Verbundstypen:
  • Stripe (ähnlich RAID 0)
  • Mirror (ähnlich RAID 1)
  • RAID-Z(ähnlich RAID 5)
  • RAID-Z2 (ähnlich RAID 6)
  • RAID-Z3 (ähnlich RAID 6+1)



ZFS Typen: Virtual Device (Vdev), Pool, Volumes und Datasets


Das besondere an ZFS ist, dass es nicht nur ein Dateisystem ist, sondern Dateisystem und Volumenmanager. In ZFS kommen folgende Speicherorte vor:
  • Virtual Device: Einzelne Festplatte oder Festplattenverbund (z.B. RAID-Z). Wird benötigt um einen Pool oder ein Volume zu erstellen.
  • Pool: Kann eine oder mehrere Virtuelle Festplatten enthalten.
  • Volume: Wie ein Pool aber mit Unterstützung für Deduplikation und Kompression. Es wird ein Pool benötigt. Ein Volume ist ein Dataset, das sich über den kompletten Pool erstrecken kann.
  • Dataset: Virtueller Ordner mit Unterstützung für Snapshots und Kompression. Es wird ein Pool benötigt in dem sich das Dataset befinden soll. Mehrere Datasets innerhalb des gleichen Pools sind möglich.


ZFS Kompression (ab ZFS 5000)


Es ist möglich die Dateien in einem ZFS Speicherort zu komprimieren und Speicherplatz zu sparen. Aktuell werden lz4, lzjb, gzip, gzip-[1-9], zle oder keine Kompression unterstützt.


ZFS Deduplikation


Wenn Dedublikation benutzt wird, empfiehlt es sich, dass das NAS über einen ausreichend großen ARC (Arbeitsspeicher Cache) bzw. L2ARC (SSD Cache) verfügt, da sonst die Schreibgeschwindigkeit sehr stark einbrechen kann. Auf der anderen Seite wird deutlich weniger Speicherplatz benötigt, weil doppelt vorhandene Dateien nur einmal gespeichert werden müssen.


ZFS Snapshots & Auto-Snapshot


Es ist möglich manuell einen Snapshot eines ZFS Speicherortes anzufertigen oder Snapshots automatisch zu bestimmten Uhrzeiten erstellen zu lassen. Ein Snapshot ist eine Momentaufnahme des Speicherorts, zu der man dann später zurückkehren kann. Es lassen sich auch Clones (also 1:1 Kopieren) eines Speicherorts oder auch eines schon vorhandenen Snapshots erstellen. Dies geschieht nahezu ohne Verzögerung und nimmt keinen zusätzlichen Speicherplatz in Anspruch. Erst wenn sich das Live-Abbild und der Inhalt eines Snapshots unterscheiden, wird zusätzlicher Speicherplatz benötigt um die Unterschiede abzuspeichern.





ZFS Scrub / Datenbereinigung


Zwar prüft ZFS die Datenintegrität auch direkt bei Zugriff auf die Dateien, von Zeit zu Zeit empfiehlt es sich aber einen ZFS Scrub manuell anzustoßen (z.B. einmal pro Monat). Bei einem ZFS Scrub werden alle Daten in einem Speicherort (z.B. einem ZFS Pool) einmalig überprüft.

Die Geschwindigkeit der Integritätsprüfung hängt dabei von der Geschwindigkeit des Speicherorts ab, dabei versucht das System aber normalen Prozessen Vorrang zu geben. Das System ist während der Integritätsprüfung etwas langsamer, alle Daten bleiben aber jederzeit verfügbar.


ZFS Pool nachträglich ohne Datenverlust vergrößern


Ein ZFS Pool lässt sich nicht durch das hinzufügen einer weiteren Festplatte erweitern (wie es z.B. bei einem klassischen RAID-5 Verbund möglich ist). Es gibt aber zwei Möglichkeiten einen Pool nachträglich zu vergrößern:
  • Möglichkeit 1: Alle alten Festplatten nacheinander durch Festplatten mit größerer Kapazität austauschen. Nach dem Austausch aller Festplatten steht automatisch die neue Kapazität zur Verfügung.
  • Möglichkeit 2: Ein zweites RAID-Z (min. 2 Festplatten für Mirror bzw. 3 Festplatten für RAID-Z) erstellen und zu dem ursprünglichem ZFS Pool hinzufügen. Danach verfügt dann der ZFS-Pool über die erweiterte Kapazität.


ZFS Pool - Defekte Festplatte durch neue ersetzen


Fällt eine Festplatte aus, kann diese relativ einfach durch eine neue ersetzt werden. Bei den Typen Mirror sowie RAID-Z tritt dabei kein Datenverlust auf.

  1. NAS herunterfahren und alte Festplatte durch neue Festplatte physikalisch ersetzen
  2. NAS starten und nach Disks > ZFS > Pools > Tools navigieren
  3. Option "Replace a device" auswählen
  4. Betroffenen Pool auswählen
  5. Betroffene Festplatte auswählen (STATE DEGRADED/OFFLINE)
  6. Neue (Ersatz-) Festplatte auswählen
  7. Der Pool wird nun neu aufgebaut (resilver)
  8. Je nach Datenmenge kann dieser Vorgang einige Stunden dauern. Anschließend ändert sich der Status des Pools von Degraded wieder auf Online
  9. Eventuell muss die neue Festplatte noch unter Disks > Management > HDD Management hinzugefügt werden (Dateisystem: ZFS Storage Pool). Dies ist zwar für die Funktionalität nicht notwendig, empfiehlt sich aber um ein sauberes System zu haben. Eventuell muss die alte (defekte) Festplatte hier auch noch manuell entfernt werden.





Zukunftsmusik: ZFS At-Rest Encryption


At-Rest ist ein zukünftiges Feature von ZFS, welches moderne authenticated ciphers (AEAD) wie z.B. AES-GCM und AES-CCM nutzt. Wichtige Daten wie Daten, Metadaten, ACLs, Zugriffsrechte usw. werden dabei verschlüsselt. Nicht entschlüsselt werden einige Pool-Strukturdaten, die ZFS Struktur, Dedublikationsinformationen und Daten die sich aktuell im Arbeitsspeicher des Systems befinden. Dedublikation ist auch unter verschlüsselten ZFS-Volumes verfügbar, allerdings gibt es hier technisch bedingt einen Schwachpunkt zum Angriff auf die Verschlüsselung. TPM wird nicht unterstützt. Da das Verschlüsselungspasswort ausschließlich benutzt wird um auf den Master-Key zuzugreifen, lässt sich das Passwort ändern ohne das Daten neu verschlüsselt werden müssen.


ZFS und ECC-Ram


ZFS nutzt COW (Copy-On-Write). Das bedeutet, dass Dateikopien nur dann angelegt werden müssen wenn eine Kopie tatsächlich von einem Benutzer verändert wird. Das beschleunigt Kopievorgänge erheblich und bringt auch eine Ersparnis bei der Arbeitsspeichernutzung mit sich, da sich bei gleichzeitigem Zugriff nur das Original im Hauptspeicher befindet. ZFS speichert neben den ursprünglichen Daten zusätzliche Metadaten und erkennt dadurch Dateiinkonsistenzen bei jedem Lesevorgang automatisch. Soweit defekte Daten redundant (doppelt) vorhanden sind, kann ZFS Dateifehler automatisch reparieren.

Durch die intensivere Bearbeitung der Daten ist das ZFS-Dateisystem recht Arbeitsspeicher-hungrig. Aus diesem Grund sind 8 GB Arbeitsspeicher das empfohlende Minimum im Umgang mit ZFS.

Während in privaten Computersystemen überwiegend normaler DDR3/DDR4 Arbeitsspeicher zum Einsatz kommt, benutzt man in Enterpriseumgebungen meist ECC-Ram. Dieser bietet Schutz vor Single-Bit Flips, kann also dazu beitragen Dateifehler zu minimieren. Umso wichtiger die abgelegten Daten sind, umso wichtiger ist der Einsatz von ECC-Ram.

Da ECC-Ram in der Summe (Prozessor mit ECC-Unterstützung, Mainboard mit speziellem Chipsatz) deutlich teurer als normaler Arbeitsspeicher ist, sollte jeder für sich selbst abwiegen, ob bei ihm der Einsatz von ECC-Ram sinnvoll ist. Moderne AMD Systeme (z.B. Ryzen) unterstützen ECC-Arbeitsspeicher ebenso wie Intel Systeme, die allerdings vom Hersteller künstlich eingeschränkt sind. Hier eignen sich nur Intel Celeron, Intel Pentium sowie Intel Core i3 Prozessoren. Zudem wird neben ECC-Arbeitsspeicher auch ein teurerer Server-Chipsatz (C-Chipsatz) auf dem Mainboard benötigt.

Eine Pflicht besteht hier aus unserer Sicht nicht zwangsläufig, denn die Wahrscheinlichkeit auf einen im Arbeitsspeicher korrigierbaren Ein-Bit-Fehler ist bei im privaten Bereich üblichen Datenmengen recht gering. Zudem kommt es auch immer auf die auf dem System abgelegten Daten an. Eine Videodatei mit einer Größe von mehreren Milliarden Bytes verkraftet kleinere Fehler meist ohne sichtbaren Qualitätsverlust während ein Zahlendreher in einer Kanzlei natürlich absolut untollerierbar ist. Bilddateien wie JPG-Bilder sind allerdings recht empfindlich, es kann schon bei wenigen Bits zu starken Beschädigungen der Bilddatei kommen.

Matt Ahren, Mitentwickler des ZFS-Dateisystems hat dazu folgendes Statement abgegeben:
Theres nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem. If you use UFS, EXT, NTFS, btrfs, etc without ECC RAM, you are just as much at risk as if you used ZFS without ECC RAM. I would simply say: if you love your data, use ECC RAM. Additionally, use a filesystem that checksums your data, such as ZFS.
Quellenangabe


Das Risiko einen Dateifehler durch einen Arbeitsspeicherfehler zu erhalten ist in einem ZFS-Dateisystem genauso wahrscheinlich wie bei allen anderen modernen Dateisystem auch, die ZFS-Metadaten können allerdings entstandene Fehler automatisch reparieren.


Virtualisierung mit VirtualBox


NAS4Free bringt die bekannte Virtualisierungssoftware VirtualBox mit. Die Verwaltung aller virtuellen Maschinen geschieht via Webinterface über die Software phpvirtualbox.


Nachdem man das Modul aktiviert hat, kann man sich mit den folgenden Benutzerdaten in phpvirtualbox anmelden:

Benutzer: admin
Passwort: admin




Kommentare (4)


Stefan (Team)
19.05.2018
Bei OpenMediaVault sind mehrere Partitionen ja ohne Probleme möglich. Bei NAS4Free habe ich dies selbst noch nicht getestet. Werde ich bei Gelegenheit mal probieren.

Dffvb
18.05.2018
Mal wieder sehr informativer Artikel ... Bin froh durch zufallen auf die Seite aufmerksam geworden zu sein.

Eine Anmerkung: ich glaube es gibt immer mehr Leute die auf SSDs setzen... Durch das potente Upgrade von Apollo Lake zu Gemini Lake werden die NUCs immer interessanter. Ich fände es super wenn ihr eure Anleitungen auch für 1-2 TB Platten erklärt.... OMV muss man ja nachträglich Partitionen anlegen, wie ist das bei NAS4Free ?

Wie sinnvoll ist ein virtualisiertes NAS4FREE? Bringt das ZFS da was?

Stefan (Team)
28.08.2017
Auch wenn ich eher zu einer SSD greifen würde (oder einem M.2 USB 3 Stick), kannst Du quasi jeden USB-Stick mit einer Größe von mindestens 8GB für NAS4Free nutzen. Schau doch mal in meiner NAS Advanced 1.0 Anleitung (unter Festplatten & RAID), dort beschreibe ich verschiedene Möglichkeiten.

Die Konfiguration kannst Du als XML-Datei unter System -> Backup & Wiederherstellung auf denen PC herunterladen und nach der Neuinstallation genau so wieder einspielen.

Henning
25.08.2017
Hallo, ich möchte auf eine neuere Nas4free Version umsteigen. Her wollte ich einen zweiten USB-Stick verwenden. Wie groß sollte dieser sein? Wie kann ich die Einstellung (alt) speichern und übertragen? Wie speichere ich die config.sys?

Danke für deine Hilfe!
Henning

Diesen Artikel kommentieren:

Hinweis:
  • Nur Fragen / Antworten direkt zum Artikel
  • Kein Support für andere Hard- oder Software !


Name:
   
Kommentar:
   
    

Bild abtippen:
   
Artikel-Abo: optional
  Wenn Du eine E-Mail-Adresse angibst, informieren wir dich, sobald es hier etwas Neues gibt.