For many years I was running MDADM raid6+ext4 on my 2 previous NASes.
But now I am getting to some serious size (10x of Exos X20 20Tb disks) where tendency of MDADM to "harden" soft read errors during weekly scrubs worries me (MDADM does not try to figure out which drive had soft error, always assumes parity is incorrect). I know about btrfs and it's filesystem checksums - but I would prefer to avoid/autocorrect errors rather than just detecting them.
I did not liked TrueNas/ZFS due to complexity of growing array - I got really spoiled by mdadm.
What is the most robust way to go in your experience? Obvious ideas:
- Switch raid6 weekly scrub to raid6check to autocorrect random errors.
- Manually directly assemble dm-integrity + mdadm + btrfs array
- Use LVM to assemble dm-integrity + mdadm + btrfs array
- Any other ways?