John Paul Wohlscheid over at It's FOSS takes a look at the ZFS file system and its capabilities. He mainly covers OpenZFS which is the fork made since Oracle bought and shut down Solaris which was the original host of ZFS. It features pooled storage with RAID-like capabilities, copy-on-write with snapshots, data integrity verification and automatic repair, and it can handle files up to 16 exabytes in size, with file systems of up to 256 quadrillion zettabytes in size should you have enough electricity to pull that off. Because it started development under a deliberately incompatible license, ZFS cannot be directly integrated in Linux. However, several distros work around that and provide packages for it. It has been ported to FreeBSD since 2008.
(Score: 5, Informative) by ilsa on Tuesday September 11 2018, @04:41PM (2 children)
ZFS, while it does have some limitations, is IMO the most solid "filesystem" out there. I put that in quotes because it's more than a file system. It's a file system+LVM+an advanced raid controller rolled into one.
The closest modern equivalent is BTRFS. The difference is that ZFS is mature and stable technology, and can do things that BTRFS still can't do. It's designed specifically for dealing with large banks of disks. (Which is why ZFS doesn't have the option to change RAID modes, because in it's inception, people who used ZFS typically had massive disk arrays and would never bother with such an activity)
The biggest feature with ZFS is that it actively fights bit rot. It checksums basically everything, and routinely does "scrubs" of the filesystem. If you set up some flavour of RAID, it will fix any errors it finds.
The second coolest feature is that you can carve up your array however you want. It doesn't do partitions. It does zVols and datasets, so you can split your files up however you want, and can even carve out an individual piece of your array and present it as a raw block device. And then you can snapshot your volumes for easy backups. ZFS simply rocks.
(Score: 1) by woodcruft on Tuesday September 11 2018, @09:25PM (1 child)
On FreeBSD you have to enable routine scrubs using periodic(8). Eg:
Of course, you can override those defaults in: /etc/periodic.conf
No idea what the situation is with ZFS on Linux. I prefer to use an OS where ZFS is a "1st class citizen", to be honest.
:wq!
(Score: 2) by pendorbound on Wednesday September 12 2018, @03:30PM
You just cron scrubs on Linux. Works identically.