KVM Review

KVM allows me to run virtualized environments for my customer projects and to modify the code as it's open-source, although there were stability issues when running I/O intensive tasks.

What is most valuable?

KVM runs virtualized guests with its own kernel, which is very important to me.

How has it helped my organization?

I mainly use it for customer projects, as KVM allows running virtualized environments for free in a very efficient way. Furthermore, it is an open source solution so modifying the code is possible. One might think that this is never necessary for most projects; however, when a specific customer requested an enhancement of the functionality, I was able to provide that. The customer was very impressed that KVM is such a professional solution although it is free.

Over the years, many customers were happy that they were able to choose between VMware, Xen and another alternative - KVM.

What needs improvement?

Setting KVM up and running it with dozens of parameters can be annoying. However, there is a control interface called Virsh (and also a GUI called virt-manager) which allows running KVM guests with a simple config file.

For how long have I used the solution?

I have been using KVM since 2010, so for fives years in total.

What was my experience with deployment of the solution?

So far, no issues.

What do I think about the stability of the solution?

When running I/O intensive tasks, or having a very high amount of network packages which need to reach the guest(s). However, all issues were under control after tuning the config of the KVM guests.

What do I think about the scalability of the solution?

No issues yet.

How are customer service and technical support?

There is no customer service, only the community. It is a free product, based on open source software. However, one can use RHEV (the enterprise virtualization product from Red Hat), then you will be able to contact the Red Hat support.

Which solution did I use previously and why did I switch?

I used Xen in the past and switched because the customers requested a solution which allows running a guest with its own Kernel. This is also possible with Xen, but not a common use case, though.

How was the initial setup?

The initial setup, when done manually, is complex because you need to be an experienced Linux user or admin, especially as the networking part can be challenging.

What about the implementation team?

I always deploy it on my own.

What's my experience with pricing, setup cost, and licensing?

It is free! Use it and if you need enterprise support, make sure to use RHEV, the virtualization product from Red Hat.

Which other solutions did I evaluate?

No, because in the open source world, there are not many hypervisors which have the same feature set as KVM.

What other advice do I have?

Make sure to gain a lot of knowledge about virtualization and the way KVM works. Then implement it with libvirt and virt-manager because this makes running KVM guests a lot easier.

**Disclosure: I am a real user, and this review is based on my own experience and opinions.
Add a Comment

author avatarManager IT at GIK Institute of Engineering Sciences & Technology

Although I did not tried KVM as I am user of Xen; but sound good to me give it a trial.

author avatarSystems Engineer at Systems Contractor

What's wrong with VirtualBox? KVM \ Xen are a bit more complicated, less user friendly and way behind in 3rd party support

author avatarSenior Consultant IT Infrastructure at open *i

There is nothing wrong with VirtualBox. It is a great product, but not a server virtualization product. Furthermore it lacks of good performance and features one need for running virtual environments in the datacenter or cloud.

VirtualBox is a solution for local virtualization (e.g. if you need a testing or devel VM) IMHO.

author avatarSenior Consultant IT Infrastructure at open *i

> KVM is way behind 3rd party support
What do you exactly mean by that?

author avatarSystems Engineer at Systems Contractor

Sorry but I have been doing VM administration for 10 years almost, and KVM is not as mature as Hyper-V, VMware Workstation or Virtual Box.

Virtualbox is Oracle, KVM is community supported, it's very generic..

For one KVM, in contrast, doesn't have any official management interface. It might have some third-party tools that are capable of managing KVM domains. The main one is RedHat's virt-manager.

Virtualbox is supported on Server platforms, so how is it not a server virtualization product?

KVM lacks in add-ins and download 3rd party support like appliances that you would find in VMWare or Hyper-V.

Just like to say virtual box is every bit as fast as KVM, not sure why you say the performance is lacking, in fact desktop virtual products (tier 2) are pretty the same since they are dependent on the OS for CPU memory and disk access, they don't have their own access.

author avatarSenior Consultant IT Infrastructure at open *i

> and KVM is not as mature as Hyper-V, VMware Workstation or Virtual Box.
You can't be serious? Virtual Box is a typical "let's start a VM on my desktop" product, but far away from enterprise virtualization. Have you ever seen a virtualization cluster in the datacenter based on Virtual Box? Or large server farms being run by Virtual Box?
Well, I haven't.

Don't get me wrong. Virtual Box is awesome. But it is definitely not a professional solution for virtualization although I have to admit that nowadays Virtual Box contains some decent features from which professional users can benefit.

Please have a look what virtualization solution is used by the top 20 cloud hosting companies worldwide - name one which uses VirtualBox. I could name several which use Xen, KVM or VMWare, but I know none which uses Virtual Box as a basis.

author avatarSystems Engineer at Systems Contractor

>>You can't be serious? Virtual Box is a typical "let's start a VM on my desktop" product, but far away from enterprise virtualization

author avatarSystems Engineer at Systems Contractor

-You can't be serious? Virtual Box is a typical "let's start a VM on my desktop" product, but far away from enterprise virtualization -,

Yeah spoken like someone that has a very rudimentary understanding of hyper-visors..

There are 2 types, Type 1 and Type 2. The only type 2 hypervisors that I know of is ESX (VMware) and Hyper-V (Microsoft)

ALL others including KVM and XEN are typical "let's start a VM on my desktop".. and it's obvious you have never used Virtualbox because you would know that its very robust and solid..

Did I mention its by a pretty well known company Oracle?!?!? Do you really think Oracle would make a basic anything? I think not.

I could care less what the top 20 cloud computing companies use, it's not going to include KVM anyway, any hosted solution needs to be either ESX or Hyper-V or corporations won't use them..

Just because a big name is associated with a product does NOT mean they are used in production, serious VM's are NOT put on an Open Source or Desktop solution anyway.

I have worked for a few companies that use VM, Type 2 hypervisors are not even a consideration, and I know a few of those companies and I can promise you KVM is not where ANY of the critical or high priority VM's are hosted, maybe they use it for POC or testing but certainly not anything that is used daily.

author avatarSystems Engineer at Systems Contractor

There are 2 types, Type 1 and Type 2. The only type 1 hyper visors are ESX and Hyper-V that is

author avatarSenior Consultant IT Infrastructure at open *i

Oh, I know VirtualBox. I have been using it for years and as I stated before, I think it is a great product.

I was working as a consultant for many companies and I have seen many very large virtualized environments, all of them based on either KVM, Xen or VMWare. But NONE of them was based on VirtualBox. It is obvious that VirtualBox is not a professional server virtualization product, no matter what sort of Hypervisor we are talking about.

The fact that you try to claim that my understanding of hyper-visors is "rudimentary" not only shows that you are not staying objective, but also shows that you don't have any real arguments regarding VirtualBox.

> I could care less what the top 20 cloud computing companies use, it's not going to
> include KVM anyway, any hosted solution needs to be either ESX
> or Hyper-V or corporations won't use them..
That is not correct. The Amazon cloud is based on Xen. Rackspace and many other hosting companies (such as OVH) use KVM or OpenStack (which KVM as a hypervisor), so these are already tree major companies which do not use VMWare as the main virtualization product.

KVM is, e.g. in the oVirt or RHEV platform, part of professional products. KVM itself even is already rock-solid and so stable that so many large companies are using it. I don't get why you try to claim that only VMWare is THE solution companies use.

Anyway. There is nothing wrong with VirtualBox. But it is simply not a competitor to KVM, Xen or VMWare - it is more playing in the VMWare Player league.

author avatarSteve Higashi (OnApp)
Real User

How is KVM with MS OS support? I understand that it's not quite there and vice versa. I personally recommend (opensource solutions) that if the user is more familiar with Microsoft OSs, then Xen is the better way to go and if they are a Linux heavy user, to use KVM. I believe Xen drivers are better for Windows performance. Do you happen to have any insight into this?

author avatarSenior Consultant IT Infrastructure at open *i

Hi Steve, thanks for asking! MS support is not that bad, actually, The Fedora project provides VirtIO drivers which enhance the performance of MS guests in a great way. I ran douzens of Windows 7, Win2008 and Win2012 servers under KVM and had no Windows-specific issues. There were some problems with the guest performance when the host system has more than 64 cores (with HT activated), but that originated in the KVM port from Red Hat to Ubuntu. I think you can run Windows guests under KVM without having to worry about anything.

author avatarsedstr

Interesting responses.
QEMU is the underlying technology for KVM, Xen and Virtualbox.
KVM provides accelerators on top of QEMU, and although KVM does not provide the fancy next>next>done GUI of the others, it provides for fine grained tuning, easier cloud orchestration and the widest range of platform/cpu emulations - and windows runs absolutely fine under KVM, even if you want to run a gaming platform, you can passthrough the video adapter, and access the underlying Linux system via ssh, with surprisingly little performance loss.

Arguments around what is best are subjective and use case is the primary relevance.

Large cloud providers work on standards based deployments - working with 10s of thousands of VMs. OpenStack is the prevailing cloud computing deployment architectural standard. libvirt (qemu/KVM on x86) is the only Hypervisor in group 1, which is 100% compatible with standards and fully supported. Group 2 includes Hyper-v, VMWare, Xen, Group 3 includes docker and LXC.

Large and medium enterprise are on the journey of moving to cloud architectures, and inevitably, they will end up with workload sitting on qemu based hypervisor in the future.
Currently, they typically run VMWare, which was largely responsible for the hypervisor revolution, but computing requirements have grown beyond what can be done 'in house' with a small IT team.

The whole IT industry has grown tremendously in the last 20 years. Large portions of company budgets are consumed by IT expenditure, and with this scale, productivity gains are required to keep IT expenditure under control. Higher utilization, thiner server instances, thiner applications, automation, orchestration, co-location, managed services, outsourcing, transformations, the cloud, IoT. Internal IT teams WILL be reduced to being flight deck administrators, with the hardware and software management being handled by someone else. Someone who has the economies of scale, to do things faster, cheaper and better.

Back to Hypervisors...
The main question is, does your 'server' need a head? Do you need to have a desktop environment and management tools installed in the server? Or can the server have these aspects abstracted from the VM and the tasks performed via APIs? (think about windows server core, or linux). This increases efficiencies in many ways.

If you are looking at virtualization, in the context of running an application interface in a contained operating environment, on your local computer, for whatever reason, the reality is that, those requirements are not the requirements of the industy/enterprise for computing infrastructure that the real hypervisors are being built for.

My advice:
If you want to run your own server, with virtualization, use VMWare free version. Or Xen, or QEMU if you like, whatever you are happy with, and meets your requirements - they can all host windows or linux VMs fine.

If you want to use your desktop/laptop with a few guest vms, run VMWare Player or VirtualBox.
If you're a glutton for punishment, install one of the servers first and passthrough the video card at least, if you're using photoshop or playing a modern game, you'll want the video drivers to have direct access to the card.

And if you want to support IT infrastructure in the future, learn to code, because those days of managing your own DC, installing servers, patching, firewalls, hypervisor GUIs, next next next done jobs, wont be around for ever.