ZFS unter Ubuntu 20.04 konfigurieren

Nov 17, 2021
admin

Wenn Sie die Installation von ZFS unter Ubuntu 20.04 abgeschlossen haben, ist der nächste Schritt die Konfiguration Ihrer Festplatten. Es gibt viele Möglichkeiten mit ZFS, und was Sie tun, hängt davon ab, wie viele Festplatten Sie zur Verfügung haben und was Ihre Speicherziele sind. Möchten Sie zum Beispiel, dass sich Ihr Speicherarray auf Geschwindigkeit oder Redundanz konzentriert? Haben Sie 3 Festplatten oder 20? Wie sieht es mit der Verschlüsselung aus?

Für welche Art der Konfiguration Sie sich auch entscheiden, wir zeigen Ihnen in diesem Leitfaden, wie Sie loslegen können. Lesen Sie weiter, wir behandeln die grundlegenden Nutzungsbefehle in ZFS und die Einrichtung von zpools, RAID-Z, Verschlüsselung und mehr.

In diesem Tutorial werden Sie lernen:

  • Wie man ZFS auf Ubuntu 20.04 installiert
  • Wie man zpools erstellt und zerstört
  • Verschiedene RAID-Level und RAID-Z konfiguriert
  • Wie man Verschlüsselung mit ZFS verwendet
ZFS auf Ubuntu 20.04

ZFS auf Ubuntu 20.04

Softwareanforderungen und Linux-Befehlszeilen-Konventionen
Kategorie Verwendete Anforderungen, Konventionen oder Softwareversion
System Installiert oder aktualisiert Ubuntu 20.04 Focal Fossa
Software ZFS Utilities
Sonstiges Privilegierter Zugriff auf Ihr Linux-System als root oder über den Befehl sudo.
Konventionen # – erfordert, dass gegebene Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung des sudo-Befehls $ – erfordert, dass die angegebenen Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Voraussetzungen

Das Einzige, was Sie brauchen, um mit ZFS zu beginnen und unserer Anleitung zu folgen, ist Ubuntu 20.04 Focal Fossa, einige Festplatten, die Sie in Ihrem Speicherarray verwenden möchten, und die auf Ihrem System installierten ZFS-Dienstprogramme. Wenn Sie ZFS noch nicht installiert haben, können Sie ein Terminal öffnen und das Paket zfsutils-linux mit diesen beiden Befehlen installieren:

$ sudo apt update$ sudo apt install zfsutils-linux

Sie können die Installation von ZFS mit dem folgenden Befehl im Terminal überprüfen:

$ zfs --version
Prüfen Sie die ZFS-Version, um sicherzustellen, dass ZFS auf Ihrem System installiert ist

Prüfen Sie die ZFS-Version, um sicherzustellen, dass ZFS auf Ihrem System installiert ist

ZFS Grundlegende Verwendung und Befehle

Wir haben ein paar Festplatten in unserem Testsystem, die wir mit ZFS verwenden wollen. Wir werden Ihnen in diesem Abschnitt verschiedene Dinge zeigen, die Sie mit ihnen tun können.

Wenn Sie neue Festplatten in Ihr System einstecken, adressiert ZFS sie über ihren Gerätenamen – normalerweise etwas in der Art von /dev/sda oder ähnlich. Sie können den Befehl fdisk verwenden, um zu sehen, welche Festplatten Sie zur Verfügung haben.

$ sudo fdisk -l
Der fdisk-Befehl zeigt uns alle Festplatten auf unserem System, die in zpools verwendet werden können

Der fdisk-Befehl zeigt uns alle Festplatten auf unserem System, die in zpools verwendet werden können

Erstellen und Zerstören von ZFS-Speicherpools

ZFS funktioniert durch das „Zusammenfassen“ von Festplatten. Diese Pools (allgemein als „zpools“ bezeichnet) können für verschiedene RAID-Levels konfiguriert werden.

Der erste zpool, den wir uns ansehen werden, ist ein RAID 0. Dabei werden die Daten auf mehrere Festplatten verteilt. Wenn eine Datei von dem Speicherpool gelesen oder auf ihn geschrieben wird, arbeiten alle Festplatten zusammen, um einen Teil der Daten zu präsentieren. Dies bietet Ihnen einen Geschwindigkeitsschub für Ihre Lese- und Schreibgeschwindigkeiten, aber es trägt nichts zur Redundanz bei. Tatsächlich führt jeder Festplattenausfall im Pool zu einem vollständigen Datenverlust.

$ sudo zpool create mypool /dev/sdb /dev/sdc
Der Befehl zpool status zeigt unseren RAID 0 striped zpool

Der Befehl zpool status zeigt unseren RAID 0 striped zpool

Dieser Befehl hat einen ZFS-Speicherpool mit dem Namen „mypool“ mit zwei Festplatten, /dev/sdb und /dev/sdc, erstellt. Sie können jederzeit Details über Ihre Speicherpools anzeigen, indem Sie diesen Befehl ausführen:

$ zpool status

Und Sie können einen übersichtlicheren Bericht über Ihre ZFS-Speicherpools anzeigen, indem Sie ausführen:

$ zpool list
Ausgabe des Befehls zpool list

Ausgabe des Befehls zpool list

Ihr neu erstellter Pool wird automatisch für Sie gemountet, und Sie können ihn sofort verwenden. Eine nette Eigenschaft von ZFS ist, dass Sie keine langwierige Partitionierung (bei der Verwendung ganzer Festplatten) oder Formatierung vornehmen müssen. Der Speicher ist einfach sofort zugänglich.

$ df -hT | grep zfs
Verwenden Sie den Befehl df, um Ihren gemounteten zpool zu sehen

Verwenden Sie den Befehl df, um Ihren gemounteten zpool zu sehen

Wenn Sie dem Pool eine weitere Festplatte hinzufügen möchten, schauen Sie sich diesen Befehl an, bei dem wir die Festplatte /dev/sdd zu unserem zuvor erstellten mypool Speicherpool hinzufügen:

$ sudo zpool add mypool /dev/sdd

Sie können sehen, dass die Festplatte mit dem Befehl zpool status zum zpool hinzugefügt wurde.

Eine neue Festplatte wurde zu unserem zpool hinzugefügt

Eine neue Festplatte wurde zu unserem zpool hinzugefügt

Wir können unseren zpool jederzeit mit dem folgenden Befehl zerstören:

$ sudo zpool destroy mypool
Unser zpool wird zerstört

Unser zpool wird zerstört

Im Falle von RAID 0 zpools kann man keine Festplatte aus dem Pool entfernen, ohne den Pool komplett zu zerstören und alle Daten zu verlieren. ZFS hat viele verschiedene Optionen, von denen einige das Entfernen oder den Ausfall von Festplatten ermöglichen, während die Integrität des Pools erhalten bleibt.

Andere Arten von ZFS-Speicherpools werden auf die gleiche Weise erstellt, wie wir Ihnen oben gezeigt haben, aber Sie müssen ein zusätzliches Argument im zpool-Befehl angeben, wenn Sie den Pool erstellen. Schauen wir uns einige Beispiele an.

Ein gespiegelter Speicherpool ist das ZFS-Äquivalent zu RAID 1. Dadurch erhalten Sie Redundanz, da alle Daten von einer Festplatte auf eine oder mehrere andere gespiegelt werden. Um einen gespiegelten Speicherpool zu erstellen, verwenden Sie die folgende Befehlssyntax:

$ sudo zpool create mypool mirror /dev/sdb /dev/sdc
Erstellen eines gespiegelten (RAID 1) zpool

Erstellen eines gespiegelten (RAID 1) zpool

Natürlich können dem Pool weitere Festplatten hinzugefügt werden, um zusätzliche Redundanz zu schaffen.

Werfen wir nun einen Blick auf RAID-Z-Pools. RAID-Z ist RAID 5 sehr ähnlich, bietet aber eine höhere Geschwindigkeit und vermeidet einige der häufigen Fehler, die mit RAID 5 verbunden sind.

RAID-Z bietet Ihnen Geschwindigkeit und Redundanz, indem es Block-Level-Striping und verteilte Parität verwendet. Es gibt drei Arten von RAID-Z, je nachdem, wie viel Parität Sie wünschen.

  • raidz1 (oder nur raidz) – einfache Parität
  • raidz2 – doppelte Parität
  • raidz3 – dreifache Parität

So können Sie einen RAID-Z-Pool erstellen. Verwenden Sie raidz2 oder raidz3 anstelle von raidz in diesem Befehl, wenn Sie mehr Parität wünschen (bedenken Sie, dass Sie in diesem Fall auch zusätzliche Festplatten benötigen):

$ sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
Erstellen eines RAID-Z zpool

Erstellen eines RAID-Z zpool

Verschlüsselung auf ZFS

Nachdem Sie Ihren ZFS-Speicherpool erstellt haben, können Sie mit den folgenden Befehlen die Verschlüsselung darauf konfigurieren. Für dieses Beispiel verwenden wir weiterhin unseren RAID-Z-Pool mit drei Festplatten namens mypool.

$ sudo zfs create -o encryption=on -o keylocation=prompt -o keyformat=passphrase mypool/encrypted

Sie werden aufgefordert, zweimal eine Passphrase für die Verschlüsselung einzugeben.

Verschlüsselung mit ZFS konfigurieren

Verschlüsselung mit ZFS konfigurieren

Ein neues Verzeichnis wird unter /mypool/encrypted erstellt, und alles in diesem Verzeichnis wird verschlüsselt. Bei jedem Neustart müssen Sie den verschlüsselten Datensatz manuell einhängen. Achten Sie darauf, dass Sie beim Einhängen verschlüsselter Datensätze das Flag -l verwenden. Sie werden aufgefordert, die zuvor gewählte Passphrase einzugeben.

$ sudo zfs mount -l mypool/encrypted
Mounten des verschlüsselten ZFS-Datensatzes

Mounten des verschlüsselten ZFS-Datensatzes

Abschluss

ZFS ist ein Dateisystem, das sich auf hohe Verfügbarkeit und Datenintegrität konzentriert. Es ist perfekt für Storage/NAS-Server und jede Umgebung, in der Lese- und Schreibgeschwindigkeiten zusammen mit Festplattenredundanz entscheidend sind.

In dieser Anleitung haben wir einige grundlegende Nutzungsbefehle für ZFS in Ubuntu 20.04 Focal Fossa kennengelernt. Wir haben Ihnen gezeigt, wie Sie mit der Konfiguration von ZFS auf Ihrem eigenen System mit zpools beginnen können, aber die Konfiguration für ZFS kann viel umfangreicher werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.