Konfiguration TrueNAS - Erstellen eine Daten-Pools

Veröffentlicht am 16. August 2024 • 4 Min. Lesezeit • 811 Wörter

Nachdem TrueNAS selbst installiert ist, wird zunächst ein Daten-Pool erzeugt, dessen Layout massgeblich Einfluss auf die Leistung des Netzwerkspeichers hat.

Konfiguration TrueNAS - Erstellen eine Daten-Pools
Foto von Growtika  auf Unsplash 

Serie TrueNAS

Dies ist ein Beitrag im Rahmen der Serie TrueNAS - das NAS im Homelab .

Konfiguration TrueNAS

Die Verschiedenen Daten-Pool Layouts

TrueNAS setzt intern auf das ZFS Filesystem auf, weshalb im Kontext von TrueNAS gerne die äquivalenten ZFS Bezeichnungen verwendet werden (RAID 5 <-> RAID-Z1, RAID 6 <-> RAID-Z2). Die Idee Daten auf verschiedene Platten zu verteilen ist aber die gleiche.

Raid Level (1 VDEV) Pro Con Main Usage
RAID-0 Striping Nutzkapazität ist Summe aller Einzelkapazitäten, max. hohe Lese-/Schreib-Geschwindigkeit keine Redundanz nur geeignet, wenn die Daten verloren gehen können
RAID-1 Mirroring hohe Lese-Geschwindigkeit geringere Schreib-Geschwindigkeit, die Anzahl Festplatten muss durch 2 teilbar sein, Nutzkapazität max. 50% Wenn max. viele gleichzeitige Lese-/Schreib-Operationen und Ausfallsicherheit gefordert sind
RAID-Z1 Stripping, 1 Parity 1 defekte Festplatte kann kompensiert werden, geringere Lese-/Schreib-Geschwindikeit die mit der Anzahl Festplatten steigt Nutzkapazität ist (Anzahl Festplatten minus 1) * kleinste Einzelkapazität Kompromiss zwischen Nutzkapazität/Redundanz und Geschwindigkeit
RAID-Z2 Stripping, 2 Parity 2 defekte Festplatten können kompensiert werden, geringere Lese-/Schreib-Geschwindikeit die mit der Anzahl Festplatten steigt Nutzkapazität ist (Anzahl Festplatten minus 2) * kleinste Einzelkapazität Kompromiss zwischen Nutzkapazität/Redundanz und Geschwindigkeit
RAID-Z3 Stripping, 3 Parity 3 defekte Festplatten können kompensiert werden, geringere Lese-/Schreib-Geschwindikeit die mit der Anzahl Festplatten steigt Nutzkapazität ist (Anzahl Festplatten minus 3) * kleinste Einzelkapazität Kompromiss zwischen Nutzkapazität/Redundanz und Geschwindigkeit
Zusammenfassung von: iX systems whitepaper - ZFS STORAGE POOL LAYOUT

Anmerkungen zu Lese-/Schreib-Geschwindigkeiten

  • Eine aktuelle rotierende Festplatte kann Daten mit etwa 150MB/s lesen und schreiben. Heimnetzwerke sind aufgrund der günstigen Komponenten noch häufig 1 GBit Netzwerke, die damit Daten mit rund 100 MB/s verschieben können. In diesem Kontext ist es absolut vernünftig die höhere Nutzkapazität eines RAID-Z1 oder RAID-Z2 der höheren Geschwindigkeit eines RAID-1 Layout vorzuziehen.
  • Aus dem selben Grund bietet ein NAS nur bestehend aus SSDs keine Vorteile bei der maximalen Übertragungs-Geschwindigkeit. Es wird jedoch einen spürbaren Vorteil gegenüber rotierenden Festplatten zeigen, wenn häufig sehr viele kleine Dateien bewegt werden.
  • Je nach Nutzungsart eines NAS, bestehend aus rotierenden Festplatten, kann sich eine Leistungssteigerung ergeben wenn dem System ein SSD ZFS L2ARC Lese-Cache beigestellt wird. (siehe weiter unten Definition des Pool-Layouts, optionales Cache)
  • Besteht die Möglichkeit eine größere Anzahl Festplatte (~ >10) einzusetzen, bietet das ZFS Dateisystem und damit auch TrueNAS die Möglichkeit, mehrere VDEVs parallel zu definieren. Dies ermöglicht es anfallende Lese-/Schreib-Zugriffe noch besser im System zu verteilen und damit wesentlich zu steigern. Mehrere VDEVs werden in diesem Artikel nicht weiter behandelt.

Erstellen eines Daten-Pools

Auf der TrueNAS Startseite gelangt man über -> Storage zum Bereich der Speicherverwaltung


Über -> Storage -> Disks erhält man die Liste der im System erkannten Festplatten. Hier sollten sich nun einige Disks befinden, die noch keinem Pool zugeordnet sind (N/A)


Einen neuen Pool kann man über den Pool Creation Wizard (-> Storage -> Create Pool) erstellen, der Schritt für Schritt bzw. Sektion für Sektion durch die Erstellung führt.


In der Sektion General Info vergibt man einen Namen für den zu erstellenden Pool

  • Name: Test-Pool

In der Sektion Data wir das Layout des Pools festgelegt. Am Anfang dieses Artikels habe ich in einer Tabelle die Vor- und Nachteile einer Auswahl von Layouts zusammengefasst. In diesem Beispiel soll ein RAID 5 / RAID-Z1 aus allen vier Platten erstellt werden, es kann also eine Platte defekt ausfallen und alle Daten bleiben weiterhin verfügbar.

  • Layout: RAID-Z1
  • Disk Size: vorgegeben 20GB
  • Width: 4
  • Number of VDEVs: wird zu 1 berechnet, da alle Platten bereits eingebunden sind

das ganze lässt sich auch manuell zusammenstellen

  • Layout: RAID-Z1

  • -> Manual Disk Selection


  • -> Add VDEV


  • Nun können die benötigten Festplatten per Drag&Drop in das VDEV gezogen werden.

Das Ergebnis ist das selbe wie bei der Eingabe per Tastatur


-> Save Selection

In der Sektion LOG (Optional) können dedizierte Festplatten als write-cache hinzugefügt werden

  • ohne Cache weiter

In der Sektion Spare (Optional) können Festplatten hinzugefügt werden, die im Fall des Ausfall einer anderen Pool-Platte sofort einspringt

  • ohne Spare Disk weiter

In der Sektion Cache (Optional) können dedizierte Festplatten als ZFS L2ARC read-cache hinzugefügt werden

  • ohne Cache weiter

In der Sektion Metadata (Optional) können dedizierte Festplatten zum Beschleunigen des Meta Data und Block IO hinzugefügt werden

  • ohne Cache weiter

In der Sektion Dedup (Optional) können dedizierte Festplatten für De-duplication Tabellen hinzugefügt werden

  • ohne De-duplication VDEV weiter

Die Sektion Review fasst die Eingaben zusammen


-> Create Pool um den Pool zu erstellen

Bestätigen, dass der Inhalt aller Festplatten gelöscht wird -> Continue


Daraufhin wird der Pool erstellt


Der Pool wurde erstellt und das Dashboard für diesen Pool wird dargestellt.


Fazit

Mit wenigen Schritten kann in TrueNAS ein Datenpool definiert werden, der den persönlichen Wünschen und Möglichkeiten bzgl. Leistung und Kosten entspricht.

Im Beitrag Konfiguration TrueNAS - Erstellen einer Samba Freigabe wird nun endlich ein Teil dieses Datenpools verwendet, um Speicher via Samba im Netzwerk zur Verfügung zu stellen.

Referenzen