3 ms·
You would use dm-integrity on each individual disk below the RAID, and when it detected the corrupted file it would return an error, which would then be used as
by cthalupa 7y ago
You would use dm-integrity on each individual disk below the RAID, and when it detected the corrupted file it would return an error, which would then be used as a signal to the RAID system to read from the other disk.
You have to manually set up dm-integrity on the disks, however - it is not used by default when creating an mdadm/lvm setup.
- the8472 7y agoThat setup would mean more overhead. Separate journals for each disk, one checksum copy on each disk instead of only up to your redundancy level, more disk writes.
- cthalupa 7y agoFor sure. I'm a ZFS kind of guy myself. But you can start hacking together a lot of the functionality the more dm modules you start using.
- zozbot234 7y agoIt's not "more" overhead, just a different distribution of it. You can actually use erasure coding instead of conventional RAID once the lower-level blocks are protected by their own checksums.
- the8472 7y agoIt is certainly more overhead when you have to keep a journal for each disk and a checksum for each cluster on each disk instead of one checksum per stripe or extent and a per-filesystem journal. In other words zfs and btrfs incur less overhead by having the raid, checksumming and journalling layers talk to each other. Implementing them separately in as in device-mapper comes with inefficiencies.