7 ms·
The reason, and the difference, is that all these other filesystems have check and repair (and sometimes multiple) tools. Please correct me, but ZFS has none.
by antongribok 3y ago
The reason, and the difference, is that all these other filesystems have check and repair (and sometimes multiple) tools.
Please correct me, but ZFS has none.
- gavinhoward 3y agoYou're completely wrong. ZFS's scrub is both a check and a repair tool. It's already saved some of my data.
- hdjdkdbdbe 3y agoYou are partly right. Zfs scrub is a repair tool when it has parity / mirrored copy of data to recreate it.
- danparsonson 3y agoIt's safe to make the assumption that the tool isn't magic.
- Borealid 3y agoA scrub can also repair data when using `ncopies` greater than one even outside any mirrors or parity.
- deleted 3y ago[deleted]
- nightfly 3y agoZfs has checksumming and scrubs, which can catch lots of data corruption that (most?) other filesystems can't catch catch at all
- antongribok 3y agoI guess I meant it as having a separate repair tool, but yes, you're of course correct. To me it was always weird to not have a separate tool for being able to do an offline ZFS repair. With regards to data corruption, I mean, this is exactly why I moved to btrfs, because it's able to catch bit rot same as ZFS. I think ultimately this is why ZFS data corruption bugs always are such a big deal... It's because in a lot of tech circles ZFS is put on this infallible pedestal where it can never do any harm to your data.
- AndrewDavis 3y agoCould you please explain what you mean by a separate repair tool kit?
- lproven 3y agoI think he means an equivalent for `fsck`.
- db48x 3y ago`zfs scrub` is equivalent to `fsck`. It just has a different name, and it can fix more kinds of corruption (including corrupted data, which `fsck` for other file systems can never do), and can do so on line. Of course zfs can fix those same errors on line while doing ordinary reads, so really all `zfs scrub` does is read everything. `zfs scrub` is better than `fsck`.
- rincebrain 3y agoIt is not. `zpool scrub` walks every block in the pool, and implicitly, you do checksums and other things while doing that. That's it. It's not doing any sort of logic bug repairs or cleanup or anything else. It's also not checking that you can, say, decrypt things, since that would mean you needed the keys to scrub.
- db48x 3y agoIt really is better. The key difference to understand is that in ext4 any form of metadata corruption which can be automatically fixed requires you to take the filesystem off–line (to unmount it), and then run fsck. Meanwhile with zfs, any form of metadata corruption which can automatically be fixed is simply fixed right on the spot, transparently. In truth fsck is a wart, a kludge, a bag on the file system design.
- rincebrain 3y ago
- chungy 3y agoWhat good would ZFS be without that? The key differences are in two places: 1. Every administration task for ZFS is done online. You don't need to take your pool offline just to check for errors and repair them (if possible). (Mind that on FreeBSD, UFS can usually have a fsck done in the background while the file system is in-use. Just about zero Linux-native file systems have this capability) 2. "other filesytems" can only hope to detect and repair inconsistencies in their metadata structures. If your files are corrupted, they can't know and won't tell you that they are. ZFS checksums everything, including regular file data. It will repair regular file data too, if possible.