VMWare is a very popular virtualization solution. I first encountered it many years ago when someone introduced me to VMWare Workstation. I was very impressed with the ability to run any operating system and its associated applications fully isolated 'on top' of an existing operating system. It makes for a very effective mechanism for trying out different operating sytems. In addition, with its snapshot capabilities, testing and performing experiments is simplified by having only to roll back to a specific marker in order to start over again with another variation.
Since then, I have progressed to using VMWare in a multi-host environment. In order to
make use of the various enterprise grade resilient and redundancy options offered by VMWare,
one has to spend enterprise style funds to obtain and maintain those abilities. For smaller
organizations, those costs can be prohibitive. When one is used to working with open source
software, those costs may also become out of proportion to the costs associated with the
hosted operating systems and applications.
The natural inclination is therefore to look for virtualization solutions in the open source
world. From a Kernel perspective, the two full virtualization environments I have encountered are
Xen and KVM/Qemu. Xen has been supported through the efforts of Citrix.
My interests have been attracted to the KVM/Qemu side of the fence. The letters KVM
are an abbreviation for Kernel-based Virtual Machine. The main support web site for this is
found at
www.linux-kvm.org. Primarily, KVM
is a kernel module used for managing the hardware integrated virualization within the host operating system.
Assoicated with KVM is Qemu, which is a machine emulator and virtualizer. It provides
related drivers and scaffolding for the guest environment.
When the underlying physical CPU(s) do(es) not have the built-in virtualization capabilities,
KVM cannot be used, and Qemu handles the full emulation/virtualization structures for hosting
a guest environment.
On current testing version of Debian, starting up a basic virtualization environment is
as easy as running a few installation commands:
apt-get install qemu-kvm libvirt-bin
apt-get install qemu
To test the installation, download a test image, and decompress it:
wget http://wiki.qemu.org/download/linux-0.2.img.bz2
bzip2 -d linux-0.2.img.bz2
Running the simplest command may get you and error if you are starting things from the console
and do not have X running:
# qemu linux-0.2.img
Could not initialize SDL(No available video device) - exiting
To get around this when running from the console, change the command slightly:
#qemu -curses linux-0.2.img
That is a quick introduction to the basics of hardware accelerated virtualization on a
console based Linux platform.