During the course of my daily work, I sometimes need to run multiple OS at once. I used to rely a lot on VMware to run Debian and CentOS on my Windows notebook. The problem with the free VMware server is that it is damn slow, and at startup it takes a few minutes before the VMware authentication service finish working.
One day during a nicotine session my friend Haidir asked me “why don’t you use VirtualBox?”. Oh man! I recall bumping over some articles about VirtualBox in magazines but I guess it slipped my mind.
Starting from that day, bye VMware and hello VirtualBox!
I am surprised on the feel of VirtualBox – it is too light to be a fully functional virtualization product. But it is.
Comparing directly to VMware server (free version) VirtualBox does not introduce any kind of lag at all to my machine. CPU usage never reaches 100% with normal usage of the guest boxes:
I loooooove the shared folder feature. Sure, you’ll have to compile kernel modules for the virtualbox functions but it’s easy and you can always remove gcc and make later if you want.
A little note about networking, is that when you use only NAT networking with the host you will be able to do a “port forwarding” setup from the host (so that when you access a particular port on the host you are accessing the guest). Look for it in the documentation.
"C:\Program Files\innotek VirtualBox\VBoxManage" setextradata "CentOS" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/CentOSHTTP/Protocol" TCP
"C:\Program Files\innotek VirtualBox\VBoxManage" setextradata "CentOS" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/CentOSHTTP/GuestPort" 80
"C:\Program Files\innotek VirtualBox\VBoxManage" setextradata "CentOS" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/CentOSHTTP/HostPort" 80
In the commands above a port 80 on host is forwarded to port 80 on guest. Cool feature. However I want to demonstrate a hidden problem that might help some of you out there.
On my machine, IIS is running on port 80 (don’t ask me why). Meaning port 80 can’t be used by VirtualBox anymore. This will cause the virtual machine to crash when it tries to activate the network interface:
(I purposely captured along the JIT message, normal users might see a normal Send Error to Microsoft dialog).
VirtualBox will display the virtual machine status as “Aborted”:
What you can do next is decide on which port you really want to use on the host. In my case I can simply stop IIS on my host machine if I really want to use port 80.
This is neither a big issue with VirtualBox, nor is a critical defect – it’s just a bit annoying. Perhaps next versions can detect used port before powering on the virtual machine 🙂
But then again, I am using this for my personal work and learn environment. For serious use and production, you might want to consider vm ware hosting for a more reliable solution.