One of the things I’ve been meaning to do is to setup a home server/network attached storage setup. I wanted to do this for a few reasons – consolidation of our music, video, pictures and other media so I didnt have to keep my main work computer on all the time. I also wanted to off load some processing – online backup primarily, but also media transcoding if necessary. I wanted to do it in Linux to minimize overhead (and because it’s free.)
Online backup is a must though – I have lots of pictures and video, as well as documents, that I get paranoid about. I have an external hard drive that I backup to every week or so, but that doesn’t provide the off-site backup that I need. I was using Mozy on my primary computer, and that works fine. However, I’ve had some performance issues with it, and it requires my computer to be on all the time. My desktop rig is a bit overpowered, so that’s not necessarily the greenest thing to do. When Mozy decided to do away with its unlimited storage option, that was the point where I decided I needed to find another alternative. Crashplan came highly reccommended, and they also supported Linux.
I had my older desktop available as a rig, so I put a couple of terabyte harddrives, and installed FreeNAS, a FreeBSD based distribution that had all of the functionality that I needed and would be capable of running “headless”. Installation was a snap, and after a little bit of configuration it was up and running pretty quickly. The web based management was fairly easy to figure out too.
So after I get the disk, mount point and samba setup, as well as the torrent and itunes servers up and runnning , I try to install Crashplan. This is where I show my stupidity – I assumed “Linux” support included a version that ran on FreeBSD, but apparently that’s not the case. I spent a few hours trying to install/compile Crashplan on FreeBSD, but the version of FreeBSD that FreeNAS is based on apparently doens’t make that particularly easy. Plus. there was a bug in FreeNAS that wouldn’t set the Wake-on-LAN feature of the NIC when it powered down, so I had to physically turn on the machine.
After a while of struggling with this, I came up with a brilliant idea: why not install a flavor of Linux that I’ve familiar with (Ubuntu), and run FreeNAS in a Virtual Machine? That way I can run FreeNAS, and then install Crashplan on Ubuntu and have it backup the data that I want. So I install Ubuntu, and setup Virtualbox. Learned a bit of virtualization,setup the VM and it ran fine. Had to tweak the network settings so that the VM got a separate IP address It just couldn’t see the data drives that I had mounted. The problem was that Virtualbox has a function to share mount points from the host OS to the guest OS, but that required installing something called Guest Additions on the guest OS. The problem? There wasn’t an easy way to install Guest Additions on the flavor of FreeBSD that FreeNAS used. I tired, but failed.
I spent a couple of hours trying to get it to work. I did get kludge the guest OS to see the data on the mount point, but for some reason writes to the mount on the guest OS weren’t seen on the host and vice versa. Somewhere toward the end of that I thought, wait? What am I doing? I have Linux installed already, why am I struggling to get FreeNAS to work when I can just do what I need directly on Linux?
Yeah, I never claimed that I was that smart. I’ts not the first time I get so focused on what I’m doing that I forget why I’m doing it. Won’t be the last time either. 🙂
So I ditched Virtualbox and FreeNAS, installed Transmission, Firefly and Crashplan, and configured Samba and a few other things, and now I have everything that I want in a home server. In about 45 minutes. Just took me a week and a half of struggling to get there.
Heh. At least I can claim that I know virtualization on my resume. 🙂