ZFS mit zwei Festplatten: Ist das sinnvoll? Was ist die sicherste Konfiguration?

16

Ich plane gerade einen Dateiserver für den privaten Gebrauch (kleine Mengen verschiedener Arten von Daten, aber hauptsächlich Fotos, Videos, Musik). Ich werde wahrscheinlich NAS4free / FreeNAS verwenden und ZFS ausprobieren wollen.

Mein Fokus liegt nicht auf Geschwindigkeit, sondern auf Zuverlässigkeit und Datensicherheit. Trotzdem möchte ich die Dinge "billig" halten, also möchte ich ZFS gespiegelt auf zwei Festplatten ausführen ("RAID 1" -Mode). Ich werde mir ein Consumer Board kaufen, also keinen Hardware Raid Controller. Bisher denke ich daran, den ZFS-Befehl 'mirror' für diese oder die entsprechende Option von FreeNAS zu verwenden.

Wenn ich über dieses Thema lese, sehe ich hauptsächlich Leute, die drei Festplatten und dann RAIDZ-1 verwenden, wodurch sie immun sind, falls eine Festplatte ausfällt. Was ich bis jetzt nicht ganz verstehe, ist das Problem, wenn ZFS nur auf zwei Festplatten gespiegelt wird? Wie merke ich, wenn eine Festplatte ausfällt? Was ist die Failover-Strategie? Erhalte ich nur die Meldung, dass das Dateisystem nicht verwendbar ist, weil die Festplatte A ausfällt und ich sie jetzt ersetzen sollte ? Ich hoffe, dass man mit zwei gespiegelten Festplatten einen echten Vorteil erzielen kann, als nur mit einer.

In welchem ​​ZFS-Modus würden Sie bei zwei äquivalenten Festplatten arbeiten?

Jan-Philip Gehrcke
quelle

Antworten:

10

Für zwei Festplatten möchten Sie den mirrorModus. Dies führt dazu, dass die Laufwerke exakte Abbilder voneinander sind. Wenn ZFS versucht, einen Datenblock vom Laufwerk zu lesen und die Überprüfung fehlschlägt, versucht ZFS automatisch, ihn zu reparieren. Wenn die Reparatur fehlschlägt, wird sie vom anderen Laufwerk gelesen und das fehlerhafte Laufwerk als fehlerhaft markiert. Sie sollten eine Benachrichtigung erhalten, dass ein Laufwerk ausgefallen ist, das Dateisystem jedoch weiterhin verwendet werden kann. Sie erhalten einige Verbesserungen der Lesegeschwindigkeit, jedoch keine Verbesserungen der Schreibgeschwindigkeit. Solange Sie mindestens ein Laufwerk von einem Spiegelsatz haben, haben Sie alle Ihre Daten.

Mit raidzbenötigen Sie mindestens drei Laufwerke. Sie funktionieren ähnlich wie RAID5, bei dem (effektiv) ein Laufwerk Wiederherstellungsinformationen speichert und die anderen Laufwerke Daten speichern. Es kann jedes fehlerhafte Laufwerk behandeln, solange jeweils nur ein Laufwerk ausfällt .

raidz2und raidz3sind die gleichen wie raidz, mit der Ausnahme, dass sie zwei oder drei fehlerhafte Laufwerke behandeln können. Sie erfordern jedoch mehr Laufwerke für den Betrieb und reduzieren die effektive Kapazität.

Darth Android
quelle
Danke für die Klarstellung. Wenn RAIDZ also drei Laufwerke enthält, gibt es eine größere Nettokapazität als eines der Laufwerke, ja? Wären es in diesem Fall zwei Plattengrößen?
Jan-Philip Gehrcke
@ Jan-PhilipGehrcke Ja. Unter der Annahme, dass alle Laufwerke dieselbe Größe haben, hat ein Spiegel-Array dieselbe nutzbare Größe wie 1 Laufwerk (unabhängig von der Anzahl der verwendeten Festplatten), während RAIDZ über N-1 Laufwerke mit nutzbarem Speicherplatz verfügt. (Mit drei Laufwerken erhalten Sie zwei Laufwerke mit nutzbarem Speicherplatz, mit fünf Laufwerken erhalten Sie 4 Laufwerke mit nutzbarem Speicherplatz usw.).
Darth Android
2
"Mit raidz brauchst du mindestens drei Laufwerke." - Nicht wahr für raidz (einfache Parität). In den ZFS-Dokumenten heißt es: "Sie benötigen mindestens zwei Festplatten für eine RAID-Z-Konfiguration mit einfacher Parität und mindestens drei Festplatten für eine RAID-Z-Konfiguration mit doppelter Parität."
Poulsbo,
3

ZFS-Spiegelung ist der richtige Weg, wenn Sie zwei ähnliche Datenträger haben und Zuverlässigkeit und Datensicherheit suchen.

RAIDZ ist eine billigere Lösung, da ein geringerer Prozentsatz des Speichers für die Datensicherheit verwendet wird, die Spiegelung jedoch schneller ist.

In Bezug auf die Fehlererkennung und -behandlung müssen Sie Ihren Pool ( zpool status) überwachen, um festzustellen , ob Fehler vorliegen.

Möglicherweise schrubben Sie Ihren Pool regelmäßig, um den Zustand zu überprüfen ( zpool scrub poolname).

ZFS repariert sich automatisch selbst, sollte jedoch ein ganzer Datenträger ausfallen, müssten Sie dem Pool einen neuen Datenträger hinzufügen, um den defekten zu ersetzen. Der Pool wird dann automatisch die neue Festplatte neu versilbern (dh die Daten von der fehlerfreien Spiegelseite kopieren).

Ich bin nicht mit NAS4Free vertraut und empfehle daher nur die zu verwendenden CLI-Befehle. Die GUI sollte ein Front-End für die meisten oder alle von ihnen bereitstellen.

Beachten Sie, dass NAS4Free RAID - Level (0/1/5 und Kombination) sind anders als ZFS Streifen / Spiegel / raidz und Kombination. Ich würde vorschlagen, nur Letzteres zu verwenden, dh es ist nicht sinnvoll, einen ZFS-Pool auf einem Volume zu erstellen, das aus einem Software-RAID 1 (Spiegel) besteht. Sie würden viele Funktionen verlieren, die ZFS bietet.

jlliagre
quelle
Danke für deinen Beitrag. NAS4Free unterstützt anscheinend die Hauptfunktionen von ZFS-Speicherpools, z. B. mirror: wiki.nas4free.org/…
Jan-Philip Gehrcke
Hoffentlich schon. Ich habe Sie nur gewarnt, stattdessen keine traditionelle Spiegelung zu verwenden: wiki.nas4free.org/…
jlliagre
0

raid0 ist kein Spiegel, raid1 ist, und Sie können 2 Festplatten zum Einrichten von raid1 verwenden, die eine ausgefallene Festplatte tolerieren können. raid0 kann keinen Festplattenfehler tolerieren.

Sie benötigen jedoch mindestens 3 Festplatten für raidz.

johnshen64
quelle