> It's not a turnkey solution like a Synology or QNAP box, but it's a lot more flexible.
That is not even the biggest advantage. The biggest advantage, in my opinion, is that you will always get updates and can run that for an unlimited time, without breaking your setup.
Building your own is a cool thing, and gives you many benefits. But updates and Linux are very prone to breakages - there’s too much hw and sw combinations to expect solid experience.
That is why I chose very commodity hardware and run openSUSE Leap 15.2 on it. I wanted a solid distro with a reasonable update policy, not something that pushes 100+ new updates every week. Debian Stable or perhaps Testing would also have been good choices, but I like YaST.
In the interest of full disclosure, I have had one issue with my build. The motherboard has four SATA connectors; Two from the Intel chipset, which work flawlessly, and two from an additional ASM1061 chipset, which don't. They seem to work initially, but when you start pushing larger amounts of data through them, errors start to pop up.
As far as I can tell, it's a either a driver issue or a BIOS issue, I can't remember whether I got those same errors on an ASM1061-based 2-port SATA PCIe expansion card or not. Either way, I replaced it with Marvell-based 4-port card instead, and just avoid using the ASM1061 ports for now.
Next time I add a disk to the system, I'll connect it to the potentially troublesome ports and run some tests, to see whether it was a driver issue that has been cleared up.
My home "NAS" running opensuse has been continually upgraded since something like OpenSuse 12. I have data drives and I have an OS ssd that's only 50GB. It's rock solid.
> But updates and Linux are very prone to breakages - there’s too much hw and sw combinations to expect solid experience.
That seems like FUD to me. I am running Linux since over 20 years. A NAS's hardware interfaces are mostly HDD and network drivers, and I have not seen them breaking in many years.
And especially for PC-platform hardware, or ARM SoC in which Linux is the dominant OS. I could understand if NAS vendors would say that in their advertisement, but what is the substance of claims like this? Especially since these things runs Linux as well.
There are way more things that can go wrong, not just drivers.
I've run a ThinkServe machine with CentOS and ZFS for several years. Kernel and ZFS updates would break it regularly, requiring tinkering to make it work again (my favorite: zfs#8885).
Nowadays I prefer when somebody else did the integration work.
Well, I see better what point of view this is coming from.
However, ZEF is not part of the standard kernel, IIRC there are still license issues and it needs to be built separately, which is not necessary with any normal file system. I enjoy some amount of tinkering, too, but I believe it is expecting too much that everything works out of the box with non-standard kernel modules.
In the same vein, I also do not understand entirely why people want to have something still experimental like btrfs precisely on their NAS, and apparently use that without an extra load of backups. btrfs has many qualities, but it is still not considered as robust as ext4 (the current standard Linux file system), and for a long time it had practically no recovery option if file system data became corrupt. For me, it is very clearly not the first choice for a NAS or server which should run completely hassle-free. IMO, everything one needs for that is on Debian stable, so why not use that? And why in heaven should one make oneself dependent on what a specific hardware vendor does?
The nice think about RHEL/CentOS is, that their kernels have stable ABIs (kABI). That allows for third parties to provide binary kernel modules, and the OpenZFS project actually provides the kABI-kmod tracking repo, so you can have an installation without any developer tools installed (which I prefer). So the problem wasn't really with kernel modules, the problem was the integration with the system, and nobody really cared - the above mentioned issue is still open, 2 years later.
Another nice thing about CentOS is, that it was supported for 10 years. Debian is supported only for 3. It tkaes 5 years for Synology to get a new release done, so they also do have kinda-long term support.
Btrfs is stable and has been widely used in production for years. Facebook uses it, SUSE CaaS uses it, the officially recommended platform for SAP is SLES, which has defaulted to btrfs for the root filesystem since 2014.
Btrfs brings snapshots, rollback, deduplication, storage pools, checksumming, send/receive and a whole host of other features. It's a completely different type of filesystem to ext4.
Calling btrfs "experimental" at this point is like calling electric cars "experimental".
That is not even the biggest advantage. The biggest advantage, in my opinion, is that you will always get updates and can run that for an unlimited time, without breaking your setup.