Website-Suche

Konfigurieren von ZFS unter Ubuntu 20.04


Sobald Sie die Installation von ZFS auf Ubuntu 20.04 abgeschlossen haben, besteht der nächste Schritt darin, einige Konfigurationen mit Ihren Festplatten vorzunehmen. ZFS bietet viele Möglichkeiten, und wofür Sie sich entscheiden, hängt davon ab, wie viele Laufwerke Sie zur Verfügung haben und welche Speicherziele Sie verfolgen. Möchten Sie beispielsweise, dass sich Ihr Speicher-Array auf Geschwindigkeit oder Redundanz konzentriert? Haben Sie 3 oder 20 Festplatten? Wie sieht es mit der Verschlüsselung aus?

Unabhängig davon, für welche Art von Konfiguration Sie sich entscheiden, zeigen wir Ihnen in diesem Leitfaden, wie Sie loslegen können. Lesen Sie weiter, um grundlegende Befehle in ZFS und die Einrichtung von zpools, RAID-Z, Verschlüsselung und mehr zu behandeln.

In diesem Tutorial lernen Sie:

  • So installieren Sie ZFS unter Ubuntu 20.04
  • Wie man zpools erstellt und zerstört
  • Konfigurieren Sie verschiedene RAID- und RAID-Z-Stufen
  • So verwenden Sie die Verschlüsselung mit ZFS

ZFS unter Ubuntu 20.04

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/Ihren Speicher-Array(s) 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 den folgenden 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

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

Grundlegende Verwendung und Befehle von ZFS

Wir haben einige Festplatten in unserem Testsystem, die wir mit ZFS verwenden wollen. In dieser Rubrik zeigen wir Ihnen verschiedene Dinge, die Sie damit machen können.

Wenn Sie neue Festplatten an Ihr System anschließen, spricht ZFS sie mit ihrem Gerätenamen an – normalerweise etwas in der Art von /dev/sda oder ähnlich. Sie können den Befehl fdisk verwenden, um zu sehen, welche Festplatten Ihnen zur Verfügung stehen.


sudo fdisk -l

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

Erstellen und Löschen von ZFS-Speicher-Pools

ZFS funktioniert durch das "Pooling" von Festplatten. Diese Pools (allgemein als "zpools" bezeichnet) können für verschiedene RAID-Level konfiguriert werden.

Der erste Zpool, den wir uns ansehen werden, ist ein RAID 0. Dies funktioniert, indem Sie Ihre Daten auf mehrere Festplatten verteilen. Wenn eine Datei aus dem Speicherpool gelesen oder in den Speicherpool geschrieben wird, arbeiten alle Datenträger zusammen, um einen Teil der Daten darzustellen. Dies bietet Ihnen einen Geschwindigkeitsschub für Ihre Lese- und Schreibgeschwindigkeiten, tut aber nichts für die Redundanz. 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

Mit diesem Befehl wurde ein ZFS-Speicherpool mit dem Namen "mypool" mit zwei Festplatten (/dev/sdb und /dev/sdc) erstellt. Sie können jederzeit Details zu Ihren Speicherpools anzeigen, indem Sie den folgenden Befehl ausführen:


zpool status

Und Sie können einen prägnanteren Bericht Ihrer ZFS-Speicher-Pools erhalten, indem Sie Folgendes ausführen:


zpool list

Ausgabe des Befehls zpool list

Ihr neu erstellter Pool wird automatisch für Sie gemountet, und Sie können sofort mit der Verwendung beginnen. Ein nettes Merkmal von ZFS ist, dass Sie keinen langwierigen Partitionierungs- (bei der Verwendung ganzer Festplatten) oder Formatierungsprozess durchlaufen müssen. Der Stauraum ist einfach sofort zugänglich.


df -hT | grep zfs

Verwenden Sie den Befehl df, um Ihren gemounteten zpool anzuzeigen

Wenn Sie dem Pool eine weitere Festplatte hinzufügen möchten, werfen Sie einen Blick auf diesen Befehl, in 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 das Laufwerk mit dem Befehl zpool status zum zpool hinzugefügt wurde.

Unser zpool ist um eine neue Festplatte erweitert worden

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


sudo zpool destroy mypool

Zerstörung unseres Zpools

Im Fall von RAID 0 zpools können Sie keine Festplatte aus dem Pool entfernen, ohne den Pool vollständig zu zerstören und alle Daten zu verlieren. ZFS bietet viele verschiedene Optionen, von denen einige das Entfernen oder Versagen 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 oben gezeigt haben, aber Sie müssen beim Erstellen des Pools ein zusätzliches Argument im Befehl zpool angeben. Schauen wir uns einige Beispiele an.

Ein gespiegelter Speicherpool entspricht ZFS zu RAID 1. Dies bietet Ihnen Redundanz, da alle Ihre 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

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, verbessert es jedoch durch eine höhere Geschwindigkeit und vermeidet einige der häufigsten Fehler, die mit RAID 5 verbunden sind.

RAID-Z bietet Ihnen Geschwindigkeit und Redundanz durch die Verwendung von Block-Level-Striping und verteilter Parität. Es stehen drei Arten von RAID-Z zur Verfügung, 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 erstellen Sie einen RAID-Z-Pool. Verwenden Sie raidz2 oder raidz3 anstelle von raidz in diesem Befehl, wenn Sie mehr Parität wünschen (denken Sie daran, 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-Z-Z-Pools

Verschlüsselung auf ZFS

Nachdem Sie Ihr ZFS-Speicher-Pool erstellt haben, können Sie die Verschlüsselung mit den folgenden Befehlen konfigurieren. In diesem Beispiel verwenden wir immer noch 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, für die Verschlüsselung zweimal eine Passphrase einzugeben.

Konfigurieren der Verschlüsselung mit ZFS

Ein neues Verzeichnis wird unter /mypool/encrypted erstellt, und alles in diesem Verzeichnis wird verschlüsselt. Bei jedem Neustart müssen Sie das verschlüsselte Dataset manuell mounten. Achten Sie darauf, das Flag -l zu verwenden, wenn Sie verschlüsselte Datasets mounten. Sie werden aufgefordert, die Passphrase einzugeben, die Sie zuvor ausgewählt haben.


sudo zfs mount -l mypool/encrypted

Mounten des verschlüsselten ZFS-Datasets

Schlussfolgerung

ZFS ist ein Dateisystem, das auf Hochverfügbarkeit und Datenintegrität ausgerichtet ist. Es eignet sich perfekt für Speicher-/NAS-Server und alle Umgebungen, in denen Lese- und Schreibgeschwindigkeiten sowie Festplattenredundanz entscheidend sind.

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

Verwandte Artikel: