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