I currently have a secondary pool (with raidz2) that I was originally going to use for my important documents, such as storage for Paperless-ngx, as raidz offers corruption detection and repair. The pool is encrypted.
However, I’m concerned about rebuild times (it’s a pool of 4 22TB drives). Is btrfs a better choice for this use case, or should I just go with raidz like I originally planned?
Edit: I should have mentioned that I already have 4-3-2 backups configured - I’m primarily interested in the “self-healing” aspect of ZFS so that I don’t have to recover from backups unless necessary, and to resolve corruption on the fly without me having to notice that a file is corrupt.


Btrfs raid5/6 support is unstable/experimental and cause some serious issues in the past, so it isn’t really recommended.
Since you only have 4 drives you could do a pair of mirrors with btrfs, but you aren’t guaranteed to be able to handle two drives failing (depends on which two drives fail). So zfs with raidz2 is the best protection you can get, and it matches the capacity you would get from mirrors.
Rebuild time isn’t great, but you would need a second drive to fail plus at least a read failure on another drive before you have issues.
A bigger question would be how soon would you have a replacement? If you already have a spare on hand I wouldn’t worry about rebuild time at all, but if you are expecting to wait potentially weeks for a warranty replacement your chances of the second failure go up.
Even if you had a second failure and additional read failure is unlikely (how often do you see read failures when you run a scrub). Combine that with your backups… You should have very little to worry about.
If two drives failed and you ran into a couple of sectors that can’t be read ZFS continues to operate just fine, except for the failed file. The file with the failed blocks shows up in zpool status so you know exactly where the corruption is, and you can just copy that single file from your backups and everything is back to normal.
If your files are mostly WORM files like media/documents then your backups cover you really well and copying a file or two from backups isn’t a concern. Vs if you are running virtual machines or DBs that are writing to their virtual disk constantly then you would start to worry about how much data you lose by rolling that file back to your past backup.