ZFS unter Ubuntu 20.04 konfigurieren
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
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
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
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
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
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
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.
Wir können unseren zpool jederzeit mit dem folgenden Befehl zerstören:
$ sudo zpool destroy mypool
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
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
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.
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
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.