EasyNAS: review of an openSUSE-based NAS distro
EasyNAS is a openSUSE-based Linux distribution aiming to provide a stable and reliable NAS system on top of BTRFS.
I’ve already written about FreeNAS: the go-to solution to avoid data corruption. I even built a reliable NAS using FreeNAS. Although FreeNAS is great, it is based on FreeBSD (it’s not a bad thing) and many NAS builders prefer to have Linux. There are only a few solutions for Linux-based NAS:
- Rockstor: Based on CentOS and BTRFS.
- OpenMediaVault: Based on Debian, modular architecture, offering multiple file system choice (even ZFS via plugin).
- DIY: You could build the system from scratch and provide yourself with your very own solutions, but that would be difficult for beginners and defeat the purpose of simplicity.
I didn’t mention OpenFiler because the project is effectively dead. So without further additions let’s see what EasyNAS has to offer.
EasyNAS is based on openSUSE but its installation process resembles quite a bit that of FreeNAS: few options, few steps. On openSUSE the process is extensive and enables the administrator to configure everything of the soon-to-be operating system. EasyNAS provides two images at the moment:
- ISO (About 550M): To burn on a boot media and use as an installation mean.
- RAW (1.8G): To install directly on the disk/USB drive.
I only tried the first method, but the second one shouldn’t be much different. After the installation you will be seeing the CLI interface that resembles that of FreeNAS.
EasyNAS: Interface and features
The second thing to look at is the interface. The first thing that struck me is the extension of the page inside the address bar: .pl. Really? Perl is a great language, don’t get me wrong, and for many years has been the preferred sysadmin language to automate things. Today that has changed, and there are better suited languages for web interfaces.
The second thing that really has an impact is the icons. Those icons are pretty big and waste precious space that could be used in other ways, if there were other things to insert. But, the worst thing in my opinion is the lack of options and entirely empty menus (e.g. SSH options).
There are quite a few tabs with one or two options, and many without any at all. Let me take some examples: the power management where you expect to find spin-down options for the drives, is instead a place where you can shutdown/restart the machine. The other tabs like general settings or firmware are quite counter-intuitive and expose settings in a sub-tabbed fashion where they could be presented all-in-one.
The features are still lacking, there is basic support for rsync, snapshots and schedules. The file-sharing and directory services expose only a few settings compared to what the underlying software is capable of (e.g. SAMBA).
Overall the interface is quite feature-less and too “big” to be considered useful. The pie charts are quite useless. Too many menus and not enough options.
EasyNAS: Disk, BTRFS and shares
The third thing I looked at is the process of creating a storage pool (in EasyNAS called Filesystem since it is a BTRFS one), then creating a volume and then exporting that volume through SAMBA. Well the process is (once again) counter-intuitive and requires you to follow many steps without an easy-to-use wizard (please implement it!). Once you are done with creating the filesystem/volume you have to enable SAMBA and share the volume, this part looks good to me, and was quite easy.
EasyNAS is still in an embryonic state, the interface is poorly designed, many operations are counter-intuitive and some features are hidden in places you wouldn’t expect them. Many features like mail alerts, scrubbing and LDAP are missing, and exclude EasyNAS from business. The decision to use BTRFS only, well isn’t really something I am happy of. As I mentioned in a past article I wouldn’t entrust my precious data to BTRFS, and recently the BTRFS RAID5/6 implementation has been deemed as fatally flawed. On top of that the system comes with Linux 4.1.12 (27 Oct 2015) and btrfs-progs v4.1.2+20151002 (version 4.1.2 dates back to 02 Jun 2015), that’s quite old for a rapidly evolving system that has fixes in almost each release. Nevertheless I hope this project continues since it has some good spirit in it. Although I hope this I do think that using Perl instead of PHP or Python is kind of a barrier for the community, and penalize the project. Of course there are many Perl programmers, but using a newer, more used language would’ve encouraged more participants.
First image thanks to Martin Abegglen.