Finally took the leap and decided to virtualize my computer systems. Some will say “ummm, huh?”. Well, I am going to help you sound like a smart geek at that next cocktail party.
What is Virtualization?
Virtualization is a technology that allows your computer to run several different computers inside of it. If you saw (and understood) the movie “The Matrix” starring Keanu Reeves, then you kind of get the concept already. When Ted was running around in the “matrix” doing amazing Kung Fu, he was actually inside a big computer program simulating the real world… all the time never knowing it was actually all in his head. When you install a virtual host and then install virtual guests inside of it, all the guests think they are real computers tooling along, doing work but in reality, they are in a simulated world with no real hard drives, no real CPUs, and no real “tower”.
I wanted to move to virtualize for a few reasons but namely, the portability of the systems. Of course it saves power and rack-space since my dozen different systems or so run on two physical computers but it is more important to me that I backup and move my whole “system” easily. I can take my Windows 2008 web server for example and move it to my other VM host or a host in the cloud as easily as transferring some files and bam, there it is running somewhere else. Very cool technology and more folks should be looking at it.
Choosing a Hypervisor
The first thing to understand about virtualization is that there are different kinds of virtual hosts (hypervisors). The first obvious choice is to take your existing computer like a Windows desktop or Linux server and install VM software onto it. Works fine and gives you some advantages like access to physical equipment on the physical box like USB and serial ports. But the disadvantage is that you have a full operating system running as a host, eating up resources like memory, CPU, and disk that could be used for more VM guests. So the next option is to install a standalone hypervisor which is like a very pared down computer with only the software needed to run VM guests.
First, host or standalone? When I was choosing, I was really driving towards the lean and mean standalone hypervisor but realized that the VM guests would need access to external peripherals like USB tuners, serial ports, and Bluetooth devices.
The next question was if the host should be Windows or Linux. I chose Windows because I wanted the option to eventually do VSS backups of the guests which Windows has a more mature implementation. This would hopefully allow me to backup a running guest without the guest ever knowing it happened.
Then, which vendor should I choose? Microsoft and VMWare seemed to be the leaders at the time of implementation and both are free but I chose VMWare Server 2.0 since it seemed to be the more robust and mature of the two since Microsoft Virtual PC seemed to be geared towards desktop use.
I wanted lower power and small footprint hardware, I decided to go with two 1U rack mount barebones systems with 8 GB of memory. I got two for redundancy since if I have any issues with one of the servers, I just move the files (or the whole disk) over to the other server and continue where it left off.
Converting with P2V
The next step is to convert was to convert my existing servers from physical machines into virtual machines. The latest version of VMWare Converter allowed me to install the client on my existing systems and just suck them into the virtual host within an hour. I had some tweaks on some of the sytems but for the most part, worked as expected. I converted the
- Windows 2008 file server
- Exchange 2010 server
- Windows IIS 7.0 server
- Windows 7 running Homeseer
- Windows 7 running Windows Media Center
- Microsoft SQL 2010 server
- RedHat Linux 9 server
- IPCop 1.4 firewall