Virtualization and its uses for a normal human being!
I was asked by my manager to look into virtualization in detail and how it can be used in our platforms. It is not that I am not aware of what virtualization is and what it can do, it is just that I was too lazy to do anything targeted towards it and I was a bit busy with a lot of other stuff (WDK, etc.). So the first thing I did was, yes you guessed it right, fired up google and searched for information about Virtualization. I was able to prepare a nice report for my boss. Then as I always wanted I started digging more into platform and Hybrid virtualization and how I can run multiple operating systems on my machine.
I am not new to VMWare player. I have used it in the past and very much appreciate the player as well as the appliances that are freely available out on their website. The only problem with VMWare player is the inability to create an image. Ofcourse all you VMWare proponents out there will immediately point out that I could use VMWare Server for that task and it is freely available. I would say, VMWare Server is freely available as in Beer. Try downloading one now if you don’t belive me. You will have to go through a long registration process and if you are lucky you will get registered or else you will just get a 404 on server and you will have to repeat the whole step again. I tried for a couple of times to register myself and then gave up. Anyways, it is a lot of hassels to download the VMWare Server if you want to create images. But wait a minute, I didn’t explain why I didn’t like readymade images.
Well as a matter of fact, all the VMWare images/appliances are really bloated with all the unnecessary stuff that I am never going to use. One appliance uses almost 10Gb of expensive harddrive space. And again, you cannot modify some of the basic stuff that the image has already selected for you. Try modifying the partitions or the file system formats and you will know what I mean. For example, the image is using an ext3 system and you would like to use LVM, you are fixed with VMPlayer. Either you discard the whole appliance and try to search and get the appliance that fits your need or use whatever is available. Again VMWare is pretty heavy on the resource usage. I am running Vista on dual core Intel 7200 (with VT-x disabled), 4MB of L2 cache and 4GB of DDR3, it is a pretty powerful machine. Still if I run the VMWare player or the VMServer on top of it, it goes a bit slow. As for VMWare server, during installation it tries to modify the IIS configuration files, etc. and takes a long time to install. Anyways, I don’t like it much so I wanted an alternative which is smaller and less resource hungry and allows me to do all the things that I want to.
So again I fired up google and searched. Microsoft showed up with Virtual PC 2007 SP1 and Virtual PC 2005 and being the microsoft fan that I am, I first went and downloaded VPC2007. Installed great. It just disconnected me for a moment from my internet as it was installing the network drivers but it promised a lot of things I wanted to do. I read a bit more about the VHD (Virtual Hard Disk) format that was supported by VPC and also read about its support to Microsoft OSs. Well thats when I created a VHD and thought of installing ubuntu on top of it. I mounted the disk, it showed up the installation menu and then no matter what I did, the VM crashed (not my machine but the VM with the VHD crashed). I searched the web again and people were able to run v6.0 on VPC. I wanted to go with a kernel greater then 2.6.26 so wanted to run the latest ubuntu 8.10. I tried the alternate CD and tried with the command line installation. But everything failed. I thought maybe that was a problem with ubuntu. So I downloaded fedora and openSUSE instead. But nothing worked. Some more searching with google and I was convinced that VPC is crap when it comes to installing and running other operating systems besides the Microsoft ones.
Really wonder why does MSFT have to do it? Anyways, I didn’t waste much time after that. Virtual Server was similar pain in the a**. Anyways I didn’t go much further with the installation. It was doing something with IIS and seemed to take forever. The easiest path for me was to stop the installation and rollback. I was disappointed but was sure that there must be something out there which can satisfy my needs. I found parallel technologies virtualization software workstation and server. The manual suggested that it has everything that I need but they required payment and are not freely available. I continued and found Virtual Box. And I have been a fan of Virtual Box VB ever since (i.e. last week).
The software is free for personal use. If you want to use it commercially, the source code is available, so just compile it and it is free for you to use commercially. But since my commercial work (i.e. my job) is a whole lot different then what I am doing, I am using this for my personal use. Anyways, putting that aside, the installer was around 40MB. Pretty fast to download and easy to install without any hassles. No computer restart requested and no warnings from my vista machine. I really doubted if it installed properly. I started it up and the user interface was quite simple. They even have a Wizard that can guide you to create Virtual Hard Drives (though they don’t use the VHD format, they have something known as virtual box hard drive vdi files. Haven’t gone into the details yet). So the first thing I do is install OpenSUSE 11.1 on the VB and it works like a charm. As I said, I have my VT-x disabled but still it does not have any performance degradation.
I tried with Fedora 10 and Debian 5, but these didn’t work properly. I was able to access the internet and everything else from the VM. Clipboard copying between VM(Guest OS) and Host OS (Vista in my case) is not supported in VBox. This is a feature that is supported in VPC but who cares. I can start an FTP server on the VM and connect to it using an FTP client on my vista and then transfer files. I haven’t done it yet but it can be done successfully. What else to say, I am happy. I am also going to have OpenSolaris on this machine and see how it works. Am keeping my fingers crossed. Thats it for today. Use VBox and emulate all the OSs you need. Now you can play the original prince of persia (monochrome based) on your vista machine. Before I forget, VBox also supports 32bit graphic modes whereas VPC is supporting on 16bit. And I know you are convinced that VBox is far more superior to VPC and if MSFT wants to really provide good technology, then convergence and acceptance of other OSs is the best way to go forward.
Cheers and peace V