ZFS ist ein kombiniertes Dateisystem sowie ein logischer Volume-Manager, der RAID-ähnliche Funktionen mit Datenintegrität und vereinfachter Speicherverwaltung bietet. Es ermöglicht Ihnen, eine große Menge an Daten zu speichern und zu verwalten. Es wurde zuerst bei Sun Microsystems erstellt und ist jetzt Teil des OpenZFS-Projekts. Jetzt wurde es auf weitere Betriebssysteme portiert, darunter FreeBSD, Linux und Mac OSX. Der ZFS-Speicherpool kann eine große Datenmenge verarbeiten, die Ihnen die Möglichkeit bietet, Ihre Cloud-Lösung vor Ort zu erweitern.
In diesem Artikel zeigen wir Ihnen, wie Sie ZFS installieren und einen ZFS-Speicherpool einrichten. Aber bevor wir das Verfahren durchgehen, werfen wir einen Blick auf seine Funktionen:
Funktionen von ZFS
Einige der Funktionen von ZFS sind wie folgt:
- Gepoolter Speicher
- Open-Source
- Copy-on-Write
- Verschlüsselung
- Schnappschüsse
- Kontinuierliche Integritätsprüfung
- Effiziente Datenkomprimierung
- Verifizierung der Datenintegrität und automatische Reparatur
Wir werden Ubuntu 18.04 LTS verwenden, um das in diesem Artikel erwähnte Verfahren zu beschreiben.
Installation von ZFS auf Ubuntu
Um ZFS auf Ubuntu 18.04 LTS zu installieren, starten Sie das Terminal durch Drücken von Strg+Alt+T und geben Sie dann den folgenden Befehl ein:
$ sudo apt install zfsutils-linux
Warten Sie eine Weile, bis die Installation abgeschlossen ist.
Um die Installation zu überprüfen, führen Sie den folgenden Befehl im Terminal aus:
$ whereis zfs
Sie werden die Ausgabe ähnlich der unten sehen.
Erstellen eines ZFS-Speicherpools
Nach der Installation erstellen wir einen Pool von Laufwerken. Der erste Schritt beim Erstellen eines ZFS-Speicherpools besteht darin, zu wissen, welche Art von Pool Sie erstellen möchten. Entscheiden Sie dann, welche Laufwerke in den Speicherpool aufgenommen werden sollen.
1. ZFS-Pool-Typ auswählen
Es gibt zwei Arten von Pools, die Sie erstellen können:
Gestreifter Pool
In einem Striping-Pool wird eine Kopie der Daten auf allen Laufwerken gespeichert. Sie können kombinierten Speicher und eine schnellere Lese-/Schreibgeschwindigkeit erhalten. Wenn jedoch ein Laufwerk ausfällt, verlieren Sie alle Ihre Daten.
Gespiegelter Pool
In einem gespiegelten Pool wird eine einzige und vollständige Kopie der Daten auf allen Laufwerken gespeichert. Wenn ein Laufwerk ausfällt, können Sie immer noch auf Ihre Daten zugreifen.
2. Laufwerke zum Poolen auswählen
Jetzt müssen wir ermitteln, welche Laufwerke auf unserem System zum Poolen verfügbar sind. Um die Laufwerke herauszufinden, führen Sie den folgenden Befehl im Terminal aus:
$ sudo fdisk –l
Notieren Sie sich aus der Ausgabe des fdisk-Befehls die Namen der Laufwerke, die so etwas wie sda, sdb, sdc sein sollten.
In unserem Szenario stehen uns zwei Laufwerke zur Verfügung, nämlich sdb und sdc. Ich werde diese beiden Laufwerke verwenden, um einen Speicherpool zu erstellen.
3. Pool erstellen
Nachdem Sie sich für den Pool-Typ und die Laufwerke entschieden haben, die gepoolt werden müssen, besteht der nächste Schritt darin, einen Pool aus den oben genannten Laufwerken mit dem in Linux verfügbaren zpool-Befehl zu erstellen, der zum Konfigurieren von Speicherpools in ZFS verwendet wird.
Um einen Striped-Pool zu erstellen, führen Sie den folgenden Befehl im Terminal aus:
$ sudo zpool create <pool_name> <drive1> <drive2>
Um einen gespiegelten Pool zu erstellen, führen Sie den folgenden Befehl im Terminal aus:
$ sudo zpool <pool_name> mirror <drive1> <drive2>
Sie können je nach Ihren Speicheranforderungen einen beliebigen Pool erstellen. Wir erstellen einen gespiegelten Pool mit dem obigen Befehl:
Nachdem Sie den Pool erstellt haben, können Sie den detaillierten Status des zpools überprüfen, indem Sie den folgenden Befehl verwenden:
# zpool status
Verwenden Sie den folgenden Befehl im Terminal, um den Zustand des Pools und die Speicherplatznutzung anzuzeigen. Dieser Befehl zeigt auch die Festplatten an, die Sie für Ihren Speicherpool ausgewählt haben. Sie können später weitere Laufwerke hinzufügen, um die Redundanz weiter zu erhöhen.
$ zpool list
Führen Sie nun df –h aus , werden Sie feststellen, dass der neu erstellte Pool automatisch am Einhängepunkt eingehängt wird.
Der soeben erstellte Pool hat eine Größe von 1,9 GB und wird am Standard-Einhängepunkt /new-pool gemountet . Wenn Sie möchten, können Sie den Einhängepunkt mit der folgenden Syntax ändern:
$ sudo zfs set mountpoint=<path> <pool_name>
Zum Beispiel wollen wir /usr/share/pool setzen als neuen Einhängepunkt. wir werden zu diesem Zweck den folgenden Befehl verwenden:
$ sudo zfs set mountpoint=/usr/share/pool new-pool
Verwenden Sie df -h, um zu überprüfen, ob der Einhängepunkt erfolgreich geändert wurde Befehl
Aus den obigen Ergebnissen können Sie ersehen, dass der Einhängepunkt erfolgreich zum neuen Einhängepunkt /usr/share/pool geändert wurde ..
Nachdem der Speicherpool erstellt wurde, erstellen wir jetzt Datensätze und behalten alles in diesen Datensätzen. Diese Datensätze sind wie Verzeichnisse und haben einen Einhängepunkt.
Führen Sie zum Erstellen von Datensätzen den folgenden Befehl im Terminal aus:
$ sudo zfs create <pool_name>/directory_name
Ich möchte zum Beispiel einen Datensatz mit dem Namen docs erstellen unter meinem Lagerbecken. Ich werde den folgenden Befehl verwenden:
$ sudo zfs create new-pool/docs
Die soeben erstellten Datensätze werden automatisch mit dem Namen /new-pool/docs gemountet am Einhängepunkt /usr/share/pool die wir mit df -h anzeigen können Befehl.
$ df -h
Entfernen eines ZFS-Pools
Wenn Sie den Pool entfernen möchten, können Sie den Befehl zpool Destroy wie unten gezeigt verwenden:
# zpool destroy pool_name
Das war alles, was wir brauchten, um einen ZFS-Speicherpool in Ubuntu 18.04 LTS einzurichten. Jetzt können Sie damit beginnen, Ihre Dateien im neu erstellten Pool zu speichern. Es ist ein großartiges und leistungsstarkes Dateisystem, das Sie verwenden können, wenn Sie mit viel Speicherplatz arbeiten.