A couple of months ago I build a FreeNAS server after using two Drobos for a couple of years. You can read more about that in the article I replaced my Drobos with a FreeNAS server. However, now I have used FreeNAS again for a couple of months and I have some thoughts that I would like to share.
My History with FreeNAS
While I have had a small break from FreeNAS I have used it for many years. I started playing with FreeNAS back in 2007 and liked it so much that I in 2008 build my first FreeNAS server with 6 1TB WD green drives that ran for about 7-8 years. So, I have quite a bit of experience with the OS and I am almost able to set up a FreeNAS server in my sleep. Well, at least the features that I use.
Disclaimer
- As a developer, my self I have an understanding and appreciation of what it takes to develop a project of this magnitude.
- My experience with FreeNAS is using it as my home server.
- I will only talk about the features of FreeNAS that I have actually used and therefore have experience with.
My Thoughts and Experiences
ZFS is the only filesystem that I really trust with my data. So, I want my data on ZFS. This requirement rules out most NAS devices and NAS operating systems. When it comes to storing and sharing data on ZFS nothing beats FreeNAS at this point. A thing I really appreciate about FreeNAS is that at its core, FreeNAS’s main focus seems to be a network-attached storage OS. Everything else is second, important, yes, but second. At least that is how I see it. That to me is quite important and also different from most other NAS OS’s I think. I also really like that FreeNAS expose and utilizes the unique FreeBSD features like jails and bhyve.
The New UI
One of the bigger changes in FreeNAS is the new UI. It uses the material design language and looks quite good and modern. It does not reinvent anything and is very similar to the old UI’s layout. This has the advantage of making the new UI very familiar to existing FreeNAS users. It also makes it simpler to make a new UI “just” porting the functionality over 1:1 from the old to the new UI. However after playing with the UI of the Synology Diskstation Manager and the QNAP QTS operating system. The UI concept of FreeNAS’s new UI feels really old fashion. However, I really do like the FreeNAS UI. But then, I do fall into the category of an existing FreeNAS user.
The Plugins
A key feature of any NAS, I think, is the ability to easily extend it’s out of the box functionality with extensions/plugins. FreeNAS of cause have plugins and of the time of this writing, it has 30 plugins with some of the most popular software one would use on a NAS. Not bad. But also a long ways away from other systems
Plugin update button
I did run into some issues with the plugins. First of. On every installed plugin there is an update button that does absolutely nothing. Reading the manual I found out that one has to update the plugins via the terminal using iocage. I did just that on the Plex Media Server (PlexPass) plugin. And it broke. It turns out that updating the Plex Media Server (PlexPass) plugin installs the Plex Media Server plugin. The none PlexPass version. This means that all the settings were gone. Thanks to ZFS snapshots rolling back was a piece of cake. Luckily someone made this Plex Server update script that works quite well.
So there is room for some improvement with the plugin handling.
If a plugin for the desired application is not available creating and installing the software in a Freebsd jail is quite easy if available for Freebsd. Jails are just awesome! BTW I took a look at the new plugin structure over at the IXsystems Github page. It does not look too complicated. It reminds me a bit of Docker compose. I am gonna play with that when I get some time.
Docker
Speaking of Docker. FreeNAS does kinda sorta have support for Docker containers. It does so via a pre-configured RancherOS VM. However, from my understanding, this feature is being removed from future versions of FreeNAS. I have mixed feelings about Docker in general. However, there is just so much software available as an already to go Docker container. That any server/NAS OS that does not have Docker support is at a disadvantage.
Now, because Docker does not support Freebsd. FreeNAS has to use a Linux VM for Docker. I did play with the RancherOS VM. But, I found it quite unstable. So, I ended up just setting up an Ubuntu VM for my docker containers and that works beautifully.
Virtual Machines
Being able to spin up VM’s on my FreeNAS server is just awesome. Bhyve is in the world of hypervisors a relatively young project. However, it is on its way to becoming a first-class hypervisor. I like it quite a bit and FreeNAS provides a very nice and easy to use front end to bhyve.
Final thoughts
Nothing is perfect and FreeNAS is no different. However, the important bits are as stable as can be. Some of the newer features have some rough edges. But, that is to be expected and I am sure they will be smooth out over time.
That was some of the thoughts and experiences I have had using FreeNAS over the last couple of month.