DIY NAS review with an HP Microserver and FreeNAS

Mark Komarinski mkomarinski at wayga.org
Thu May 8 15:52:15 EDT 2014


(I've had this in my draft mailbox for quite a while after I promised 
sending this.  It's getting rather long, so I'll send this and then open 
up for questions.  tl;dr: I like it.)

So there's really two parts to this review.  First the hardware.

I started with the HP ProLiant G7 N54L Microserver, 2x Kingston 4GB RAM, 
and 2x WD RED 4TB drives.

I'll admit to a bit of a bias against HP - I never really liked the 
server or consumer hardware.  But this box is pretty nice.  It's a 
fairly small cube with a locking front door that gives access to the 4 
drive bays (which clearly say 'not hot swap') and the motherboard.  
There's a panel on top that gives access to a 5.25" bay if you want to 
put in an optical drive.  The rear has two short PCI expansion slots, a 
few USB ports, power, and GigE port.  I'm not looking at it right now 
but I also think it has an external SATA connector.

The HP comes with 2GB of RAM and a 250GB SATA drive in the first bay.  
Given I'm intending to install FreeNAS on a USB drive and using ZFS says 
you need a minimum of 8GB of RAM, both of these have to go.  Getting 
access to the RAM was a bit tricky at first as the motherboard is laying 
on the bottom of the case with various cables plugged in and two 'tool 
less' screws to allow you to slide the motherboard out.  I say 'tool 
less' as they were torqued on enough that I needed a screwdriver to 
loosen it enough to remove it by hand.  I had to also disconnect most of 
the cables (power, case, SATA) so it could slide out.  With that done, I 
noticed there's an internal USB connector which was small enough for the 
FreeNAS drive I made previously (more on that later).  Stuck that in and 
the only items plugged in externally are now power and Ethernet.  
Removing the drive from the sled showed it was using a star-head screw 
and so getting it out made me reach for my set of computer tools until I 
noticed that the interior of the door has a small wrench and a set of 
screws - enough for all of the sleds.  That made short work of removing 
the 250GB and dropping in the 4TB.

My only complaint about the HP box is that the power switch is located 
on the upper right edge of the case, along the curve that goes from the 
front to the top.  It's not recessed or otherwise protected, so I hit it 
by accident a few times while moving it around.  Now that it's in my 
basement I don't expect that to happen often, but putting your hand on 
the area is enough to cause it to think you wanted to turn it off.

Enough about the hardware.  On to FreeNAS (http://www.freenas.org/)

Installation to a standard 8GB USB drive was simple enough.  I'm using 
9.2, the current release version.  The console screen at boot time is 
just plain text and only gives a few options.  The main way to configure 
is via the web interface.  It helpfully snags a DHCP address at boot 
time and the console shows the IP address it has.

First login on the web interface has you set the password and you get 
in.  Using ZFS does make things easier in that I just selected the two 
drives and it automatically set them up as a mirror and created the 
volume for me.  Unlike LVM which I'm more accustomed to, that entire 
volume is the filesystem.  With the volume created, you can create 
either a dataset (used for sharing via NFS/CIFS/AFP) or a zvol (for 
exporting via iSCSI).  Everything I'm doing currently uses datasets, 
though I might tinker with iSCSI again later in the year.

Creating a dataset by default makes a space that shares the same amount 
of space as the volume.  You can then set a quota to limit the amount of 
space per volume[*].  You can also select compression or deduplication.  
Compression runs it through a variety of protocols, with lz4 being 
recommended.  Dedup is a lot more effort and there's lots of warnings 
about enabling dedup if you don't have sufficient RAM.  While I'm 
storing lots of compressed media files for now (video and music files), 
it will tell you how compressed the dataset is.  In my case it winds up 
being 1.02x.

ZFS can set up routine snapshots, which is a good incentive to move my 
home directory there.  When you enable a new snapshot, you can set it up 
so there's a 1 hour snapshot during business hours going back two 
weeks.  You can change this by just about any amount - select days, time 
to start and end, how often a snapshot is taken, and how far back they 
go.  You can also select a manual snapshot. To access a snapshot, you 
can either clone it and have it appear as a new volume that can be 
remotely mounted, or roll the volume back to that snapshot (obviously 
dangerous if there's been other changes to the filesystem since the 
snapshot in question).

Exporting filesystems by NFS and AFP are pretty straightforward and you 
can share filesystems using multiple methods.  NFS speed is really 
good.  Copying data over a 1GBE link was writing at about 40MB/s.  With 
a bunch of 10 and 20GB mkv files in place, reading them gave me just shy 
of 100MB/s:

$ dd if=mybigfile.mkv of=/dev/null
40558708+1 records in
40558708+1 records out
20766058991 bytes (21 GB) copied, 209.346 s, 99.2 MB/s

Zoom.

CIFS access gets into Domain accounts and other nonsense that I won't go 
into here.  Suffice to say I can export datasets via CIFS and get to 
them from my Windows box.

I've done two upgrades since I installed in early January.  Each time 
was a bit more difficult than I was expecting.  Not as smooth as I'd 
expect from an appliance, but better than upgrading Windows. Both times 
I tried to upgrade within the 9.2 series, I got errors about limited 
disk space in /var to perform the upgrade.  After rebooting and trying 
the upgrade again, it succeeded.  Not a huge deal, but did add to the 
time it took to upgrade.  The HP isn't the fastest booting system out 
there.  Total time was probably half an hour.

Lastly, there's plugins and jails.  I haven't made much use of this yet, 
but probably will as I get more comfortable with it.  Plugins give you 
access to various other applications, like owncloud, sickbeard, 
subsonic, crashplan, and bacula-sd.  Installing a plugin puts it into 
its own separate jail with its own IP address and network 
configuration.  You can then have each jail get access to specific datasets.

-Mark

[*] Ok, this is really odd.  The only browser I have reliably working to 
get to set quotas is Firefox.  Chrome and IE don't show the icons.  The 
FreeNAS support forum has a few threads on this with the response being 
the equivalent of "LOL Why U use IE".  This is the one thing so far that 
has given me pause about FreeNAS. <- This was written before the recent 
IE exploits were announced.


More information about the gnhlug-discuss mailing list