Disks die all the time anyway. If you want to keep your data, you should have at least two-disk redundancy. In which case bad blocks won't kill anything.
Re:ZFS 2.2.0 (RC): Block Cloning merged
by grepfru_it on Tuesday July 04, 2023 @02:14PM
(#36590545)
The file system metadata is redundant and on a correctly configured ZFS system your error correction is isolated and can be redundant as well
Re:ZFS 2.2.0 (RC): Block Cloning merged
by phpisthebest on Tuesday July 04, 2023 @03:40PM
(#36591628)
3-2-1..
3 Copies
2 Media
1 offsite.
If you follow that then you would have no fear of data loss. if you are putting 2 copies on the same filesystem you are already doing backups wrongs
Re:ZFS 2.2.0 (RC): Block Cloning merged
by modderation on Wednesday July 05, 2023 @06:52AM
(#36598524)
I always like to add:
0 stress restore.
You should also be able to restore your data in a calm, controlled, and correct manner. Test your backups to be sure they work, and to be sure that you're still familiar with the process. You don't want to be stuck reverse-engineering your backup solution in the middle of an already-panicky data loss scenario.
Remain calm, follow the prescribed steps, and wait for your data to come back.
Re:ZFS 2.2.0 (RC): Block Cloning merged
by magicalhippo on Tuesday July 04, 2023 @04:06PM
(#36591894)
Besides what all the others have mentioned, you can force ZFS to keep up to 3 copies of data blocks on a dataset. ZFS uses this internally for important metadata and will try to spread them around to maximize the chance of recovery,
though don't rely on this feature alone for redundancy.
That's what data checksumming and mirroring is for.
You can do `zfs set copies=2` for a ZFS dataset if you think there's value in the extra copies. That's better than a copy of the file because with a single bad block, the checksum will fail and ZFS will retrieve the data from the good block and repair both files. In practice, using disk mirrors is better than setting the copies property.
> What's scary about it?
It's scary because there's only one copy when you might have expected two. A single bad block could lose both "copies" at once.