ZFS unter Ubuntu installieren und einen Storage Pool erstellen

ZFS unter Ubuntu installieren und einen Storage Pool erstellen

Januar 10, 2022 0 Von Tobias

ZFS ist ein kombiniertes Dateisystem und logischer Datenträgerverwalter, das ursprünglich von einem Team bei Sun Microsystems unter der Leitung von Jeff Bonwick und Matthew Ahrens entwickelt und implementiert wurde. Zu den Merkmalen von ZFS gehören der Schutz vor Datenkorruption, eine hohe Speicherkapazität (256 ZiB), Snapshots und Copy-on-Write-Klone sowie eine kontinuierliche Integritätsprüfung, um nur einige zu nennen. Wenn Sie mit großen Datenmengen arbeiten oder ein Backup-Dateisystem für die Virtualisierung bereitstellen, ist ZFS eine hervorragende Wahl.

Diese Anleitung führt Sie durch die Installation von ZFS unter Ubuntu und die Einrichtung eines Speicherpools.

Was wird benötigt?

  • Ubuntu Server

ZFS installieren

Die Hauptkomponenten von ZFS werden als Standard-Ubuntu-Paket verwaltet, so dass wir zur Installation einfach diesen Befehl ausführen:

sudo apt install zfsutils-linux

Danach können wir überprüfen, ob ZFS korrekt installiert wurde, indem wir es ausführen:

whereis zfs

Jetzt sollte wir eine ähnliche Ausgabe wie diese hier sehen:

Nachdem wir nun die erforderlichen Pakete installiert haben, können wir einen Speicherpool erstellen!

Einen ZFS Storage Pool erstellen

Um einen ZFS Storage Pool zu erstellen müssen wir erstmal die Speichermedien die wir dafür vorsehen auswählen. Mit diesem Befehl können wir überprüfen welche HDDs wir installiert haben:

sudo fdisk -l

Notieren wir uns nun sorgfältig die Gerätenamen der Laufwerke, die wir zusammenfassen möchten.

Dies sind die beiden Laufwerke, die wir zusammenlegen werden:

ZFS Pool erstellen

Es gibt zwei Arten von einfachen Speicherpools, die wir erstellen können. Ein Striped-Pool, auch RAID-0 genannt, bei dem die Daten in „Streifen“ auf allen Laufwerken gespeichert werden, oder ein Mirrored-Pool, auch RAID-1 genannt, bei dem eine vollständige Kopie aller Daten auf jedem Laufwerk separat gespeichert wird. Striped Pools sind nicht fehlertolerant, während Mirrored Pools den Ausfall eines Laufwerks überstehen können. Striped Pools haben die doppelte Speicherkapazität von Mirrored Pools und eine bessere Leistung als Mirrored Pools.

Um einen Striped-Pool zu erstellen führen wir folgenden Befehl aus:

sudo zpool create new-pool /dev/sdb /dev/sdc

Um einen Mirrored Pool zu erstellen führen wir diesen Befehl aus:

sudo zpool create new-pool mirror /dev/sdb /dev/sdc

In beiden Beispielen ist „new-pool“ das Name des Pools.

Manchmal kann eine Fehlermeldung wie diese auftauchen:

Fügen Sie „-f“ am Ende des Befehls „zpool create“ hinzu, um ihn zu überschreiben.

In der Regel wird ein gespiegelter Pool empfohlen, da wir auch dann noch auf unsere Daten zugreifen können, wenn ein einzelnes Laufwerk ausfällt. Dies bedeutet jedoch, dass wir nur die Kapazität eines einzigen Laufwerks erhalten. Ein Striping-Pool bietet zwar den kombinierten Speicherplatz aller Laufwerke, wird aber nur selten empfohlen, da beim Ausfall eines Laufwerks alle Daten verloren gehen. Sie können sich auch für beides entscheiden oder die Bezeichnung zu einem späteren Zeitpunkt ändern, wenn Sie dem Pool weitere Laufwerke hinzufügen.

Der neu erstellte Pool wird unter /new-pool eingehängt. Sie können mit der Option -m einen anderen Mountpoint wählen:

sudo zpool create -m /usr/share/pool new-pool mirror /dev/sdb /dev/sdc

Der neu gemountete Pool erscheint für Ubuntu wie jeder andere Teil des Dateisystems.

Pool Status überprüfen

Wir überprüfen den Status des ZFS Pools mit folgendem Befehl:

sudo zpool status

Ergebnis:

Fertig. ZFS ist nun auf unserem Ubuntu Server installiert und ein entsprechender Pool erstellt.

Share