Was sind die Vor- und Nachteile von RAID6 und RAIDZ2?
Da man auch ZFS auch mit Raid-6 machen könnte, will ich kurz auf die Vorteile eingehen, die sich bei Raid mit ZFS ergeben
Der wichtigste Unterschied liegt zunächst nicht im Raid sondern im Dateisystem.
Bei Raid-6 kann man beliebige Dateisysteme nehmen, ZFS inclusive. Das ist aber da wenig sinnnvoll da dann die Reparatur defekter Daten bei Prüfsummenfehlern nicht mehr möglich ist.
Der wichtigste Vorteil von ZFS ist aber das CopyOnWrite Dateisystem.
Dadurch werden bei Änderungen alle Datenblöcke neu erstellt. Passiert dabei etwas (Stromausfall) bleibt der alte Stand aktiv. Es gibt daher von der Konzeption des Dateisystems kein korruptes Dateisystem und daher auch kein "Reparaturtool" wie fschk wie bei älteren Dateisystemen. Wobei das ja lustig ist. Da die keine Prüfsummen haben, gibt es keine echte Reparatur mangels Kenntnis ob Daten korrupt sind oder nicht. Da werden keine Daten repariert sondern lediglich die Dateisystruktur untersucht.
Dies hat bei Raid die Auswirkung. dass es kein Write-Hole-Problem gibt. Ein ZFS Raid Stripe (oder mirrorblock bei einem Spiegelsatz) wird entweder komplett auf das Raid (= alle Platten) geschrieben oder die Änderung wird verworfen. Damit auch kein korruptes Dateisystem oder inkonsistentes Raid bei Stromausfall. (
"Write hole" phenomenon in RAID5, RAID6, RAID1, and other arrays. ) wie bei einem normalen Mirror oder Raid 5/6.
Schöner Nebeneffekt von CopyOnWrite sind die Snapshots (Dateiversionierung). Da wird nach Änderungen der alte Dateistand nicht zum Überschreiben eingefroren sondern geschützt.
Der zweite Vorteil sind die Prüfsummen die man bei ZFS jedem Datenblock oder Metadatensatz geben kann. Damit lssen sich die Daten auf der Platte überprüfen und bei Änderungen (Silent Data errors, Datenrost) aus dem ZFS Raid reparieren (ZFS Scrubbing). Ohne ZFS Raid, also z.B. ZFS auf Raid-6 wird der Fehler nur erkannt kann aber nicht repariert werden da ZFS da keinen Zugriff auf die einzelnen Platten hat.
Ansonsten sind die Unterschiede zwischen Raid-6 und Z2 gering.
Manche Raid-6 Systeme erlauben das Erweitern des Raid-6 Arrays um einzelne Platten. Das ist bei ZFS nicht vorgesehen. Da erweitert man den Pool normalerweise komplett um weitere Raid-Arrays. (Der Heimwunsch von 4 auf 5 Platten war bei Sun nicht im Pflichtenheft, eher von 6 auf 12 Platten und wie komme ich auf mehrere Petabyte)
ECC hat damit zunächst nichts zu tun.
ECC Speicherfehler können immer zu Datenverlust führen. ECC ist daher immer sinnvoll. Die Häufigkeit der Probleme ist aber gering und steigt mit der Menge an RAM.
Die Betonung von ECC bei ZFS liegt entweder daran, dass da man da sovel Sicherheitsaspekte eingebaut hat, dass man auch ECC nehmen sollte um das nicht auszuhebeln. Oft dient das Argument aber eher dazu, einen vermeintlichen Vorteil in der Art von "bei ext4/ntfs braucht man im Gegensatz zu ZFS kein ECC...." zu suggerieren. Ist natürlich Unfug. Entweder man will sicheren RAM oder man nicht das Restrisiko genauso in Kauf wie bei anderen Komponenten die nicht dem höchsten professionellen Niveau entsprechen.