Ein Grund, warum ich TrueNAS CORE (also die FreeBSD-Variante) cool finde, ist ZFS. Das ist ein rattenscharfes Dateisystem, das RAID-Funktionen mit LVM hinkriegt (und noch ein paar andere Dinge, die das Leben schön machen), ohne zusätzliche Schichten im Betriebssystem einzuziehen (unter Linux würde man den Logical Volume Manager nutzen, um Volume-Gruppen einzurichten; auch ein Software-RAID müsste man unter Linux einrichten). ZFS bringt das alles mit. Grundsätzlich funktioniert das (stark vereinfacht ausgedrückt) so: Man erzeugt einen zPool, der aus einer oder mehreren Festplatten besteht; bei einer Festplatte scheint das noch nicht wirklich sinnvoll zu sein (aber es ist möglich).

Bei zwei Festplatten kann man Mirroring einstellen; die Daten werden also auf eine Platte geschrieben und auf die zweite gespiegelt. Fällt eine Platte aus, wird sie ersetzt und die Daten von der zweiten zurück gespiegelt.

Ab drei Festplatten kann ein RAID-Z1 eingerichtet werden. Das entspricht im Wesentlichen dem altbekannten RAID 5 (also zwei Datenplatten plus eine Paritäts-Platte).

Vier oder mehr Festplatten können als RAID-Z2 genutzt werden (zwei Datenplatten plus zwei Paritäts-Platten).

Innerhalb dieser zPools können dann Partitionen (bei ZFS „Datasets“, in der deutschen Übersetzung von TrueNAS „Datensätze“ genannt) eingerichtet werden. Die können dynamisch wachsen oder schrumpfen. Das Dateisystem bietet also eine gewisse Flexibilität. Das Charmante daran: Das alles läuft transparent – der Anwender (bzw. der Admin) merkt davon nichts.

Also legen wir los: Im Menü „Speicher“ gibt es einen Punkt „Pools“.

 

Wir klicken auf Hinzufügen. Im nächsten Fenster haben wir die Wahl, einen existierenden Pool zu importieren oder einen neuen zu erstellen. Da ich nagelneue Festplatten du keinen Pool zum Importieren habe, erstelle ich einen neuen.

 

Jetzt wird’s spannend: Das System zeigt eine Liste aller Festplatten an (außer der, auf der TrueNAS installiert ist). Die Platten, die ich dem Pool hinzufügen will, kann ich einfach markieren und mit einem Klick auf den Pfeil nach rechts übernehmen.

Ganz oben muss noch ein Name für den Speicherpool vergeben werden. Schließlich ist es möglich, mehrere Pools anzulegen; da ist es schon schön, wenn man die unterscheiden kann…

 

Rechts unten kann ich noch auswählen, wie der Pool aufgebaut werden soll:

  • Striping: Die Daten werden gleichmäßig über alle Festplatten verteilt. Die Vorteile sind zum einen die größtmögliche Speicherkapazität und zum anderen die hohe Lese- / Schreibgeschwindigkeit. Der Nachteil ist aber, dass diese Variante keinerlei Sicherheit birgt: Fällt eine Festplatte aus, sind alle Daten futsch. Das kommt also für mich nicht infrage.
  • Mirroring: Die Daten werden gespiegelt. Bei vier Festplatten heißt das, zwei Platten werden beschrieben und dann auf die anderen beiden „kopiert“. Das ist um einiges sicherer, aber auch nicht toll für mich – bei vier Platten hätte ich nur die doppelte Speicherkapazität.
  • RAID-Z: Vergleichbar mit RAID5 bzw. RAID6, also mit einer bzw. zwei Paritätsplatten.

Da ich „nur“ vier Platten verbaut habe, entscheide ich mich für RAID-Z – drei Platten plus eine Paritätsplatte. Wenn ich nun auf „Erstelle“ klicke, erscheint die obligatorische Warnung, dass alle Daten auf den Festplatten gelöscht werden:

 

Dann dauert es einen kleinen Augenblick, und wir landen wieder in der Übersicht:

 

Damit ist der Speicherpool eingerichtet, und wir können uns an die Freigaben machen.