So verwenden Sie das ZFS-Dateisystem unter Linux

Das ZFS-Dateisystem erfreut sich enormer Beliebtheit. Viele Unternehmen setzen es daher zur Speicherung von riesigen Datenmengen ein. Trotz dieser Popularität ist es nicht ohne Weiteres für Linux-Nutzer verfügbar. Wer es testen oder als primäres Speichersystem einsetzen möchte, muss es zunächst installieren.

Die Installation von ZFS unterscheidet sich von anderen Dateisystemen und erfordert je nach Anwendung möglicherweise etwas technisches Wissen. Für Einsteiger empfiehlt sich Ubuntu, da Canonical den Einstieg in ZFS ab Ubuntu 16.04 sehr einfach gestaltet hat. Darüber hinaus gilt Ubuntu aufgrund seiner unkomplizierten Einrichtung und des zuverlässigen Build-Prozesses als die sicherste ZFS-Implementierung unter Linux (während andere Linux-Distributionen ein höheres Risiko für ZFS-Beschädigungen aufweisen).

Eine detaillierte Anleitung zur Installation von ZFS finden Sie hier. Folgen Sie den Schritten, um das System zum Laufen zu bringen, bevor Sie mit diesem Tutorial fortfahren.

Hinweis: Obwohl ZFS auch mit einer einzigen Festplatte verwendet werden kann, ist dies nicht empfehlenswert, da viele der Vorteile dieses Dateisystems verloren gehen. Das System ist darauf ausgelegt, Redundanz zu schaffen, indem Daten auf mehrere Festplatten verteilt werden. Stellen Sie daher sicher, dass Sie mehr als eine Festplatte für ZFS verwenden, bevor Sie fortfahren.

ZFS einrichten

Das ZFS-Dateisystem bündelt mehrere Festplatten zu einem großen Speicherzentrum. Obwohl dies komplex klingt, führt es zu einer überlegenen Datenspeicherung mit deutlich mehr Kapazität.

Das Erstellen eines neuen ZFS-Dateisystems ist etwas aufwändiger als das einfache Öffnen des Gparted-Partitionseditors. Stattdessen ist die Interaktion über die Befehlszeile erforderlich. Geben Sie im Terminalfenster den Befehl lsblk ein. Dieser Befehl listet alle Speicherlaufwerke Ihres Linux-PCs auf.

Prüfen Sie die Liste und entscheiden Sie, welche Festplatten Sie für Ihren Z-Pool verwenden möchten, und merken Sie sich die zugehörigen Namen. In diesem Tutorial verwenden wir die drei Laufwerke /dev/sdb, /dev/sdc und /dev/sdd für den ZFS-Pool.

Als Nächstes müssen Sie die für den Z-Pool ausgewählten Festplatten vollständig mit Nullen überschreiben, um sicherzustellen, dass keine alten Daten vorhanden sind. Nutzen Sie dazu den Befehl dd, um die Laufwerke zu überschreiben. Dies kann einige Zeit in Anspruch nehmen.

Hinweis: Ersetzen Sie /dev/sdX durch die Laufwerks-ID, die Sie mit dem Befehl lsblk ermittelt haben (z.B. sdb).

sudo dd if=/dev/zero of=/dev/sdX bs=8M

Sobald dd abgeschlossen ist, führen Sie den Befehl fdisk aus. Dieser zeigt zahlreiche Informationen zu den Festplatten an, darunter auch Dateisysteminformationen. Überprüfen Sie, ob keines der gelöschten Laufwerke ein Dateisystem enthält. Dieser Schritt ist wichtig, da ZFS keine traditionelle Partitionierung verwendet.

sudo fdisk -l

Wenn die Ausgabe von fdisk in Ordnung ist, können Sie einen neuen ZFS-Z-Pool erstellen. Für eine grundlegende Z-Pool-Einrichtung verwenden Sie den folgenden Befehl:

sudo zpool create -f newzpool /dev/sdb /dev/sdc /dev/sdd

Eine solche grundlegende Einrichtung ist für die meisten Benutzer ausreichend. Wer seine Daten jedoch besonders schützen möchte, sollte ein ZFS-Pool mit RaidZ in Betracht ziehen.

Die Verwendung von RaidZ in Ihrem ZFS-Pool gewährleistet, dass Ihre Daten durch Redundanz gesichert sind. Um einen ZFS-Pool mit RaidZ zu erstellen, verwenden Sie folgenden Befehl:

sudo zpool create -f newzpool raidz /dev/sdb /dev/sdc /dev/sdd

Um Dateien zu Ihrem neuen ZFS-Speicherpool hinzuzufügen, öffnen Sie den Dateimanager und navigieren Sie zum Stammverzeichnis. Legen Sie Dateien dort in den Ordner ab, den Sie Ihrem ZFS-Zpool gegeben haben.

Festplatten zum ZFS-Zpool hinzufügen

ZFS ist dafür gedacht, große Datenmengen zu speichern. Dennoch können die ursprünglichen Laufwerke irgendwann voll sein. Glücklicherweise ist das Hinzufügen von weiterem Speicherplatz zu einem bestehenden ZFS-System einfach, da ZFS keine Partitionen benötigt.

In diesem Beispiel fügen wir zwei weitere Laufwerke (/dev/sde und /dev/sdf) zum Zpool hinzu.

Hinweis: Wenn Ihr ZFS-Setup kein RaidZ verwendet, entfernen Sie dieses aus dem Befehl.

sudo zpool add -f newzpool raidz /dev/sde /dev/sdf

Löschen eines ZFS-Pools

In manchen Fällen kann ein ZFS-Volume beschädigt und unbrauchbar werden. Dann ist es nötig, den Speicherpool zu löschen. Zum Löschen öffnen Sie ein Terminal und geben den Befehl zpool destroy ein.

sudo zpool destroy newzpool

Das Ausführen von zpool destroy kann je nach Datenmenge im Pool einige Zeit dauern. Der Pool ist vollständig zerstört, wenn das Terminal wieder reagiert.

ZFS-Status prüfen

Eine schnelle Möglichkeit, den Zustand des Zpools zu überprüfen, ist der Befehl zpool status. Dieser ermöglicht es, einen grundlegenden Überblick über den Zustand des ZFS-Volumes, einschließlich Fehlermeldungen, zu erhalten. Verwenden Sie den folgenden Befehl:

zpool status