Connect with us

Wie man

Eine Einführung in das Z-Dateisystem (ZFS) für Linux

Eine Einführung in das Z-Dateisystem (ZFS) für Linux

ZFS wird häufig von Datenhortern, NAS-Liebhabern und anderen Freaks verwendet, die lieber auf ein eigenes redundantes Speichersystem als auf die Cloud vertrauen. Es ist ein großartiges Dateisystem für die Verwaltung mehrerer Datenplatten und kann mit einigen der besten RAID-Setups mithalten.

Foto von Kenny Louie.

Was ist ZFS und warum sollte ich es verwenden?

Das Z-Dateisystem ist ein kostenloser Open Source-Manager für logische Volumes, der von Sun Microsystems für die Verwendung in seinem Solaris-Betriebssystem entwickelt wurde. Einige der attraktivsten Funktionen sind:

Endlose Skalierbarkeit

Nun, das ist es nicht technisch endlos, aber es ist ein 128-Bit-Dateisystem, das Zettabyte (eine Milliarde Terabyte) Daten verwalten kann. Unabhängig davon, wie viel Festplattenspeicher Sie haben, ist ZFS für die Verwaltung geeignet.

Maximale Integrität

Alles, was Sie in ZFS tun, verwendet eine Prüfsumme, um die Dateiintegrität sicherzustellen. Sie können sicher sein, dass Ihre Dateien und ihre redundanten Kopien keine stille Datenbeschädigung aufweisen. Während ZFS damit beschäftigt ist, Ihre Daten stillschweigend auf Integrität zu überprüfen, werden jederzeit automatische Reparaturen durchgeführt.

Drive Pooling

Die Entwickler von ZFS möchten, dass Sie sich vorstellen, dass es der Art und Weise ähnelt, wie Ihr Computer RAM verwendet. Wenn Sie mehr Speicher in Ihrem Computer benötigen, stecken Sie einen anderen Stick ein und fertig. Wenn Sie bei ZFS mehr Speicherplatz auf der Festplatte benötigen, legen Sie eine weitere Festplatte ein und sind fertig. Sie müssen keine Zeit damit verbringen, Ihre Festplatten zu partitionieren, zu formatieren, zu initialisieren oder etwas anderes zu tun. Wenn Sie einen größeren Speicherpool benötigen, fügen Sie einfach Festplatten hinzu.

RAID

ZFS unterstützt viele verschiedene RAID-Levels und bietet gleichzeitig eine Leistung, die mit der von Hardware-RAID-Controllern vergleichbar ist. Auf diese Weise können Sie Geld sparen, die Einrichtung vereinfachen und auf überlegene RAID-Level zugreifen, die ZFS verbessert hat.

ZFS installieren

Da wir in diesem Handbuch nur die Grundlagen behandeln, werden wir ZFS nicht als Root-Dateisystem installieren. In diesem Abschnitt wird davon ausgegangen, dass Sie ext4 oder ein anderes Dateisystem verwenden und ZFS für einige sekundäre Festplatten verwenden möchten. Hier sind die Befehle zum Installieren von ZFS auf einigen der beliebtesten Linux-Distributionen.

Solaris und FreeBSD sollten bereits mit installiertem und einsatzbereitem ZFS geliefert werden.

Ubuntu:

$ sudo add-apt-repository ppa:zfs-native/stable
$ sudo apt-get update
$ sudo apt-get install ubuntu-zfs

Debian:

$ su -
# wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
# dpkg -i zfsonlinux_2~wheezy_all.deb
# apt-get update
# apt-get install debian-zfs

RHEL / CentOS:

$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
$ sudo yum install zfs

Wenn Sie eine andere Distribution haben, checken Sie aus zfsonlinux.org Klicken Sie in der Liste „Pakete“ auf Ihre Distribution, um Anweisungen zur Installation von ZFS zu erhalten.

Wenn wir mit diesem Handbuch fortfahren, werden wir Ubuntu verwenden, da dies die erste Wahl für Linux-Geeks zu sein scheint. Sie sollten weiterhin in der Lage sein, unabhängig davon, was passiert, da sich die ZFS-Befehle nicht über verschiedene Verteilungen hinweg ändern.

Die Installation dauert eine Weile, aber sobald sie abgeschlossen ist, führen Sie sie aus $ sudo zfs list um sicherzustellen, dass es richtig installiert ist. Sie sollten eine Ausgabe wie folgt erhalten:

Wir verwenden derzeit eine Neuinstallation des Ubuntu-Servers mit nur einer Festplatte.

ZFS konfigurieren

Nehmen wir jetzt an, wir haben sechs weitere Festplatten in unseren Computer eingelegt.

$ sudo fdisk -l | grep Error zeigt uns die sechs Festplatten, die wir gerade installiert haben. Sie sind derzeit unbrauchbar, da sie keine Partitionstabelle enthalten.

Wie bereits erwähnt, ist eines der schönen Dinge an ZFS, dass wir uns nicht um Partitionen kümmern müssen (obwohl Sie dies können, wenn Sie möchten). Beginnen wir damit, drei unserer Festplatten zu nehmen und sie mit dem folgenden Befehl in einen Speicherpool zu legen:

$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd

zpool create ist der Befehl zum Erstellen eines neuen Speicherpools. -f überschreibt alle auftretenden Fehler (z. B. wenn die Festplatte (n) bereits Informationen enthält), geek1 ist der Name des Speicherpools und /dev/sdb /dev/sdc /dev/sdd sind die Festplatten, die wir in den Pool legen.

Nachdem Sie Ihren Pool erstellt haben, sollten Sie ihn mit dem anzeigen können df Befehl oder sudo zfs list::

Wie Sie sehen können, wurde / geek1 bereits gemountet und ist einsatzbereit.

Wenn Sie sehen möchten, welche drei Festplatten Sie für Ihren Pool ausgewählt haben, können Sie sie ausführen sudo zpool status::

Bisher haben wir einen dynamischen 9-TB-Stripe-Pool erstellt (effektiv RAID 0). Falls Sie nicht wissen, was das bedeutet, stellen Sie sich vor, wir haben eine 3-KB-Datei auf / geek1 erstellt. 1 KB wird automatisch an sdb, 1 KB an sdc und 1 KB an sdd gesendet. Wenn wir dann die 3-KB-Datei lesen, zeigt uns jede Festplatte 1 KB an und kombiniert die Geschwindigkeit der drei Laufwerke. Dies macht das Schreiben und Lesen von Daten schnell, bedeutet aber auch, dass wir einen einzigen Fehlerpunkt haben. Wenn nur eine Festplatte ausfällt, verlieren wir unsere 3-KB-Datei.

Angenommen, der Schutz Ihrer Daten ist wichtiger als der schnelle Zugriff darauf, werfen wir einen Blick auf andere beliebte Setups. Zuerst löschen wir den von uns erstellten Zpool, damit wir diese Festplatten in einem redundanteren Setup verwenden können:

$ sudo zpool destroy geek1

Bam, unser Zpool ist weg. Verwenden Sie dieses Mal unsere drei Festplatten, um einen RAID-Z-Pool zu erstellen. RAID-Z ist im Grunde eine verbesserte Version von RAID 5, da es die „Loch schreiben”Mit Copy-on-Write. RAID-Z erfordert mindestens drei Festplatten und ist eine Art Kompromiss zwischen RAID 0 und RAID 1. In einem RAID-Z-Pool erhalten Sie immer noch die Geschwindigkeit des Striping auf Blockebene, haben aber auch eine verteilte Parität. Wenn eine einzelne Festplatte in Ihrem Pool ausfällt, ersetzen Sie diese Festplatte einfach, und ZFS erstellt die Daten automatisch basierend auf den Paritätsinformationen der anderen Festplatten neu. Um alle Informationen in Ihrem Speicherpool zu verlieren, müssten zwei Festplatten sterben. Um die Redundanz noch zu erhöhen, können Sie RAID 6 (RAID-Z2 bei ZFS) verwenden und eine doppelte Parität aufweisen.

Um dies zu erreichen, können wir dasselbe verwenden zpool create Befehl wie zuvor, aber angeben raidz nach dem Namen des Pools:

$ sudo zpool create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd

Wie du siehst, df -h zeigt, dass unser 9-TB-Pool jetzt auf 6 TB reduziert wurde, da 3 TB zum Speichern von Paritätsinformationen verwendet werden. Mit dem zpool status Befehl sehen wir, dass unser Pool größtenteils der gleiche wie zuvor ist, aber jetzt RAID-Z verwendet.

Um zu zeigen, wie einfach es ist, unserem Speicherpool weitere Festplatten hinzuzufügen, fügen wir die anderen drei Festplatten (weitere 9 TB) als weitere RAID-Z-Konfiguration zu unserem Geek1-Speicherpool hinzu:

$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg

Am Ende haben wir:

Die Saga geht weiter…

Wir haben die Oberfläche von ZFS und seine Funktionen kaum abgekratzt, aber mit dem, was Sie in diesem Artikel gelernt haben, sollten Sie jetzt in der Lage sein, redundante Speicherpools Ihrer Daten zu erstellen. Besuchen Sie uns für zukünftige Artikel über ZFS, lesen Sie die Manpages und suchen Sie nach den endlosen Nischenhandbüchern und Youtube-Videos, die ZFS-Funktionen abdecken.

Continue Reading
Click to comment

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Tendencia