If you’ve been following my posts of late, you know I’m building a NAS, and after trying FreeNAS, have developed a preference for NAS4Free. I’m a bit fickle, but as one should really do, I tried both in a VM environment as well as on real hardware, and I’ve changed my mind. I’m now going with FreeNAS.
I’m not completely new to FreeNAS. I use it at work, the stable 9.10 train. FreeNAS’ recent developments have sort of put me off. Specifically, how they released Coral (aka version 10), did an about-turn on the release, the quitting of the Coral lead developer, that 11 will be the next release, and the ultimate release of the 11 RC (release candidate) which I would at best describe as an early beta.
The flurry of events isn’t a good thing when you’re looking for stability. I’m going to store precious data, so robustness, reliability, and stability are important factors. I could have stuck with the older version of FreeNAS, 9.10, which is still the main version listed on the FreeNAS website.
However, I want to make use of new hardware virtualisation features, specifically to run multiple Linux virtual machines on the NAS box. NAS4Free offered VirtualBox. FreeNAS, on the other hand, chose to go with bhyve, the hypervisor built into FreeBSD.
In theory, a hypervisor integrated into the OS sounds like a better solution than something slapped on top of it. It would likely be more lightweight, more efficient. VirtualBox, however, is well-established. It has more options to customise the virtual machines, and it has more comprehensive network configurability.
I had ran into some problems previously while testing FreeNAS’ virtualisation features. I couldn’t install Ubuntu 17.04 in bhyve. I couldn’t install Ubuntu 16.04 too. Initially, I blamed the RC-status of FreeNAS 11, and just assumed that the virtualisation feature was broken. I surmised that not enough people used it to be noticed by the FreeNAS developers.
The second time around, I tried harder. I re-looked into the problem and found other users asking about similar problems. Good thing there’s Google search and community forums. Apparently the VNC client viewer had to be set to “High Quality” mode for Ubuntu installers to boot up properly. Strange, that, but never mind, I got Ubuntu 17.04 installed. (There were other subsequent problems, such as UEFI boot not finding the Ubuntu image, but I could nevertheless manually select the boot file, and then later setup startup.nsh in the EFI partition to automatically boot Ubuntu.)
The issue of bhyve’s network setup worried me a bit. There is barely anything to be configured. Fortunately, bhyve uses a sensible mode, and it’s exactly what I needed: virtual machine interfaces are bridged to the real network, no NAT or host networking involved.
To summarise the many setup trails, FreeNAS 11 , now on RC4, works. All the old features that were in 9.10 works. The new “demo UI” is beautiful but broken in a number of ways. While improvements would be greatly welcomed, the bhyve hypervisor worked well enough to run Ubuntu. I also got CentOS 7 running fine. My idea of a hyper-converged storage and compute box is realised.
What pushed me away from NAS4Free? Well, it turned out that although my hardware booted up just fine with NAS4Free, there was a problem during shutdown. The kernel was spewing a bunch of ACPI errors (“ACPI Error: Could not acquire AML Interpreter mutex …”) and although NAS4Free ran just fine, or so it seems, the errors looked unsettling. I also observed that, occasionally, the system would not actually shutdown/poweroff or reboot, and instead get stuck at the end. This would be highly inconvenient if I wanted the computer up again after a reboot, or be able to wake-on-LAN power-up after a shutdown.
FreeNAS ran just fine. There are no ACPI errors, and both reboots and shutdowns work properly every time. So unless something drastic happens and causes an abrupt change of plans again, it’s likely you’ll be reading about my FreeNAS installation in future, not about NAS4Free.