Big Bubbles (no troubles)

What sucks, who sucks and you suck

The Forty Year Itch

There comes a time in every sysadmin’s life when he is overcome by a deep-seated, atavistic urge … to build his own home file server. And BB is there. Those digital photo archives, they don’t get smaller. And those MP3 collections, they’re easily grown. And then you start downloading video files…

Here’s the current household network:

  • My PC: self-build, usually 2-3 years behind the leading edge, which currently means an Asrock mobo, Athlon X2 (recent cheap upgrade), 2GB, 2x mirrored SATA 250GB drives. Running Fedora, upgraded roughly every two releases with much trauma (but then, it has been constantly upgraded since Red Hat 6.0). At some point that mobo, which was transitional between IDE and SATA, will have to be replaced and my AGP card finally consigned to history.
    This system also acts as a general server for printing, web proxy, etc.
  • Glamorous Research Assistant’s PC: self-build, ancient Asus mobo, Athlon XP 2000, 1GB, 2x mirrored IDE 160GB drives. Running CentOS 5, because the GRA wants to use her PC rather than watch it being updated constantly. Now showing its age.
  • Freecom DataTank Gateway: mirrored 500GB drives, also supports firewall routing and wifi but those are too flaky to rely on. The DTG is now EOL’ed, so no more firmware updates, and it is not intended to be user-serviceable. When the PSU failed last year, closely followed by one of the drives, it had to be returned to Freecom for repair and, despite assurances that the data would be preserved, it was reformatted. In fact, it wouldn’t even boot for recovery with one failed drive, so the mirroring is pointless. Moral: don’t buy self-contained units that you can’t fix yourself. I use this for backup copies of data and secondary archiving rather than working files, because there’s no effective way to back it up other than buying something of comparable size.
  • USB enclosure containing an old 80GB IDE drive for scratch space.

The PCs are on continually, as all the working space storage is split between them. It turns out that, now we both use portable Internet devices, PCs no longer work so well for us: my PC is up three flights in my office, but if I want to check my email or look at a website, I can do it anywhere in the house using my iPod Touch. Meanwhile, my GRA has just received a new laptop so she has access to a larger screen than her iPhone and a proper keyboard that’s still portable. Keeping desktop PCs switched on permanently just for file access and occasional services simply wastes energy. Time to build a new, dedicated, low-power Network Attached Storage server and then we can retire the GRA’s PC, which is so ancient it can’t even handle the Javascript in Gmail, and hopefully use suspend/resume on my box so that it’s available only when I need it for more heavyweight tasks like photo-editing and work tasks (or er… viewing Flash - thanks, Apple).

I always said that when I came to finally build a dedicated NAS, I’d start with one of the Tranquil PC BBS systems. These are beautifully designed cube cases containing dual core Atom boards and five HDD hot-swap slots, with optional eSATA expansion. I’ve been looking at them off and on since I came across them twelve months ago, especially as I know they support OpenSolaris (because my NAS will definitely be ZFS-based).

However, when priced up against a comparable ITX system, they come out about two hundred pounds more expensive. I don’t doubt they’re worth it as a hassle-free way to build a server - just insert the drives and install - but they also aren’t intended to be user-serviceable; indeed, you can’t even expand the RAM later, which means deciding up-front whether to have them fully-populated. And any faults mean a return to base. The ability to swap and add extra drives on the fly is appealing, but realistically I’d probably only require two mirrored drives for the foreseeable and shutting it down for maintenance isn’t a big deal.

I initially shied away from building my own mini-ITX system due to the complexities of matching hardware parts and identifying compatible components, but having googled around, I came across enough field reports to spec something suitable:

  • X-Case Atomic ITX Home Server Case; as chosen by Tim Foster for his home build. Contains two hot-swap bays, plus two further bays that can also hold drives. [Update: This is the same as the CFI A9849 sold elsewhere and in stock. There’s also the 4 bay hotswap CFI A7879, which is currently out of stock.]
  • Gigabyte GA-D525TUD Dual Core Atom Mini-ITX Board with 4x SATA; from Mini-ITX.com, plus 2GB DDR3 RAM. Found a forum posting from someone who had built a NexentaStor server using this board.
  • 2x Samsung Ecogreen F2 1TB HDDs; found a good price on these via Google Shopping. Tip: “eco-friendly” hard drives are just the storage vendors rebranding their 5400RPM drives. I/O bandwidth isn’t a huge concern for this. These will become a ZFS mirrored pool.
  • 8GB USB flash stick; to act as a boot drive.

So far, the board and RAM have been delivered, the drives are due in the new year and, unfortunately, the case is currently showing out of stock and can’t be preordered to beat the VAT rise. Ah well.

As regards a suitable ZFS-capable distro, the options are now:

  • Oracle Solaris Express: effectively a point-in-time early beta for Solaris 11, so no regular update path and ongoing support rather depends on the unreliable caprices of Oracle.
  • OpenIndiana: the community build of OpenSolaris that is retargeting itself downstream of the Illumos Solaris fork. Nothing is certain in this life, but Illumos has some major former Sun talent behind it now. Remains to be seen how far it will have to diverge from its Oracle parent.
  • Nexenta: effectively a storage appliance OS with an OpenSolaris core wrapped in a Debian userland. Tempting, but I’d rather deal with native Solaris than a Linux-alike.
  • FreeBSD: it’s been years since I had my minimal exposure to BSD, but I quite like it. Its ZFS port is reasonably up to date and the OS itself is at least stable and supported.
  • Linux ZFS: still early days, but an option for those stuck with Linux.

Right now, I’m leaning towards OpenIndiana, assuming it retains the developer effort. More to follow once all the kit arrives.