Category Archives: Linux

Implementing a NAS at Home

Saturday morning (ok, technically it was early afternoon, but nevermind that), I woke up to The Wife saying “Come look what I bought.” I trudge out half asleep to the living room. I look in the office and see a black and steel futon by the window. I assess it for a second, then continue into the living room. She has me sit down.

She shows me a cavalcade of items that she had collected in a post-midnight “I need to get out of the house” fit. Towards the end, she brings out two Maxtor Basic 320GB USB hard drives. She says “They were on clearance for $50 each.” If I had been drinking a liquid, I might have done a spit take. “Fifty dollars? Seriously?” “Yep. They were in the clearance section. Are they okay?”

So, for $106 (tax, natch), we have the main components for a low cost home based NAS. “Oh yes, they’re just perfect,” I reply, as I carry them to the office and pull out her old HP desktop.

I spent the weekend deciding how I wanted to go as far as implementing and managing the NAS. I opted for Openfiler for my package rather than simply rolling my own. The other competitor was FreeNAS, but it didn’t have some of the features or robustness that Openfiler offered. After purchasing a USB 2.0 PCI card for the computer, we’re rocking away.

Openfiler is based on CentOS, a Linux distribution based on Red Hat’s Enterprise versions. They stripped a bunch of stuff down, did some tweaking, added some PHP, and you’re left with a web-enabled management interface. Openfiler is based on Linux standards, using Apache for its Webserver with a bunch of custom PHP scripts to actually do things. It uses LVM to support physical volume groups and logical groups with growing. It uses ext3 file system and also supports iSCSI (which I’m not using) for a full grown commercial class interface.

So, after some initial hiccups with not having an authentication system built in, and some wonkiness from one of the drives, we’re done with the building phase. I am mirroring the two drives with software-based RAID 1. I have SuperDuper chugging away, making a backup of my laptop. I’ve cut volumes out for music, pictures, software, and personal storage. So far I’ve allocated about 1/3 of the available space and have nightly snapshotting enabled for a few volumes. I’m ordering the necessary cables to tuck it all away and make it look pretty (right now, it’s sitting in the middle of the floor in a cable nest).