zfs mirror - woher kommt die Redunanz

drnicolas

Renowned Member
Dec 8, 2010
199
10
83
Ich habe in den letzten Tagen immer wieder gelesen, daß für ZFS nicht (mehr) RAIDZ sondern mirror empfohlen wird. Letztlich aufgrund der Performance und auch der Zeit, die für ein resilvern benötigt wird, verbunden mit dem Risiko während des (lange) resilverns die Daten doch noch zu verlieren.

Der preis ist anscheinend die hohe EInbuße an Speicherplatz von 50%.

Ich konnte aber nirgends herausfinden worin die Redundanz liegt.
Wenn sich die Inhalte beider Platten unterscheiden, dann weiß ich ja immer noch nicht WELCHE Platte recht hat und welche getauscht werden muß -oder liege ich da falsch?
Beim Schreibprozess mag das durch Überprüfen des eben geschriebenen ja noch gehen - aber was, wenn über lange Zeit etwas passiert?
 
Hey :)

you need to enderstant that zfs work in copy-on-write.

it is the ZFS system that will identify the failed disk. It is during the copy to the disks that it checks what is written on the two disks against the contents of the RAM. The healthy disk is then identified because it is the one whose checksum works correctly.

Diagnose the failing disk:

zpool status -v

Look at which disk has checksum faults => failed disk.
with the uid of the disk, you can identify the serial number of the failed disk.

Attention, there is a procedure to follow to remove a disk from a pool properly.

Cordially,

Pifouney
PS: google translated answer :)
 
Prüfsummen sind ein fester Bestandteil von ZFS. Die hast du immer, egal ob ein Raidz, ein Mirror oder auch nur eine einzelne Disk hast. Und regelmäßig lässt man einen Scrub laufen, der guckt sich dann alles an Daten an, berechnet die Prüfsummen neu und vergleicht diese mit den gespeicherten Prüfsummen. Passt die berechnete Prüfsumme nicht mehr zur gespeicherten Prüfsumme, dann hattest du schleichenden Dateiverfall (Bit Rot) und ein Datenblock ist kaputt. Im Falle von einer einzelnen Disk oder einer Stripe (Raid0) kann man dann nichts machen und die Daten sind verloren, da es ja keine Parität gibt.
Hast du aber einen Striped Mirror (Raid10) oder Mirror (Raid1) dann ist ja alles doppelt vorhanden und bei der Kopie passt hoffentlich noch die berechnete Prüfsumme zur gespeicherten Prüfsumme. Dann würden die Daten, die eine falsche Prüfsumme ergeben haben durch die Daten ersetzt werden. welche zur Prüfsumme passten. Beim Raidz oder Draid läuft es ähnlich, nur das dort die Parität komplexer ist.
 
Last edited: