> The problem is that the raid1 implementation may freely choose which leg
> to read from. If it chooses to read from the non-corrupted leg, the
> corruption is not detected, 

which is why man invented ZFS. :)

I don't know what the probability 10^-X is of silent mismatch between halves of 
a mirror, but it's a fatal weakness IMO of pretty much every RAID scheme out 
there that doesn't checksum each block be it at the "disk sector" (512/4k) or 
"filesystem" (4k).

Would it make sense for LVM since it's a shim between disk device and 
filesystems to implement its own checksum scheme? Maybe do it at a "LVM page" 
notion of 32 disk sectors followed by a couple of extra disk sectors in which 
the checksum for each of the preceding 32 is strung together in one packed 
value? /spit-ball

The *best* answer is for everyone to move to 520/528 byte sectors like serious 
storage vendors did 50 years ago, but I suspect that would be harder to get 
past the gatekeepers than drivers written in RUST.


Reply via email to