Homebrew NAS Box

Last June, I built myself a homebrew NAS box. Every so often people ask me about it, so I might as well document what I did once and for all.

For a few years, I was storing media and backing up my photos onto a single disk in a USB caddy. There are a few problems with this approach, if like me you’re a sysadmin (no redundancy, no SMART monitoring, limited capacity, etc) so I started thinking about getting a NAS.

I looked at the Thecus and QNAP models and found the higher end ones had some of the features I was looking for. But I’m a FreeBSD user and I wanted to start trying ZFS, so firmware hackability was one of the most important features I was looking for. None of the models I was looking at were very hackable. So now, I was in homebrew territory, which concerned me since I didn’t want a full sized system with a stack of disks in it.

Then on the recommendation from Colm Buckley, I ended up looking into Tranquil PC, who make the BBS2, a dual core 1.66GHz Intel Atom CPU, up to 4GB RAM system in the form factor of a NAS. I ended up getting one with 4GB RAM and filling it with 5x Western Digital 2TB disks.

Since I wanted to use the drive bays purely for storage, I was originally running the system off a 16GB CF card connected via USB, while I sorted out an IDE Disk On Module. But after opening my BBS2 up, I couldn’t find an IDE slot for the Disk On Module to go into, so I resorted back to the USB storage solution, but using a new 16GB SanDisk Cruzer USB key as the system disk.

The result? I have a 10TB NAS which takes ~40W of electricity to run (I should really confirm that with my power meter), runs FreeBSD 8.x, stores everything in ZFS and can interface with pretty much anything I want, from my Mac Mini powered Multimedia Setup, to my new Squeezebox Touch. It speaks NFS, SMB and AFP, so pretty much any client can talk to it, and it didn’t take anything more than a standard FreeBSD install to set it up. In the (somewhat) distant future, when I manage to use most of the free space I may end up getting the SQA-EX to add another 5 disks to the system.

DIY Multimedia Centre

While I’m not a die hard A/V nerd, I’m a fan of watching movies and a number of TV shows. Hence why I have a reasonably large, eclectic collection of DVDs. It was only a matter time before I would build myself a multimedia centre at home, but I’m being careful to keep it modular so I can adapt it to new technologies as they appear. Alas, I built it in stages, with a flat screen TV coming near the end. The following is an account of my current setup, in order of acquisition of each component.

When I was buying a DVD player a few years ago, I was careful to make sure it was future-proof. I’m very glad I chose to get a Pioneer DVD player, primarily because it is one of the higher end DVD players which can do 1080p upscaling quite well, and it’s relatively easy to make region-free with some IR codes and a laptop or a palm pilot.

Next came a computer; a 2007 vintage Intel Core 2 Duo Mac Mini to be precise. It does a fairly good job of driving the TV at 1080p, but with the help of a Toslink+DVI–>HDMI convertor. By and large, we run Boxee (a fork of XBMC, but with a more remote friendly UI in my opinion) and Apple’s Front Row on the Mac mini, as front ends to the media collection. I have grand plans to proxy specific traffic via the US so I can take advantage of Boxee’s additional features like Hulu, etc outside the US), but I perpetually keep meaning to find the time to do so.

The keystone of the system was my flat screen TV, bought mid 2009. After ~2 years of research and much anticipation, I finally decided upon the Panasonic 42" TX-P42V10 Neo-PDP Plasma TV. Why Plasma over LCD or LED? Plasma defaults to black unlike LCD, so it’s better for movies over gaming. As for LED, it was too new (ie unproven) and relatively expensive. Panasonic’s Neo-PDP was ultimately alluring since it lacks many of the legacy burn-in problems plasma has been plagues with over the years, not to mention being ultra thin (the TX-P42V10 is 50mm thick!) and low power* (power consumption is ~300W when on , <5W in standby). If that wasn’t enough, the TX-P42V10 has an ethernet port (it’s awesome being able to ping my TV to double check if it’s left on!), so it can talk to YouTube, flickr, etc. I also find it entertaining that deep within the TV menu the “system license” option prints the GNU License onscreen.

The glue that keeps everything together is a single remote control, the Logitech Harmony 885 controls everything (even Mac OSX on the Mac Mini via Remote Buddy) flawlessly.

In time to come, I fully expect to swap out the Mac Mini + DVI–>HDMI convertor to the 2010 Mac Mini with native HDMI output, as well as a Logitech Sqeezebox system to stop requiring the TV to be on to just to play music, as well as having a proper surround sound speaker set, once I find a wireless or semi-wireless surround sound set to adapt to my partially wired living room setup.

All in all, this media nerd is very happy. 🙂

* I’m a power conscious nerd who loves numbers, but that’s worthy of another (planned) blog post at a later date.

California

So, I’m now out in Mountain View, California; where they have clear blue skies (apparently they aren’t an unnatural sight to see).

Unfortunately, the reports were true; Mountain View is for all intents and purposes, a large retirement community. There does not appear to be much to do here at the weekends, especially if you’re motor-vehicle operationally-challenged like myself. There should be more to do next weekend, when I get to go and explore San Francisco.

On my flights over, I learnt a few things:

  • Airline food really is kak! I’d never been on a flight long enough before to get anything more than an overpriced, bland sandwich from Ryanair or Aer Lingus.
  • These are the best headphones ever manufactured. They worked perfectly, making my flights as pleasant as possible.
  • Apparently town planning isn’t as overly complicated and messy as it is in Ireland. All one needs is a copy of Sim City.
  • So far, I appear to be either immune to jet lag (highly unlikely) or I’ve just been lucky so far. We’ll see how I do returning home in a few weeks, when I cross 10 time zones in 32 hours.

What's on my Desk?

So, after spending a considerable amount of time biltzing my room and clearing my desk, I’ve decided to show you how much/little I now have on my desk

My Desk, in preferred lighting

To work out what every thing is, there is a better lit, annoted version

Now that I have a comfortable work enviroment, I’m all set to be productive over the next 8 – 10 weeks. As a side project, for when I can’t resist the urge to tinker, I’m going to try and organise my mp3 collection somewhat. There are triplicate and quaduplicates of some things, which explains why my collection is currently weighing in at 118GB!

Suggestions for ID3 Tagging/Organising Tools for OS X (preferably) or Unix (CLI based) are welcome.

Results…

I’ve had an interesting time recently. I went along to the Inaugural IE-NOG event last Wednesday. The talks were interesting, the session in the Schoolhouse afterwards was good fun and I even got to match some faces to the names I see on mailing lists nowadays… 🙂

On Saturday night, I hosted a small barbeque at my house. We had good food (especially the home made cheesecakes for desert) and good fun hanging out and watching parts of Live8.

Today, I got my long awaited results from my exams. I failed 2, Statistics and Compile Design I/Software Engineering.

I’m not overly shocked by Statistics, I’m not a huge fan of expressionistic mathematics. It’s too similar to writing essays in my mind, mathetmatics shouldn’t involve lots of choices, just correct and incorrect methods. Compile Design/Software Engineering wasn’t expected, but is manageable.

At least I passed AI with room to spare and I have escaped from the dreaded OS/Networking course which was obviously meant to produce a long line of O/S and Networking programmers, nothing more. It was clearly based upon a single O/S book and a single networking book, neither of which were wonderfully good. The O/S lecturer is even misguided enough to think that the question “Are threads and processes the same?” can be asked as a true/false question. The correct answer is “it depends on the O/S”. (You can tell I swing both ways between Linux and BSD… 😉

Anyway, tomorrow I’ve a job interview meddling with a few Linux web servers, so off I go to do something constructive with my evening…

I Can See Freedom…

After a long few weeks studying (cramming if you will), as of lunchtime tomorrow they’re all behind me. 🙂 So far they’ve all gone well, even Prolog which was a pleasent surprise.

While studying, I’ve finally found a proper, decent radio station, especially since the Phantom FM online stream sucks. I’ve been listening to Virgin Radio UK, initially via iTunes, but I’ve switched to using VLC, since iTunes didn’t appear (to tcpdump) to be using the IPv6 stream.

In other college related news, I’ve gotten approval for my fyp proposal. Which means research begins over the summer since I am going to try and get into a testing cycle by Jan or Feb at the latest…

At least I’ve a few things to keep me busy for the next while, the long anticipated nap to catch up on lost sleep, tinkering with multimode fibre, LDAP, Kerberos, FreeBSD and all sorts of other things repeatidly pushed down the perverbial To Do list over and over. Suppose I should look for a job at the same time too…

Anyway, off to bed I go…