Merging modern software development with electrons and metal
Random header image... Refresh for more!

My NAS4Free System

I’ve been wanting to get a NAS (Networked Attached Storage) unit for the last few years.  Finally I made time to put one together using NAS4Free and some parts I’ve had for a while.

Why NAS4Free

I choose to go with NAS4Free over commercial and other open source projects for a few reasons:

  • NAS4Free was cheaper (since I already had the parts) and more flexible than a commercial NAS box.
  • I wanted my NAS to use ZFS for its robustness, which really limited my options.
  • NAS4Free’s installation and setup looked pretty easy, and there are many available resources.
  • NAS4Free supports UPnP which I want to use with my Grace Digital Audio system.
  • If I need to, I can install additional software (FreeBSD packages), although I should note that NAS4Free strongly recommends that the NAS stays just a NAS, and doesn’t become an all purpose server.
  • NAS4Free is fully Open Source, not the free version of a commercial product.

My Hardware

My major NAS hardware is:

  • Antec Sonata case  – a quiet mid tower case
  • Abit NF8V motherboard.  The good: Gigabit Ethernet.  The bad: old enough that I needed to add a SATA PCI board to handle the Terabyte hard drives.
  • AMD Sempron 2800 with 2G RAM.  I’ve had the case, motherboard, CPU, and RAM for ~8 years, and it’s nice to be able to re-use them.  The CPU is plenty fast enough, and the RAM is more than enough.
  • I left in the CD-ROM drive to use for initial installation and updates.
  • An old 256M Kingston CF card plus a CF to PATA adapter to store the OS.  NAS4Free strongly recommends running the OS on a separate drive, so I’m using the embedded installation method.
  • Dual Seagate ST1500DL003 1.5T drives for the main storage; with their 5900 RPM speed, these drives give me a nice balance between performance and power savings.  (“Green” drives are not recommended.)  I have the drives mirrored, since 1.5T is plenty of storage, and I’m more concerned with data integrity than storage capacity or speed.

My Experiences So Far

At the bottom, I’ve listed most useful resources I found; here are some additional notes:

  • Performance is fine; I’ve seen up to ~50MB/sec transferring files to my desktop.
  • Installation went pretty well, except for trying to get encryption working (more below).
  • The web GUI is nice, but could be a lot better.  You definitely need to read the documentation and some tutorials to get everything setup.
  • Remember, as the NAS4Free site says, a NAS is not backup!  You still need to backup the data (preferably in another location).  Right now I’m using some portable USB hard drives; in the future, I’m thinking about getting a high capacity (120G) Blu-Ray burner.

My main problems came trying to get encryption working with mirrored ZFS drives.  Here’s what I found:

  • In short, it’s not worth it for me.  Encryption is a like a lock: it can help, but it’s not a security cure-all, and does add hassles.  So I decided instead of whole disk encryption, I could use a container (such as TrueCrypt) for the files that need it.
  • If you really need encrypted ZFS drives, it’s probably worth checking out FreeNAS V8, which now includes its own ZFS encryption (not compatible with Oracle’s version).
  • NAS4Free’s underlying FreeBSD operating system includes the GELI encryption drivers, which can do whole disk encryption.  It’s probably a decent match with the UFS file system.
  • The problem is that every time you restart NAS4Free with GELI-encrypted ZFS drives, the drives are not attached until you enter the password in the encryption GUI.
  • So after reboot, your ZFS configuration is gone: you have to re-attach the encrypted drives (entering the appropriate passwords), then recreate their ZFS configuration, and synchronize: see the gory details here.  I decided that was too much work for the benefits.

In the future, I’d like to do a fancier NAS with hot swap drives and such.  My default OS will be NAS4Free, but I’d also take a look at FreeNAS and illumos-based solutions.  Although mini-ITX cases with hot-swap bays from Chenbro and CFI are very cute, I’m very tempted to use a bigger case because the mini-ITX cases are limited to 4 3.5″ hot-swap drives, while I have a case that can handle 10 hot-swap drives (using something like this), and ZFS starts to get really interesting at 5 drives and up.  Another possible approach is to use 2.5″ drives and something like this or this, and a cute mini-ITX or micro-ATX case.

Note 9/2014: CFI now has a mini-ITX case with 5 3.5″ hot swap trays (and a 300W power supply) which looks pretty interesting.

NAS4Free Links

Here are some links I found useful:

2 comments

1 sas { 05.13.14 at 2:27 am }

Just read your blog.
Don’t use ZFS without ECC RAM. :-/
http://forums.freenas.org/index.php?threads/ecc-vs-non-ecc-ram-and-zfs.15449/

2 Tony { 05.15.14 at 12:54 pm }

Thanks for the link; it’s well worth considering, and when I build another NAS4Free system, I’m 99% likely to spec ECC DRAM.

However, I would add that:
1. Please remember that, as the NAS4Free guys say, NAS is not backup!. You still need to back up your NAS in case of ZFS issues, fire, flood, theft, etc.
2. Here’s an example of some contrary views.

Leave a Comment