blacksunseven
Weaksauce
- Joined
- Oct 6, 2007
- Messages
- 112
Despite some purely alphabetical discrepancies between the two, I'm just a little curious why the overall consensus seems to be that ZFS is king. Having only a theoretical view as I've never used ZFS in practice and my XFS experience is minimal, I'm looking to hear some of the debate between using one over the other.
I understand that ZFS is widely regarded as the most RAID-friendly filesystem and I don't argue this. I feel that XFS gets a bit of the short end of the stick though when it comes to this aspect of the discussion. While XFS doesn't support dynamic stripe re-sizing or other fanciful features, it does sport specification of stripe width and size. Perhaps the most important difference between these two is that XFS doesn't support checksums. Also missing from XFS is encryption and volume shrinking (both ZFS and XFS support online resizing). In terms of limits on size of paths, files, and volume, ZFS is the clear winner in what can really only be a moot point. For the vast majority (see: all) of us using <8EiB systems, the two are identical. XFS also lacks de-duplication, copy-on-write and an integrated logical volume manager. [data here]
Phew, it does seem like ZFS is the clear winner between the two, at this point, but let's examine now performance and OS support. XFS beats ZFS in read/write/mixed MB/s throughput benchmarks as well as random IOs/s. Large file creation is faster in XFS too. Random read/writes are higher performing in XFS, especially XFS writes. Standard deviations for random read/writes are close but ZFS does win this category. When it comes to multithreaded read/write/mixed IOs/s, XFS wins by a large margin. In dealing with huge file multithreaded mixed IOs/s, the results are closer but XFS still takes the cake. You'll find untarring to be slightly quicker in XFS but when it comes to tarring, ZFS wins by an enormous margin. Clearly, in overall performance, XFS wins. [data here]
So what about OS support? Well, it's pretty common knowledge that XFS is supported by Linux kernels right out of the box (though it's frowned upon as a root filesystem) and that ZFS is happily integrated into FreeBSD and branches. It's a matter of personal use and opinion but I find Linux to be more adaptable to a wider variety of tasks, like use in a home theater or even as a user-friendly desktop OS. FreeBSD is generally considered to be more stable but I'm not sure the differential is worth major points. FreeBSD does offer partial support of XFS and, using fuse, you can even get ZFS working alongside Linux (though neither of these would be the preferred implementation).
So, what does it really come down to? I think ZFS and XFS are both excellent filesystems and it's truly a shame that ext4 has no real place in contending with either of these. BTRFS is the holy grail of filesystems, many will tell you, but as of today, there's no stable release and thus ultimately can't be considered a contender either. In this writer's opinion, if you're looking for a personal file storage filesystem and trust your RAID card, I think XFS with Linux is the clear solution. If you're paranoid about keeping your data as safe as possible and don't mind a performance hit or using a less all-'rounder OS like FreeBSD then ZFS is the one for you.
I hope that others will join in this discussion as I'm very interested to hear about why ZFS seems to be such a popular choice here at [H]. If I've made any errors or improper deductions, please feel free to make a note of it or PM me and I'll edit this post.
I understand that ZFS is widely regarded as the most RAID-friendly filesystem and I don't argue this. I feel that XFS gets a bit of the short end of the stick though when it comes to this aspect of the discussion. While XFS doesn't support dynamic stripe re-sizing or other fanciful features, it does sport specification of stripe width and size. Perhaps the most important difference between these two is that XFS doesn't support checksums. Also missing from XFS is encryption and volume shrinking (both ZFS and XFS support online resizing). In terms of limits on size of paths, files, and volume, ZFS is the clear winner in what can really only be a moot point. For the vast majority (see: all) of us using <8EiB systems, the two are identical. XFS also lacks de-duplication, copy-on-write and an integrated logical volume manager. [data here]
Phew, it does seem like ZFS is the clear winner between the two, at this point, but let's examine now performance and OS support. XFS beats ZFS in read/write/mixed MB/s throughput benchmarks as well as random IOs/s. Large file creation is faster in XFS too. Random read/writes are higher performing in XFS, especially XFS writes. Standard deviations for random read/writes are close but ZFS does win this category. When it comes to multithreaded read/write/mixed IOs/s, XFS wins by a large margin. In dealing with huge file multithreaded mixed IOs/s, the results are closer but XFS still takes the cake. You'll find untarring to be slightly quicker in XFS but when it comes to tarring, ZFS wins by an enormous margin. Clearly, in overall performance, XFS wins. [data here]
So what about OS support? Well, it's pretty common knowledge that XFS is supported by Linux kernels right out of the box (though it's frowned upon as a root filesystem) and that ZFS is happily integrated into FreeBSD and branches. It's a matter of personal use and opinion but I find Linux to be more adaptable to a wider variety of tasks, like use in a home theater or even as a user-friendly desktop OS. FreeBSD is generally considered to be more stable but I'm not sure the differential is worth major points. FreeBSD does offer partial support of XFS and, using fuse, you can even get ZFS working alongside Linux (though neither of these would be the preferred implementation).
So, what does it really come down to? I think ZFS and XFS are both excellent filesystems and it's truly a shame that ext4 has no real place in contending with either of these. BTRFS is the holy grail of filesystems, many will tell you, but as of today, there's no stable release and thus ultimately can't be considered a contender either. In this writer's opinion, if you're looking for a personal file storage filesystem and trust your RAID card, I think XFS with Linux is the clear solution. If you're paranoid about keeping your data as safe as possible and don't mind a performance hit or using a less all-'rounder OS like FreeBSD then ZFS is the one for you.
I hope that others will join in this discussion as I'm very interested to hear about why ZFS seems to be such a popular choice here at [H]. If I've made any errors or improper deductions, please feel free to make a note of it or PM me and I'll edit this post.