ZFS

ZFS-Konzepte und Tutorial

ZFS-Konzepte und Tutorial

 ZFS: Konzepte und Tutorial

Ihr Streben nach Datenintegrität mit OpenZFS ist unumgänglich. Tatsächlich wäre es ziemlich bedauerlich, wenn Sie zum Speichern Ihrer wertvollen Daten etwas anderes als ZFS verwenden würden.  Viele Leute zögern jedoch, es auszuprobieren. Der Grund dafür ist, dass ZFS bei einem Dateisystem der Enterprise-Klasse mit einer Vielzahl von integrierten Funktionen schwierig zu verwenden und zu verwalten sein muss.  Nichts kann weiter von der Wahrheit entfernt sein. Die Verwendung von ZFS ist so einfach wie es nur geht. Mit einer Handvoll Terminologien und noch weniger Befehlen können Sie ZFS überall einsetzen – vom Unternehmen bis zu Ihrem Heim-/Büro-NAS.

Mit den Worten der Macher von ZFS: „Wir möchten das Hinzufügen von Speicher zu Ihrem System so einfach machen wie das Hinzufügen neuer RAM-Sticks.”

Wie das geht, werden wir später sehen. Ich werde FreeBSD 11 verwenden.1 Um die folgenden Tests durchzuführen, sind die Befehle und die zugrunde liegende Architektur für alle Linux-Distributionen ähnlich, die OpenZFS unterstützen.

Der gesamte ZFS-Stack kann in folgenden Schichten ausgelegt werden:

Zpool erstellen

Beginnen wir mit einem Setup, bei dem wir sechs 20-GB-Festplatten haben ada[1-6]

$ls -al /dev/ada?

Das ada0 dort ist das Betriebssystem installiert. Der Rest wird für diese Demonstration verwendet.

Die Namen Ihrer Festplatten können je nach verwendetem Schnittstellentyp unterschiedlich sein. Typische Beispiele sind: da0, ada0, acd0 und CD.  Nach innen schauen/devgibt Ihnen eine Vorstellung davon, was verfügbar ist.

EIN zpool wird erstellt von zpool erstellen Befehl:

$zpool create OurFirstZpool ada1 ada2 ada3 # Und dann den folgenden Befehl ausführen: $zpool status 

Wir werden eine ordentliche Ausgabe sehen, die uns detaillierte Informationen über den Pool gibt:

Dies ist der einfachste Zpool ohne Redundanz oder Fehlertoleranz… Jede Festplatte ist ihr eigenes vdev.

Sie erhalten jedoch immer noch die ganze ZFS-Qualität wie Prüfsummen für jeden gespeicherten Datenblock, damit Sie zumindest erkennen können, ob die von Ihnen gespeicherten Daten beschädigt sind.

Dateisysteme, a.k.a-Datensätze, können nun auf diesem Pool wie folgt erstellt werden:

$zfs erstellt OurFirstZpool/dataset1 

Benutze jetzt dein Vertrautes df -h Befehl oder Ausführen:

$zfs-Liste

So sehen Sie die Eigenschaften Ihres neu erstellten Dateisystems:

Beachten Sie, wie der gesamte von den drei Platten (vdevs) angebotene Speicherplatz für das Dateisystem zur Verfügung steht. Dies gilt für alle Dateisysteme, die Sie im Pool erstellen, sofern wir nichts anderes angeben.

Wenn Sie eine neue Festplatte hinzufügen möchten (vdev), ada4, Sie können dies tun, indem Sie Folgendes ausführen:

$zpool füge OurFirstZpool ada4 hinzu

Wenn Sie nun den Status Ihres Dateisystems sehen

Die verfügbare Größe ist jetzt gewachsen, ohne dass die Partition vergrößert oder die Daten auf dem Dateisystem gesichert und wiederhergestellt werden müssen.


Virtuelle Geräte - Vdevs

Vdevs sind die Bausteine ​​eines Zpools, der Großteil der Redundanz und Leistung hängt davon ab, wie Ihre Festplatten in diese sogenannten vdevs gruppiert sind . Sehen wir uns einige der wichtigsten Arten von vdevs an:

1. RAID 0 oder Stripes

Jede Festplatte fungiert als ihr eigenes vdev. Keine Datenredundanz und die Daten verteilen sich auf alle Festplatten disk. Auch bekannt als Striping. Der Ausfall einer einzelnen Festplatte würde bedeuten, dass der gesamte Zpool unbrauchbar wird. Der nutzbare Speicher entspricht der Summe aller verfügbaren Speichergeräte.

Der erste Zpool, den wir im vorherigen Abschnitt erstellt haben, ist ein RAID 0- oder Striped-Speicher-Array.

2. RAID 1 oder Mirror

Daten werden gespiegelt zwischen neinFestplatten. Die tatsächliche Kapazität des vdev ist insofern durch die Rohkapazität der kleinsten Festplatte begrenzt nein-Disk-Array. Daten werden gespiegelt zwischen nein Festplatten bedeutet dies, dass Sie dem Ausfall von n-1 Festplatten.

Um ein gespiegeltes Array zu erstellen, verwenden Sie das Schlüsselwort mirror:

$zpool Tankspiegel erstellen ada1 ada2 ada3

Die geschriebenen Daten Panzer zpool wird zwischen diesen drei Festplatten gespiegelt und der tatsächlich verfügbare Speicherplatz entspricht der Größe der kleinsten Festplatte, die in diesem Fall etwa 20 GB beträgt.

In Zukunft möchten Sie diesem Pool möglicherweise weitere Festplatten hinzufügen, und es gibt zwei Möglichkeiten, die Sie tun können. Zum Beispiel zpool Panzer hat drei Festplatten, die Daten als einen einzigen vdev-Spiegel-0 spiegeln:

Vielleicht möchten Sie eine zusätzliche Festplatte hinzufügen, sagen wir ada4, gleich die Daten spiegeln. Dies kann durch Ausführen des Befehls erfolgen:

$zpool Tank anhängen ada1 ada4

Dies würde dem vdev, der die Festplatte bereits enthält, eine zusätzliche Festplatte hinzufügen ada1 darin, aber den verfügbaren Speicherplatz nicht erhöhen.

Auf ähnliche Weise können Sie Laufwerke von einem Spiegel trennen, indem Sie Folgendes ausführen:

$zpool Tank abnehmen ada4

Auf der anderen Seite möchten Sie vielleicht einen zusätzlichen vdev hinzufügen, um die Kapazität von zpool zu erhöhen. Dies kann mit dem Befehl zpool add erfolgen:

$zpool Tankspiegel hinzufügen ada4 ada5 ada6


Die obige Konfiguration würde das Striping von Daten über die vdevs Mirror-0 und Mirror-1 ermöglichen. In diesem Fall können Sie 2 Festplatten pro vdev verlieren und Ihre Daten sind weiterhin intakt. Der nutzbare Gesamtspeicherplatz erhöht sich auf 40 GB.

3. RAID-Z1, RAID-Z2 und RAID-Z3

Wenn ein vdev vom Typ RAID-Z1 ist, muss es mindestens 3 Festplatten verwenden und der vdev kann den Untergang nur einer dieser Festplatten tolerieren. RAID-Z-Konfigurationen erlauben kein direktes Anhängen von Festplatten an ein vdev. Sie können jedoch weitere vdevs hinzufügen, indem Sie zpool hinzufügen, damit die Kapazität des Pools weiter steigen kann.

RAID-Z2 würde mindestens 4 Festplatten pro vdev erfordern und kann bis zu 2 Festplattenausfälle tolerieren. Wenn die dritte Festplatte ausfällt, bevor die 2 Festplatten ersetzt wurden, gehen Ihre wertvollen Daten verloren. Das gleiche gilt für RAID-Z3, das mindestens 5 Festplatten pro vdev erfordert, mit bis zu 3 Festplatten mit Ausfalltoleranz, bevor eine Wiederherstellung hoffnungslos wird.

Lassen Sie uns einen RAID-Z1-Pool erstellen und vergrößern:

$zpool erstelle Panzer-Raidz1 ada1 ada2 ada3

Der Pool verwendet drei 20-GB-Festplatten, die dem Benutzer 40 GB davon zur Verfügung stellen.

Das Hinzufügen eines weiteren vdev würde 3 zusätzliche Festplatten erfordern:

$zpool Panzer hinzufügen raidz1 ada4 ada5 ada6


Die gesamten nutzbaren Daten sind jetzt 80 GB und Sie können bis zu 2 Festplatten verlieren (eine von jedem vdev) und immer noch Hoffnung auf Wiederherstellung haben.

Fazit

Jetzt wissen Sie genug über ZFS, um alle Ihre Daten sicher hinein zu importieren. Von hier aus können Sie verschiedene andere Funktionen von ZFS nachschlagen, wie die Verwendung von Hochgeschwindigkeits-NVMes für Lese- und Schreibcaches, die Verwendung der integrierten Komprimierung für Ihre Datensätze und anstatt von all den verfügbaren Optionen überwältigt zu werden, suchen Sie einfach nach dem, was Sie für Ihre benötigen besonderer Anwendungsfall.

Inzwischen gibt es noch ein paar weitere hilfreiche Tipps zur Hardwareauswahl, die Sie beachten sollten:

  1. Verwenden Sie niemals Hardware-RAID-Controller mit ZFS.
  2. Fehlerkorrektur-RAM (ECC) wird empfohlen, ist aber nicht zwingend erforderlich
  3. Die Datendeduplizierungsfunktion verbraucht viel Speicher, verwenden Sie stattdessen die Komprimierung.
  4. Datenredundanz ist keine Alternative zum Backup. Haben Sie mehrere Backups, speichern Sie diese Backups mit ZFS!
SuperTuxKart für Linux
SuperTuxKart ist ein großartiger Titel, der entwickelt wurde, um Ihnen das Mario Kart-Erlebnis kostenlos auf Ihrem Linux-System zu bieten. Es ist ziem...
Battle for Wesnoth-Tutorial
The Battle for Wesnoth ist eines der beliebtesten Open-Source-Strategiespiele, die Sie derzeit spielen können. Dieses Spiel befindet sich nicht nur se...
0 A.D. Lernprogramm
Von den vielen Strategiespielen da draußen, 0 A.D. schafft es, sich trotz Open Source als umfassender Titel und sehr tiefgehendes, taktisches Spiel ab...