Over Christmas break, I started tinkering with virtual machines. At the time, I was using VMWare, which is free but not open-source. Since then, I’ve been falling in love with VirtualBox from Sun, which is both free and open-source and multi-platform . Over break, I realized that I had a solution in hand to a long-standing problem: how can I do a test upgrade of my home server without invasively messing with the server itself? The answer? Make a virtual machine containing the upgraded OS of my choice, copy over all the filesystems from the home server, and start making it all work before ever deploying is on real hardware.
This worked perfectly. While I was very busy after the break, once the Washington D.C. trip was done I immediately started migrating the virtual machine to the home server. As of this week, cooleysekula.net is completely Fedora-free.
While Fedora Core was my long choice for running that system, many problems had started to present themselves. First, there is no long-term-support release of Fedora Core, unless you want to get RedHat Linux (which I do not). Second, I hadn’t been able to physically upgrade Fedora Core for a long time because the upgrade would freeze after verifying the packages to be installed during upgrade. Consequently, I was stuck on some old version of FC and had to by-hand upgrade a number of packages.
With the advent of Ubuntu 8.04 LTS last year, I was eager to make the switch from FC to Ubuntu. It was pretty darn painless compared to previous experiences just going from one FC release to the next. It only took half a day to tweaking to get all the services back up and running, and then after that only a few weeks to find all the things I missed and patch them. Now I seem to have a very stable, very Ubuntu server running at cooleysekula.net.
Virtual machines, running from the desktop, are an incredible tool. I have been happily running both Windows XP and Windows 7(100), and while I won’t be doing any 3-D gaming on my laptop that’s not why I need Windows on it in the first place. Through care-free tinkering in a virtual environment, I was able to do slowly and gracefully over time a migration that I normally have to block out a whole weekend just to complete, so that I don’t keep home computing services offline for too long. I’m now thinking about running virtual environments containing machines pre-configured to run physics analysis frameworks for ATLAS and BaBar. That prevents me from having to buy specific hardware and processors to achieve target behavior. It also isolates specially configured OS components from my real OS. What a neat era, to be free of the machine!