ZFS

Was ist RAID-Z??

Was ist RAID-Z??
Dateisysteme sind älter als UNIX selbst. Und seit wir begonnen haben, unser Leben auf Bänder, Festplatten und SSDs zu digitalisieren, ist eine Bedrohung eminent. Das ist ein Hardwarefehler. Auf Festplatten gespeicherte Daten sind oft teurer als die Festplatten selbst und diese Daten benötigen alle Redundanz, die wir aufbringen können.

RAID-Z ist eines der besten Tools, das dafür sorgt, dass Ihre Daten selbst auf der billigsten Sammlung von Festplatten so fehlerfrei wie möglich leben. Es ist ein Teil von OpenZFS. Sie können die Grundlagen von OpenZFS in diesem kurzen Artikel verstehen, wenn Sie noch nie davon gehört haben. Es ist ein Open-Source-Dateisystem der Enterprise-Klasse, das unter Linux, FreeBSD, Mac OS X, SmartOS, Illumos und anderen wichtigen Betriebssystemen verfügbar ist.

Aber zuerst… was ist RAID??

RAID steht für Redundant Array of Independent (Inexpensive) Disks. Dies bezieht sich auf die branchenweite Praxis, Daten nicht nur auf einer Festplatte, sondern auf mehreren Festplatten zu speichern, sodass die Daten selbst bei einem Festplattenausfall von anderen Festplatten rekonstruiert werden können. Die Art und Weise, wie Daten auf die Festplatten verteilt werden, ist für verschiedene Arten von Redundanzen unterschiedlich, entsprechend werden sie als RAID 0, RAID 1 usw. bezeichnet. Wir werden sie hier nicht behandeln. Wir würden uns auf ein RAIDZ konzentrieren, das spezifisch für OpenZFS ist.

RAID (und auch RAID-Z) ist nicht dasselbe wie das Schreiben von Datenkopien auf eine Backup-Festplatte. Wenn Sie zwei oder mehr Festplatten im RAID eingerichtet haben, werden die Daten gleichzeitig darauf geschrieben und alle Festplatten sind aktiv und online. Dies ist der Grund, warum sich RAID von Backups unterscheidet und vor allem warum RAID ist kein Ersatz für Backups. Wenn Ihr gesamter Server ausbrennt, könnten alle Online-Festplatten mit dem Server gehen, aber Backups werden Ihren Tag retten. Wenn ein einzelner Datenträger ausfällt und etwas nicht gesichert wurde, weil Sie dies nicht jeden Tag tun können, kann RAID Ihnen helfen, diese Informationen abzurufen.

Backups werden regelmäßig Kopien der relevanten Daten erstellt und RAID ist eine Echtzeit-Redundanz. Es gibt mehrere Möglichkeiten, wie Daten in herkömmlichen RAID-Systemen gespeichert werden, aber wir werden hier nicht darauf eingehen. Hier würden wir tief in RAIDZ eintauchen, eines der coolsten Features von OpenZFS.

Eine letzte Sache, bevor wir anfangen, traditionelles RAID empfiehlt manchmal die Verwendung von dedizierten Hardwaregeräten, um das RAID auszuführen. Dadurch bleiben dem Betriebssystem und dem Dateisystem die vorhandenen RAID-Mechanismen verborgen. Aber oft stößt die RAID-Karte (die dedizierte Hardware) selbst auf einen Fehler, der Ihr gesamtes Festplatten-Array im Wesentlichen nutzlos macht.

Um es zu umgehen, Sie müssen immer versuchen, OpenZFS ohne Hardware-RAID-Controller zu verwenden.

RAID-Z1, RAID-Z2, RAID-Z3

ZFS vereint die Aufgaben von Volume-Manager und Dateisystemen. Das bedeutet, dass Sie beim Erstellen eines neuen Pools die Geräteknoten für Ihre Festplatten angeben können und ZFS sie zu einem logischen Pool zusammenfasst und dann Datensätze für verschiedene Verwendungen wie /home, /usr usw. auf diesem Volume erstellen können create.

Das Einrichten von RAID-Z erfordert mindestens 3 oder mehr Festplatten. Sie können nicht weniger als drei Festplatten verwenden. Der Speicheranbieter kann etwas anderes sein, auch Network Attached Storage, virtuelles Blockgerät usw., aber bleiben wir als einfaches Beispiel bei drei Festplatten gleicher Größe sizes.

Die drei Festplatten können zu einem virtuellen Gerät (vdev) kombiniert werden. Dies ist der Baustein eines Zpools. Wenn Sie mit nur 3 Festplatten beginnen, haben Sie 1 vdev in Ihrem Zpool. Sie können 2 vdevs mit 6 Festplatten haben und so weiter.

Angenommen, Sie haben eine 1-GB-Datei, die Sie in diesem Pool speichern möchten. RAID-Z teilt es in zwei gleiche Teile von 512 MB auf und führt dann eine mathematische Operation zwischen ihnen durch, die einen dritten Teil von 512 MB (genannt Paritätsblock). Die drei Chunks werden dann in drei separate vdevs geschrieben. Die Datei dauert also 1.5 GB Speicherplatz insgesamt.

Der Vorteil ist jedoch, dass, wenn eine der Festplatten ausfällt, z. B. der erste Chunk verloren geht, der zweite Chunk und der Paritätsblock verwendet werden können, um den ersten neu zu erstellen. Wenn der zweite Teil verloren geht, können der erste und der dritte verwendet werden, um den zweiten neu zu erstellen.

Ihre Dateien verbrauchen 50 % mehr Speicherplatz als nötig, aber Sie können dem Ausfall einer Festplatte pro vdev standhalten. Das ist RAID-Z1.

Aber ein ZFS-Pool kann wachsen und irgendwann brauchen Sie mehr Platz. Nun, Sie können einem vdev nicht direkt weitere Festplatten hinzufügen (diese Funktion wird vorgeschlagen und könnte sich gerade in der Entwicklung befinden). Sie können jedoch ein vdev hinzufügen. Dies bedeutet, dass Sie Festplatten in Dreiergruppen hinzufügen und jeden neuen Satz als einzelnes logisches vdev behandeln können.

Sie können jetzt einen einzelnen Festplattenfehler in diesem neuen vdev und einen einzelnen Festplattenfehler in dem älteren tolerieren. Wenn jedoch mehr als eine Festplatte innerhalb eines einzelnen vdev ausfällt, kann dies nicht wiederhergestellt werden. Ihr gesamter Pool wird selbst für gesündere vdevs nutzlos.

Dies ist ein wirklich stark vereinfachtes Modell. Dateien werden nie genau in zwei Hälften geteilt, sondern Daten werden als Blöcke fester Länge behandelt. Darüber hinaus können Sie mehr als 3 Festplatten (aber 3 ist das Minimum) pro vdev verwenden und RAID-Z1 stellt sicher, dass jeder einzelne Datenblock so geschrieben wird, dass er nach dem Ausfall einer einzelnen Festplatte pro vdev wiederhergestellt werden kann. Zum Glück müssen Sie sich um diese internen Details nicht kümmern. Das ist die Verantwortung von ZFS. Sobald der Pool eingerichtet ist, werden die Daten automatisch optimal verteilt.

Die Fehlertoleranz ist weiterhin auf einen Festplattenfehler pro vdev beschränkt. Um darüber hinauszugehen, müssen wir zu RAID-Z2 gehen. RAID-Z2 funktioniert ähnlich, erstellt jedoch zwei Paritätsblöcke und zwei Datenblöcke aus einer einzigen Information. Dadurch kann es bis zu 2 Festplattenausfällen pro vdev standhalten. Außerdem muss ein vdev mindestens 4 Festplatten haben, wenn es ein RAID-Z2-Setup implementieren soll.

Ebenso erfordert RAID-Z3 mindestens 5 Festplatten pro vdev und kann dem Ausfall von 3 davon standhalten. RAID-Z3 ist nicht annähernd so platzsparend wie RAID-Z2, was nicht so platzsparend ist wie RAID-Z1.

Fazit

Bei RAID-Z sehen wir einen Kompromiss zwischen dem nutzbaren Speicherplatz einzelner Laufwerke und der Zuverlässigkeit, die die Sammlung solcher Laufwerke bieten kann. Mit einer größeren Anzahl von Festplatten steigt auch die Wahrscheinlichkeit, dass mehrere Festplatten gleichzeitig ausfallen.

Der beste Weg, dem entgegenzuwirken, ist eine effektive RAID-Z-Strategie, die sowohl Zuverlässigkeit als auch das beste Preis-Leistungs-Verhältnis bietet. Lassen Sie uns wissen, ob Sie dieses Tutorial nützlich fanden oder Fragen zu RAID-Z haben!

So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...
Weisen Sie Ihre Maustasten mit der X-Mouse Button Control für verschiedene Software unterschiedlich zu
Vielleicht benötigen Sie ein Tool, mit dem sich die Steuerung Ihrer Maus bei jeder von Ihnen verwendeten Anwendung ändern kann. In diesem Fall können ...
Microsoft Sculpt Touch Wireless-Maus Bewertung
Ich habe vor kurzem gelesen, dass Microsoft Sculpt Touch kabellose Maus und beschloss, sie zu kaufen. Nachdem ich es eine Weile benutzt hatte, beschlo...