Ist RAID-Z auf einer einzelnen Festplatte dumm?

18

Wenn das gesamte Laufwerk ausfällt, hilft RAID-Z auf einer einzelnen Festplatte natürlich nicht weiter. Aber was ist mit anderen Arten von Fehlern?

Aus meiner Erfahrung habe ich manchmal eine Datei, die ich nicht lesen kann. Unter Mac OS X bleibt das System einige Zeit hängen und zeigt dann einen Fehler an. Ich verschiebe die Datei irgendwo aus dem Weg und gehe davon aus, dass diese Datei einen fehlerhaften Sektor oder einen fehlerhaften Block oder vielleicht sogar eine ganze fehlerhafte Spur hat.

Ich datiere auf Disketten-Tage zurück, in denen das manuelle Verwalten von Festplattenfehlern nur eine häufige Aktivität war. Natürlich würden Sie die fehlerhafte Diskette so schnell wie möglich ersetzen, aber manchmal konnten Sie das nicht sofort tun, so dass die Praxis darin bestand, den fehlerhaften Bereich zu finden, ihn einer Datei zuzuweisen und diese Datei dann niemals zu löschen.

Die erste Frage ist, wie Festplatten ausfallen. Sind meine obigen Annahmen gültig? Stimmt es, dass ein fehlerhafter Block fehlerhaft wird, das gesamte Laufwerk jedoch größtenteils noch verwendet werden kann? In diesem Fall scheint RAID-Z den fehlerhaften Block oder den fehlerhaften Bereich der Festplatte mithilfe der Parität der anderen Blöcke (Bereiche) reparieren zu können.

Der Anwendungsfall ist für die Sicherung. Wenn ich Daten einmal pro Woche auf ein 8-TB-Laufwerk schiebe, ist es sinnvoll, ein 7-TB-Laufwerk mit Daten plus 1 TB Parität in der Hoffnung zu betrachten, dass die zusätzliche Parität mir hilft, mich von Bit Rot, fehlerhaften Sektoren oder zu erholen andere lokalisierte Laufwerksfehler?

Wenn die Theorie technisch nicht fehlerhaft ist, kann ZFS dann so konfiguriert werden?

Bearbeiten: Ich habe die andere Frage gesehen, bevor ich diese Frage gestellt habe. Das Aufteilen in separate Partitionen, in denen jede Partition zusammengefasst ist, ist eine Option. Aber im Konzept könnte es möglich sein, die Blockabbildung für die N Partitionen miteinander zu verflechten, so dass ein Streifen, während er sich logischerweise über N Partitionen erstreckt, physikalisch sehr eng beieinander wäre. Dies war der Kern meiner Frage: "Kann ZFS dafür konfiguriert werden?" dh nur ZFS ... nicht ZFS mit Trick von Partitionen.

pedz
quelle
7
Wenn Sie eine Redundanz für eine einzelne Festplatte wünschen, ziehen Sie die Erstellung von par2- Archiven in Betracht . Mit ZFS könnten Sie festlegen copies=2, aber Sie werden dadurch eine 50% ige Speicherstrafe erleiden. Außerdem bin ich kein ZFS-Experte, aber meine (möglicherweise falsche) Intuition sagt mir, dass ZFS mit Ihrer vorgeschlagenen Lösung nicht zufrieden wäre. PAR2 ist eine ausgereifte, flexible Technologie. Wenn Sie es verwenden, wird nicht nur Ihre Paritätsanforderung erfüllt, sondern Sie können auch den Paritätsbetrag auf Archivbasis festlegen, falls dies gewünscht wird.
EEAA
Tracks auf Festplatten werden als Zylinder bezeichnet (da möglicherweise mehr als ein Plattenteller vorhanden ist).
LawrenceC
1
Wenn Laufwerke ausfallen, ist dies in der Regel ein beschleunigter Prozess. Die Rate der fehlerhaften Sektoren nimmt zu, bis das gesamte Laufwerk unbrauchbar wird. Wenn das Laufwerk fehlerhaft wird und RAID-Z Sie stillschweigend kompensiert, können Sie möglicherweise ein erfolgreich geschriebenes Backup erstellen. Wenn Sie es jedoch wiederherstellen, ist es nicht mehr benutzerfreundlich. Ich würde es vorziehen, wenn mein Sicherungsgerät während der Sicherung laut ausfällt, sobald es fehlerhaft wird, damit ich es austauschen und weiterhin darauf vertrauen kann, dass das, was erfolgreich geschrieben wurde, sicher lesbar ist.
Anthony X
@EEAA - klingt wie das, was ich verwenden werde. Vielen Dank. Und vielen Dank an alle, die kommentiert haben.
Pedz

Antworten:

23

Da die RAID-Z-Parität dadurch funktioniert, dass der Paritätsblock auf einem anderen Gerät im Pool vorhanden ist, müssen Sie Ihr Gerät in N + 1, N + 2 oder N + 3 Partitionen gleicher Größe partitionieren, wobei N Partitionen die Daten und 1/2 enthalten enthalten die Paritätsbits.

Auf diesen Partitionen erstellen Sie mit RAID-Z, das Sie ausgewählt haben, einen Zpool und anschließend ein Dateisystem auf dem Zpool.

Theoretisch funktioniert das also. In der Praxis würde dies die Leistung des Dateisystems beeinträchtigen, da sich die nachfolgenden Blöcke in Dateien auf verschiedenen ZPool-Geräten befinden, die sich auf verschiedenen Partitionen befinden. Nach dem Lesen eines Blocks muss sich die Festplatte also in einen anderen Bereich der Festplattenplatten bewegen, den nächsten Block lesen usw.

Die Antwort lautet: Ja, das wäre dumm.

Tero Kilkanen
quelle
2
Was ist mit einer SSD?
JFL
7
@JFL: NAND-Flash, das in SSDs verwendet wird, hat genau das Problem, das diese Lösung zu lösen versucht, nämlich das Sterben einzelner Blöcke. Tatsächlich ist es bei NAND ein so großes Problem, dass alle SSD-Controller es explizit für Sie verwalten. Infolgedessen ist der häufigste sichtbare Fehler bei SSDs ein Totalverlust des gesamten Geräts, wahrscheinlich gefolgt von einem Gerät, das nicht schreibgeschützt ist. Kein Problem profitiert von der hier verhinderten Lösung.
MSalters
6
Darüber hinaus ordnen SSDs Blöcke neu an. Eine der angewendeten Optimierungen für den Abnutzungsgrad ist das Gruppieren von Schreibvorgängen. Aufeinanderfolgende Schreibvorgänge auf verschiedenen Partitionen würden im selben Löschblock enden. Wenn also ein Löschblock ausfällt, verlieren Sie genau den Vorteil, dieselben Daten mehrmals zu speichern.
Liori