I recently found myself with the need for an abstract storage layer option in my home. I needed a good backup area for the half dozen websites, media storage, database backend, and misc projects. I wanted something simple, drop and go, and uni-functional, but flexible and fast. Hey, sometime you just need to network attach a half tera to your laptop to get that job done, right?
I’d been mulling the concepts over for a while – my previous unplanned storage growth had me with a Windows XP workstation floating a half dozen drives of 250-500g in size, cygwin rsync of local and outside resources, ccstream, apache/mrtg/snmp, blah. It worked ok for what was needed, but it was pretty blah in function and capability. There wasn’t a nice way to leverage it across multiple platforms, and the random MS patch reboot/glitch stuff was unpleasant. Since Mike dropped off his old server at my house and it wasn’t doing anything – and since jg recommended FreeNAS, I decided to give it a shot.
I guess here’s a good time to give my hardware list:
ASUS Dual P3 mobo (too lazy to look for model)
Dual 1G P3 CPUs
Onboard 2x UATA IDE controllers
SATA 4-port PCI Controller, SYBA SD-SATA-4P
NetGear GA311 Gigabit 10/100/1000Mbps PCI Adapter Cards
mix of ide and sata hdds in varying size,age,shape,speed
The default FreeNAS install appears to be a CD boot with config written to a USB drive. Attempts to get it to install itself either to one of the drivers or to the usb drive didn’t work for me (can’t mount usb drive error), but the CD version worked fine – so I didn’t try too hard. The price is obviously right, it booted and recognized all drives, and both my initial 3com 10/100, and later – my netgear 1G card. Administration is via SSH or SSL. You can create users and groups, but trying to get root via ssh didn’t seem to work, nor did su or sudo. The web interface can do most things for you however. ACL permissions seem to be pretty good on NFS, and overall it works nice and cleanly. Lots of little things are well thought out, like being able to set the MTU on the network card. Being able to ssh in and run “top”, etc – is nice. Here are screenshots. Basically – I had no complaints.
Except for the fact that my SATA controller is apparently some weird bastard of the controller manufacturing industries. After a while, I started having problems with FreeNAS hanging on me. Eventually, I realize it was rebooting. The last error on the screen before it rebooted was file system allocation error related (something like fs_malloc allocation error or something.) A bunch or reading, and I found that this card was running a Silicon Image SIL-3114 firmware. Actually, now that I look on the box, it has a hastily applied sticker that says that. There’s a bunch of instructions online for pulling down alternative images, disabling raid, etc – I tried them all (yank card, put in xp box, run firmware update, yank card, put in nas, repeat), new cables, new power supply, no dice. It was weird, this only seemed to happen when I had a fast transfer rate – like from one local drive to another.
So, I decided to try NasLite. Actually, NasLite 2 CDD. $30 is basically nothing in the software world anyways, so I went ahead and bought a license. A couple minutes later, I had a download link and software key, so yay for instant gratification. Of course, I didn’t read any instructions so I was surprised when I discovered that I had to have an actual working floppy drive to write a configuration to before I would get any functionality. Like who has floppy drives anymore?
So I dug around through the house until I found one, then dug again until I found some floppy disks, and started over again. The process seems to be boot cd, apply serial number, apply ip address, go online, get unlock key, type unlock key into system, reboot, etc. Already it was starting to get on my nerves, but whatever. Finally I had an apparent NAS system online.
Here’s the CLI on the NasLite system.
Compare that with the CLI for FreeNAS.
Note the lack of the shell option for NasLite. That’s our hint of things to come.
NASLite runs quickly, cleanly, and easily. It never rebooted on me due to drive/driver errors like FreeNas. But in every other way, it felt like a lesser package.
Instead of SSH and HTTPS for administration access, NASLite offers telnet and local console. HTTP offers access to the files and some pretty status pages, but no real administrative capability. You can’t get shell on NASLite either locally or remotely (as far as I can tell) and there doesn’t appear to be any way to adjust MTU (so much for Jumbo frames). You don’t have any choice on NFS share names, nor is their a local option for ACLing NFS access (FreeNAS has a default deny, you have to manually permit before you can get access).
Basically in everything except my specific stability issues (I’m still having problems, so I think the solution to my issues is to just move to a new adapter card) FreeNAS is the winner in my book.