Article by Chris Pentago
I am one person who has been fascinated by the virtualization. The idea that software can be able to take a single machine and divide it up to act and feel like several independent systems has never ceased to amaze me. The geniuses that came up with virtualization environments must be some really bright minded individuals.
Well, I have particularly been impressed by the way it can be able to simulate an entire machine with that has all the required hardware such as memory, processors, networking and all the resources user can wish for.
I have a list of some of the virtualization technologies that I have been privileged to try out. Do not worry, I am not exactly the tech junkie that most IT enthusiast are so everything you get from me is nothing short of simple observations without really going into the deep technical stuff.
KVM
Let’s start with KVM, The Kernel-based virtual machine to me is simply a revolution of open source technology. I realized that it performs very well and is just better suited than others i tried. I loved the way it has been designed to take advantage of all the important features of Linux. It’s amazing the way it picks up the high performance of Linux and even the tight security that Linux has been able to keep up for many years now.
KVM requires a processor with hardware virtualization extension.
By itself, KVM does not perform any emulation. Instead, it simply exposes the /dev/kvm interface, with which a user-space host can then:
- Set up the guest VM’s address space. The host must also supply a firmware image (usually a custom BIOS when emulating PCs) with which the guest can bootstrap into its main OS.
- Feed it simulated I/O.
- Map its video display back onto the host.
On Linux, QEMU versions 0.10.1 and later is one such host. It will use KVM when available to emulate guests at near-native speeds, but otherwise fall back to software-only virtualization.
I also discovered that it is far much cheaper (actually free) especially when you take into account the fact that it offers a great experience and the peace of mind you have knowing that it’s very secure.
KVM tutorials:
http://www.linux-kvm.org/page/HOWTO
Xen
One other virtualization tool that I tried out is Xen which I learned is pronounced ‘Zen’ (makes you wonder why they didn’t just go for the ‘Z’ in the first place).
Anyway, it an open source virtualization technology which means that you can also get it for free in your distro. One thing that I noticed about Xen is that it is built for both home and business use just as KVM. However, I had to use a separate entry in my distro’s GRUB menu since it requires a totally separate kernel to boot.
It has been divided into layers called domains. The one with the highest number of privileges which I guess is the hypervisor is called the Domain0. Noticed that when I run guest operating system on it, they would run in what is referred to as Domain U.
I think it’s amazing that I can be able to run it even when the processor I am using has not been enabled for virtualization. However, you get full features when you enable virtualization. Intel and AMD virtualization helps you achieve this through Hardware Assisted Virtualization (basically, any newer processor has these features).
Xen is a virtualization technology that you not only enjoy for free, but is also very powerful and easy to manage due to its easily scripted command line syntax. I swear, administration of a virtualization environment has never been easier. I would advise that you configure your processor for virtualization (usually a BIOS option, depending on your motherboard/CPU vendor), this is the only way you get to access the full features.
Xen tutorials and howto’s:
http://www.howtoforge.com/howtos/virtualization/xen
Virtuozzo
I have also tried Virtuozzo, while being proprietary (Parallels), one thing that I can tell you about it Virtuozzo is that it runs a single OS kernel and it enables me to export container to different partition in order to create an independent unit.
I noticed that it has a kernel service that is able to manage the entire system by stopping any single unit from crashing the entire server if it drains too much resources. Partitions are also fully isolated so one partition cannot affect data stored in other. However, I noted that I can still be able to move data between the virtual environments with ease.
The command line is pretty simple to understand too. With Virtuozzo, I have the choice of using a GUI interface for general management through its Virtual Management Centre and a more web based interface that allows for remote access known as the Virtual Control Centre. To me, this is a true virtualization tool.
Personally, I use OpenVZ on my site’s VPS which is basically opensource port of Virtuozzo but haven’t played with it locally..yet. From what i experienced they provide similar set of functionalities but not so sure about performance.
Hyper-V
Hyper-V which is a virtualization tool that I came to know is codenamed Viridian and was initially known as Windows Server Virtualization.
It is a virtualization tool that is exclusive to Windows and it can work with both 32bit and 64bit systems. It contains it’s hypervisor which is one of the drivers in Windows Server. I have particularly noted that it has very favorable virtualization capabilities and can support several components too.
One thing that it can surely do is effective consolidation of servers without wasting resources.
I think it has several features that I haven’t come to fully tryout. I can however point out that this tools has a more dynamic memory, its the only way it can be able to manage the high workload levels that I would not be comfortable trying with the other systems.
If you ask me of its benefits, I can say beyond any reasonable doubt that the Hyper-v is an excellent way to utilize the resources in your infrastructure at low cost. I think it is very simple and has the ability to work for organizations of any size. The performance is pretty impressive too given the workload that it can effortlessly handle.
When you try out Hyper-V, you immediately recapitalizes that all the knowledge you already have is fully relevant. I didn’t have to learning more than I already knew to be able to utilize this technology. Microsoft also offers helpful support so you can easily find solutions in case you come across any hitch with its applications or even the operating systems.
Collectively, these tools just increased system capability despite the physical resources available. All of them are unique in their own way and able to meet different needs.
I reckon most people would not read this to get idea on what to install next on their home boxes rather to try to understand these technologies more and possibly pick preferred one for their VPS or something.
One thing that can help (at least money wise) is ServerBear comparison chart which seems updated regularly and can help guiding you if you’re in hunt for new hosting solution.
Here’s how it looks (click image to enlarge):
As for recommendation, some budget solutions are Prometeus, IperWeb and BudgetVM where VPS with some of mentioned technologies can be bought for as low as 5$/mo. As for my people from Australia , i’m overly satisfied with Ninefold.