Why didn’t anyone tell me…

Things I wish people would document, plus some original fiction. Weird, huh?

Why didn’t anyone tell me… header image 2

Home Virtualization: my own kind of layer cake

November 10th, 2009 · No Comments

One of the abstraction problems I had with plotting out home virtualization is that I’ve already solved a number of these problems, and I don’t have a dedicated budget to go about replacing my whole – working – infrastructure. But knowing how much electricity is lost and heat generated with each little power brick and redundant device I owned, I needed a way to plan the flow from real to virtual. I finally found a way I like, and I’ll offer it as a time-saver for you. Comments welcome, maybe there’s a better way.

Eventually I settled on a layer cake analogy, more or less a table that showed what I was doing and where it was possible, and the game was to shift as much as possible to the left, into the VM column. But this also let me pick how the progression went. I can keep several of my layer cake tables showing a phased motion toward the virtual.

My first step was to document exactly what services require this mess at home and where it’s currently being handled:

Mini-Linux VMs OS X Server VM Host-only appliance
iCal Server X
RadioLover X
TimeMachine X
Router/Gateway/DHCP/etc. X
Proxy
MythBackend
Storage X
VPN/Remote access X
Indigo X
Video encoding X
Twonkymedia server X
Bittorrent X

Some of those things were not yet implemented but were wish-list items, like the proxy, video encoder as VM, and MythBackend. Anyway, the point is that now I want to move as many things as possible, independent of each other, to the leftmost column available. So the next table shows the eligible places that each service could move:

Mini-Linux VMs OS X Server VM Host-only appliance
iCal Server X
RadioLover X
TimeMachine X
Router/Gateway/DHCP/etc. X
Proxy
MythBackend
Storage X
VPN/Remote access X
Indigo broken? X
Video encoding X
Twonkymedia server X
Bittorrent X

For the record? This is a lot easier on a pad of paper.

There are now two missing pieces. One is to investigate the technical options for moving each service into a separated VM to provide that service. Second is to plot the order and requirements in such a way that everything eventually ends up where you actually want it. That’s a lot harder than it sounds.

Options are Optional
Now I want to start with the observation that while VMware does have an appliance marketplace, there are entirely too many all-in-one appliances in there. But with the advent of this newfangled thing called the internet, I found that it’s almost as easy to do an easy-install of Ubuntu and install the one package I want, and make that the new dedicated virtual appliance I need. After all, to me the point of this is to have a lot of little VMs doing dedicated jobs, not to have yet another monolithic appliance that does it all.

So I started on my list of service requirements and did some reading. For instance I found instructions on how to build up an iCal server using Apple’s server, but on Ubuntu instead of the integrated OS X Server one. So that’s a VM I built and have on hand. The only issue there will be handling upgrades manually if they change the schema. I’m not sure I’m willing to risk it, but I have a backup server anyway.
Next I built a MythBuntu backend-only install and configured it for my network, then another for just a frontend. I don’t have an encoder card installed anywhere anymore, but it’s good to know it’s ready when I want it. And it’s SO MUCH EASIER THAN IT WAS 5 YEARS AGO. Wow.
The proxy was probably the easiest one – I found one prebuilt in the VM Library that was nothing more or less than a proxy server with virus scanning built in. Perfect!
RadioLover was easy, I just copied my license and settings into the OS X Server VM and started it up. The only Mac I can virtualize is server, so that’s pretty much it unless I switch to other software.
Indigo did not go so well. I was moving this service off an old G4 mac mini where it had been running time out of mind. The issues started when I decided to try to run it inside the VM. Something about the driver doesn’t get along with the USB control unit, and no amount of fiddling fixed it. I’ll have to bring it in to the USB devices team and have them poke about. However, as my mac mini host is still going to be on, I just reinstalled it there, where it was happy enough.
At some point I’m going to have to resolve (in money) my storage solution. It has to live in the noisy, hot garage where I don’t have to hear it. It has to be reasonably fast. There is an option to have it as a virtualized software RAID, so it’s available. I know, I’ve discussed this before, but it needles me so.
So after a day or two of contemplation and migration, this is the new reality:

Mini-Linux VMs OS X Server VM Host-only appliance
iCal Server (iCal server Ubuntu) X
RadioLover (streamripper) X
TimeMachine (FreeNAS) (needs local RAID) X – ReadyNAS
Router/Gateway/DHCP/etc. pfSense (does NOT like pppoe) (linksys plus dd-wrt)
Proxy Squid appliance, optional install in pfSense
MythBackend MythBuntu VM/Ubuntu with MythTV package
Storage (FreeNAS via iSCSI) (zfs from source) (FreeNAS host with RAID controller cards) X – ReadyNAS
VPN/Remote access BackToMyMac/DynDNS BackToMyMac/DynDNS
Indigo (fails to control USB device) X
Video encoding testing (X)
Twonkymedia server (testing) (needs local RAID) X – ReadyNAS plugin
Bittorrent (default BT mac client) X – ReadyNAS

Items in parenthesis are alternative options, or things I’ve tried but plan not to use. But now it’s time to see how much more can make the leftward shift.

I hope this makes sense to other people, it sure helped me see how I could start doing this at home. I honestly think we’ll start to see a commercial product doing something like this in the near future.

Tags: Bookshelf · Computer · House and Home

0 responses so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

You must log in to post a comment.