Atkatla schrieb:
Genau das ist nicht der Fall, auch nicht mehr als im Vergleich zu anderen modernen Filesystemen. Hast du die Links und die Aussage von dem ZFS-Entwickler gelesen und verstanden?
Ich gehe hier noch mal beispielhaft auf den von mir geschilderten Fall eines Rebuild ein:
Angenommen, du hast ein RAID5/RAIDZ1 mit drei Disks; die Daten sind 1 (Disk1), 0 (Disk2), 1 (Disk 3) = Parität aus XOR von Disk 1 und 2.
Nun fällt Disk2 aus. Da hier nun nicht für das einzelne Bit, sondern für den gesamten Block eine neue Prüfsumme berechnet wird, kann es sein, dass aufgrund eines Bitflips Disk2 nun eine 1 erhält statt einer 0. Die Prüfsumme für den Block auf Disk2 wird dann mit der 1 korrekt berechnet, obwohl die 1 falsch ist.
Irgendwann macht man dann einen Scrub und es wird festgestellt, dass die Daten 1-1-1 sind, was falsch ist. Da aber jeder Block der jeweiligen Prüfsumme entspricht, kann nicht festgestellt werden, wo der Fehler liegt.
Ob ZFS hier im Speziellen beim Rebuild nochmal einen nachträglichen Check durchführt, lässt sich nur vermuten - da sind wird dann schon ganz tief auf Entwicklerebene und es würde mich sehr wundern, wenn man das irgendwo aus einer offiziellen, fei zugänglichen Quelle entnehmen könnte (falls dem so ist, gerne Links
).
Somit gehe ich erst mal vom Worst Case aus (dass es nicht so ist, sondern so wie ich geschildert habe).
In deinem zweiten Link wird Folgendes genannt:
"Actually, ZFS can mitigate this risk to some degree if you enable the unsupported ZFS_DEBUG_MODIFY flag (zfs_flags=0x10). This will checksum the data while at rest in memory, and verify it before writing to disk, thus reducing the window of vulnerability from a memory error."
Das beinhaltet aber nicht den Weg der Daten zwischen CPU und RAM - was aber von ECC abgedeckt wird. Evtl. deshalb spricht der Autor hier nur von "
reducing the window of vulnerability".
Letztendlich kommt er ja selbst zu dem Schluss:
"I would simply say: if you love your data, use ECC RAM. Additionally, use a filesystem that checksums your data, such as ZFS."