New Synology uses Btrfs

Neutrino

Gawd
Joined
Nov 10, 2005
Messages
602
I just saw that Synology just released a new diskstation the DS716+

https://www.synology.com/en-us/products/DS716+

and it seems to have the option to use Btrfs, I did not follow the development of Btrfs too closely and I had the impression it was not mature enough yet to be production ready. Am I wrong?

Is Synology taking a bit risk here? Or is Btrfs ready?
 
It's probably "ready enough". It's at least as good as ext3 or whatever Synology was using.
 
I am not sure raid5 or raid6 are production ready but raid1 and 10 and individual disks have been production ready for several years.
 
Just like Ext4 was 'production ready' when it was made the default filesystem in Ubuntu a couple years back. The result is thousands of systems with filesystem corruption, and many patches that followed that addressed the corruption bugs.

Even ZFS still has corruption bugs; a few months back there was a L2ARC corruption bug that could kill your entire pool. Fortunately, this bug was not present in RELEASE or STABLE versions of BSD. But it was present in the stable and even LTS (Long-Term-Support) versions of Solaris-derivative SmartOS/IllumOS if i recall Gea correctly. That is extremely serious.

With Linux having no native modern filesystem other than Btrfs, there is a lot of pressure to label it as production ready. But the reality is that all 3rd generation filesystems (ZFS, Btrfs, ReFS, HammerFS) are much more complex than legacy filesystems such as NTFS, Ext4 and UFS. As such the possibility for obscure dataloss bugs is very real and we must not fool ourselves that just because it appears to work, it suddenly is mature and production ready. The complexity is the prime enemy of modern 3rd generation filesystems and it requires a decent amount of time to stabilise to weed out the common bugs, as well as the more obscure uncommon bugs.

Finally, i want to mention that i hear a lot of 'but it works great for me' type of arguments. But this is a fallacy. The failure modes of modern complex filesystems often are very binary: either it works as intended and you have no problem at all, or suddenly all hell breaks loose and it tells you the pool/filesystem is corrupt without any ability to restore it or recover your data from a damaged pool/filesystem.

For now, ZFS is the only mature next-generation filesystem out there. Those who say Btrfs is at the same level and 'production ready' most likely have their own interests because Synology for example cannot ship ZFS out of the box for license reasons so Btrfs is their only option for a modern filesystem. So don't believe everything you hear, especially not from people/companies with their own agenda.
 
Currently btrfs is not a real ZFS competitor as it lacks many features of ZFS but is a huge step forward compared to ext4 setups when using a feature set like jbod or mirrors.

ZFS has proven stability in many datacenters around the world. The quality of the concept is unbeaten and its development state is 10 years ahead of btrfs. But OS or filesystem development is not a finalized product where you say its finished, no more changes. And every new feature that makes its way now to ZFS like reduced memory requirement of L2ARC or persistent L2ARC or the option to remove ZFS vdevs include the possibility of bugs in OpenZFS or closed Oracle ZFS..

The difference may be. It takes 3 days for Illumos to fix that bug and for OmniOS to offer an update. (Illumos is where most of OpenZFS development is done and the free Solarish versions are often the first where new features appear). Compared to new features in ZFS, the challenge for btrfs to add comparable base features is huge as they need to add all what was already included and stabilized in ZFS in the last years.

The main reason for Synology to use btrfs and not the more advanced ZFS may be not related to license issues but the fact that ZFS would require a whole new concept of appliance organisation with its integration of volume, raid and share management while btrfs offers a simple replacement option of ext4 with btrfs.

But for sure, btrfs is the mainstream future of Linux while ZFS has its place on more highend or large capacity setups even on Linux. This is sad as ZFS could be the best of all and universal filesystem an any X (BSD, OSX, Linux, Solaris). But this is mainly a Linux problem with its licence restrictions on kernel additions that is not compatible with other opensource licenses that force users to do a separate ZFS setup
 
Currently btrfs is not a real ZFS competitor as it lacks many features of ZFS

I don't think it's fair to say that BTRFS isn't a *real* competitor to ZFS. At least not for everyone. I've used both for years now and BTRFS is a very real competitor to ZFS for me. I'm a real person and a real user.

One could argue also that ZFS lacks many features of BTRFS. (lower memory usage, defrag, offline dedupe, writable snapshots, balance, ability to convert from mirror to single parity to dual parity, ability to add disk to parity array, etc)

It all depends on what you use case is and what features you want and need.

Synology NAS are very much about organically growing their arrays 1 disk at a time and also combining disks of different sizes into redundant arrays without wasting space.

ZFS license issues aside, I think this is a very strong reason that they would choose BTRFS over ZFS. Also NAS units do not have a lot of RAM and I think that's another strong case for why they would choose BTRFS. It's still a big difference for Synology to switch to BTRFS. What they use now is EXT4 with MDRAID which allows growing disk by disk and LVM in order to handle arrays with mixed size disks. They have nothing to do with snapshots yet (they never utilized LVM snapshots) so they will need to create a GUI and system to handle BTRFS subvolumes and snapshots.

As far as BTRFS being "production ready" Synology is hardly the first to use it. OpenSUSE uses BTRFS as default for root filesystem. Netgear in their ReadyNAS units started using BTRFS last year. Companies like Google and Facebook are using BTRFS.
 
Last edited:
For me ZFS on Linux works fine, but it should not be the default because it is not integrated well enough in the kernel. The ARC for instance does not use the caching mechanisms of the kernel, but their own implementation as provided by the SPL (Solaris Porting Layer). This alone makes BTRFS worthwile.

Ubuntu 15.10 does now have the ZFS in the default package repositories BTW. But it still compiles the DKMS modules when you install it. It is still not a kernel module.
 
Back
Top