A rant about NAS OSes, September 2022

For some while now (early September of 2022) I have been installing various NAS OS packages, looking for samples for my testing.

NAS systems

Let's step back for a moment and survey the scene. There are three principal ways one can get a NAS.

On one side of the scale are off-the-shelf solutions. Buy a ready-made device, complete with hardware and its operating system. Example vendors include QNAP, Synology, and iXsystems.

On the other side of the scale are full-DIY systems, where you put together the hardware, install the OS of your choosing and configure it to your liking.

There is also a significant middle ground, pre-configured OS distributions, specifically tailored to serve as a NAS, with their own web UI, based on some or other Linux or FreeBSD variant. The examples are FreeNAS/TrueNAS, XigmaNAS, OpenMediaVault, Rockstor, EasyNAS, unRAID, and certainly many more. Their intended use is as follows: you build your own hardware (often according to certain guidelines), install the package of your choice on it, and get an easily configurable NAS fairly quickly and with minimum fuss.

So, there I was, looking through various NAS OS distributions for the purpose of gathering some samples for my testing. I was installing each into either Hyper-V or VMWare environment, for the purposes of easier testing. Virtual machines are convenient for testing and are supposedly free of hardware compatibility problems.

As a side note, I do not recommend running virtualized NASes in production. Virtualization works well as long as your hardware works well. Once there is a hardware problem, the virtualization layer often complicates the troubleshooting. In testing, however, virtualization should be perfectly fine.

Okay, so I started playing with various distros, and generally, it was an exercise in frustration.

TrueNAS and XigmaNAS

First of all, ZFS-based stuff, specifically FreeNAS/TrueNAS and XigmaNAS, work well. They install in any VM and run as expected. However, I knew that from my earlier work with ZFS, when I spent several weeks collecting all the samples for tests. Never any problem. TrueNAS has the knowledge of the iXsystems team behind it. These guys are good; also, they sell a complete hardware solution using the same OS (TrueNAS Mini and whatever else). XigmaNAS works well too, albeit I personally found the UI a little more quirky than that of TrueNAS. If you plan to install TrueNAS (or Xigma) for production use, pay close attention to the hardware guidelines. ZFS-based systems are picky about the hardware.

Then, things really started to unravel.

EasyNAS

EasyNAS just straight-up refused to work inside the VM. I was unable to make it work even after some time and effort.

OpenMediaVault

OpenMediaValut works inside Hyper-V to some extent. I mean, it eventually did everything I asked of it. However, at least once for every reconfiguration (and usually several times), I got "gateway timeout" or some other error from WebUI. Several times, it got stuck in a state when the filesystem is maybe mounted, or maybe it isn't, but it can't be dismounted (because it is not mounted) and can't be mounted again (because it is already mounted). Reboot took care of the mess, but I was left with a general impression of sluggishness and unreliability in configuration. The sluggishness was not because of the low-end hardware. The VM had 16 vCPUs, 64 GB of RAM, and the virtual disks were on a directly attached all-flash array. It does not get significantly better than that.

Once configured, it did run with no observable problems. However, I just don't see myself troubleshooting the hardware problem in production with this kind of control capability. I think if I suspect a hardware problem, I will drop down through the web UI to the console and start troubleshooting by the native tools of whatever Linux flavor it is built on (Debian? I can't quite recall.) This effectively negates the point of having a dedicated NAS OS. I'd rather have the system I know configured from the start as I like it than have to learn something while simultaneously figuring out the hardware failure.

Rockstor

Last not least, I wanted a look at something BTRFS-based. While OpenMediaVault does offer BTRFS as an option, it uses BTRFS-over-mdraid for RAID purposes, and BTRFS supposedly has its own RAID (or volume management) capabilities, similar to ZFS. So naturally, I wanted a peek.

Rockstor does install on Hyper-V. For some reason, it takes five to ten minutes to start up its web UI (sometimes, not always), but at that point, I did not mind.

So, single-disk BTRFS setups worked, but multi-disk (RAID5) did not. A RAID5 volume turned read-only because of some problem immediately after I created it. At that time, I decided just to drop it. BTRFS RAID5 was not ready for prime time several years back, and it is still not ready now, in 2022. Truth be told, the Rockstor UI explicitly says as much, something along the lines of "do not use RAID5 and RAID6 in production".

Conclusions

If you want a NAS, buy a ready-made one. If you don't want a ready-made one, use TrueNAS, and pay attention to the hardware guidelines. The hardware guidelines are there for a reason. These two options are easy to configure and to work with, and there is enough readily available knowledge on how to recover if they fail. Anything else is probably not worth it. Except for unRAID, I did not try unRAID and it looks like it may be good.

Created Monday, September 5, 2022