I’ve been getting increasingly edgy about the backup strategy we use at home.

My work backups are a lot more comprehensive: auto-snapshots, sending/receiving to a ZFS pool on SWAN, with hg clones of important workspaces stored on an NFS-backed home directory with its own separate backups performed by Sun IT.

At home though, we were storing most of our photos on my aging 2002 17″ iMac. There, when I remembered, I’d kick off a manual rsync of the contents of the mac to a 3.5″ 160gb ide disk containing a single ZFS pool attached to an OpenSolaris laptop via a USB enclosure.

– you can see the two approaches differ pretty significantly.

Added to this, the missus got a 1080p video camera for Christmas, and I figured a little extra storage would be handy. So, I decided it was time to get another computer at home that I could use as a small NAS box. I also figured that if this box was going to be left on a lot of the time, it ought to be power efficient. Along with that, wouldn’t it be good if it was capable of doing tasks other than just storing data?

I wanted at least a mirrored ZFS pool for the data, and a separate disk to run the OS from. Looking around a lot of the major consumer computer vendors, none that I could find were selling small, power efficient computers that could fit 3 disks. If any consumer-oriented computer vendors are out there, I’m sure there’s a market to be tapped here?

The best I could come up with, was a single-disk computer attached to a separate consumer NAS device. The trouble is, that NAS likely wouldn’t be running ZFS, and that was a non-starter for me.

So, I embarked on building my own. I’d seen a few good posts about building small NAS systems around an Atom processor and a mini-itx motherboard and decided to give it a go.

Here’s the parts list I finally came up with:

I went for an Atom board with an ION chipset, thinking that despite the newer D510 chips using slightly less power, they weren’t much faster than the dual-core Atom 330 and having Nvidia graphics meant I could use the box as a desktop as well as providing a stable storage platform. I didn’t really investigate AMD-based mini-itx boards: some of their chips look pretty low-power, and ECC ram would have been nice. Maybe next time.

I’d read some good reviews of the Chenbro 4-disk case, but cost was a factor here: the case I eventually went with was a lot cheaper: two hot-swap SATA disks and space for one internal disk was enough for me. I’ve read suggestions that the case can actually fit another disk if you’re willing to hack about a bit, and I could potentially also ditch the DVD drive and bolt on another 3.5″ disk if I needed more space. For now, 3 disks is enough.

I planned to use a ZFS mirror on the two hot-swap disks, and leave the OS on the internal disk. Yes, a terrabyte disk is a lot for an OS, but in my experience, you can never have enough scratch space.

I’d not built a PC in a long time, but this was pretty straightforward – my only quandry is whether I really need to connect the two fans at the back of the case: the motherboard doesn’t seem to get that hot during use, but for now, they’re staying connected, just in case. They’re not that loud.

Installing OpenSolaris nv_131 went without a hitch: I just needed to make sure the SATA disks were set to AHCI mode in the bios. I found and filed 6920337 pretty early on, and was thankful to get a fixed driver within 24h of my filing the original bug: much appreciated Rachel!

Otherwise, all is working well – the system has enough poke to run day-to-day desktop tasks: which for me, is several terminal windows, a bunch of browser windows, pidgin, Evolution and Netbeans. I’ve also tried fullscreen mp4 playback with totem and the Fluendo gstreamer plugins, and it can manage them just fine.

I’ve yet to plug the system into a power meter to see how efficient it is – I’ll add a comment to this post as soon as I find out.

Photos below, for those so inclined…