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