Building a Tidy Home Server with OpenSolaris and ZFS

I’ve seen a number of mailing list posts recently of the form "I want to build a server for my house which uses ZFS.  What should I buy?"  Step one is to list your requirements.  Here are mine:

  • Modest CPU and RAM (= low cost, low power, low heat, low noise)
  • About 150GB of net usuable storage (ZFS makes it easy to grow your storage over time, so I figured I could take advantage of the low cost of "older" drives)
  • Small form factor
  • Quiet
  • Low cost

So this weekend I set out to build such a machine, encouraged by Tom Haynes’ success building a box from scratch.  However, I’m lazy, so I wanted to balance do-it-yourself with do-it-easily.  After a visit to my local (very good) computer shop, Central Computers in the bay area, I settled on the following component list.  I could have gone with a machine from Shuttle, but to accommodate more than two drives would have been expensive.  I settled instead on a bare-bones kit (which means case, power supply and motherboard pre-assembled) from Asus.  Here is the required parts list:

So here’s the build process, in pictures.  If you want to see any of the pictures up close, just visit the my smugmug gallery page.

The components, as purchased.

Unpack of the barebones box.

I opened the case to find a tangle of black ribbon cables, which I promptly removed.

I left the one ribbon cable I would need for the DVD drive (why aren’t these things SATA, also?) and plugged in the supplied SATA cable.

After removing the back side of the case, I was better able to route the IDE ribbon cable; this also provided needed access for screws which hold the drives in place.  I also added in the drives at this point, although for some reason I forgot to take pictures.

I also connected the DVD drive.  At this point I noticed an important warning on the case back…

Adding in the single 1GB DIMM was straightforward, although more pressure than I am accustomed to was required:

Coffee Break!

Time to add the CPU:

And to examine the heatsink provided by AMD.  The fuzzy grey stuff is the thermal paste.  I made sure to look carefully at both the heatsink and the attachment point on the motherboard to be sure that I got things to contact properly.

All components in place!

Because the kit included only one SATA cable, at this point I had to make a quick run to my local electronics retailer, and I picked up some nice goodies to add to the case.  First, I wired up the second drive, and replaced the ATA ribbon cable with a nicer rounded cable.  In my experience, these are just easier to work with.  I also secured the SATA cables out of the way using a velcro cable tie (you can buy big rolls of hundreds of these at Home Depot for a few dollars).  I also used cable ties to secure unused power connectors and generally improve the organization of the wiring:

I also found these amusing "slot caps" from Vantec, which I had fun installing.  In theory, they keep the dust out of unused slots.  In practice, they just look neat.

The caps were sized for PCI slots, so I had to do some surgery to get them to fit on the PCI-Express slots in the case:

The kit also included DIMM slot caps:

Hopefully the airflow through the case will be good enough.  I think the biggest concern is whether the drives will be cool enough.

The new box, looking tiny compared to the 2001-vintage machine which it replaced:

Solaris booted smoothly and with no problems:

I kicked off the installer and watched some TiVo.

Here’s the case, suspended from my home desk via a neat metal arm which came with the desk.

Once I get all of my services configured, I’ll post some notes about the software side of things.  While no PC is perfect, this little box looks like a winner for a small home server.  Assuming cooling and power budgets will allow, I should be able to expand to four drives with little effort.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s