KVM Compares Well With VMWare

Benchmarks by HP show that on a particlular HP server, KVM and VMware are comparable with SPECvirt_sc2010 in performance. RedHat has pushed KVM for a long time and tuned it up pretty well. Certainly it is smooth enough for many tasks where virtual machinery would help. I used KVM (Kernel Virtual Machine) to make several of my videos using a real AMD64 quad-core machine underneath and it performed well.

KVM and other virtualization technologies may be one of the few applications where ARM will not compete well for a while but ARM can make a real machine for a similar cost to one virtual machine so a few servers are being produced with massively parallel ARM processors. For x86/amd64, KVM certainly seems to be useful and competitive against VMware and VirtualBox. I previously used VirtualBox but because I am uneasy with Oracle and I am so familiar with managing processes with Linux, KVM seems the better choice based on price, power and convenience. An overview of the features of different virtualization technologies shows KVM is quite flexible. The “status” page of the project shows “stable” and “fast”. I’ll take that.

Once again, FLOSS has made useful technology a commodity we can take off the shelf to make magic.

See the KVM website.

If you are serious about optimizing performance of KVM with RedHat see IBM’s Best Practices

For an overview of how large businesses see KVM, see Open Virtualization Alliance w/ IBM, HP, Intel, Red Hat, SUSE, BMC, Eucapyltus (2011-5-20). Here’s a snippet from that blog:
“So, why this focus on KVM? It’s all about choice and cost. KVM is an open source hypervisor that provides enterprise-class performance and scalability to run mission critical Windows and Linux workloads. Because it’s open source, KVM is a cost effective alternative. Because IBM and Red Hat stand behind it, it’s enterprise ready.” I figure if it is good enough for the big boys and easy enough for me to use, I should use it.

About Robert Pogson

I am a retired teacher in Canada. I taught in the subject areas where I have worked for almost forty years: maths, physics, chemistry and computers. I love hunting, fishing, picking berries and mushrooms, too.
This entry was posted in Uncategorized. Bookmark the permalink.

15 Responses to KVM Compares Well With VMWare

  1. Mark says:

    Just a small comment on the management matter. I’ve used PROXMOX 2 VE – fully KVM based VM suite for a while which seems very promising. I prefer it’s web based interface over extra software I need to install on my laptop to access my servers.
    Now working mostly with VMWare and I found that for time critical workloads both solutions would work pretty well. Unfortunately, VMware tools and VMClient installation is very annoying.
    As why businesses use one or the other, really depends on project budget and management tools flexibility provided – (HA, backups, etc)
    Mostly SMBs base their decision upon budget and skills available in house. Additionally, when something goes wrong, how easy is to receive the support form commercial or community vendor if someone who normally takes care of the system is off sick or on holidays or left the company.

    I really hope Proxmox (and KVM) will become great alternative for VMware but still needs to build more confidence in SMBs. Big businesses are looking into KVM already to cut the costs. Look no further as to Open Nebula (KVM based) cloud system and check the list of users. Mostly big players.
    Big data centers and IaaS providers also look for diversity and to avoid lock down to one solution – read VMware.

  2. Martin says:

    @chris, spot om comment. Managing change in “enterprise settings” is all about reproducibility and avoiding nasty surprises, in as efficient a process as possible.

    A user wants a minimum amount of service disruption, and when disruption does happen, have it be as brief as possible.

    From what I’ve seen in the field, VMware does provide admin and management tooling that “vmware shops” tend to leverage appropriately. E.g no-brainier gui tool for easilly setting up moderately complex network and lun configs, such that even a networking guy at an SMB, doubling as the VM infra admin, could manage a small cluster of VMs. The bigger shops do leverage vmware’s scripting interfaces (“SSH” as referred to in the post), as they tend to have more stringent change control policies, and also an extreme expense pressure (doing more with less) that calls for high degree of automation. I.e. the latter use the product’s mgmt tooling to minimize cost/change.

    Now it will be interesting to see how the KVM space matures over the coming decade, and whether or not the entire “package” will rival VMware all things considered, or if it will stay at the current level of some basic building blocks that the end user will have to assemble, or buy somewhat assembled from some third party / parties.

    What I would really like to see on a non-shill blog is a TCO comparison running KVM and VMware for 1/3/5 years of some SMB and large shops, as I think TCO is the real figure of relevance, while people unfortunately tend to stare blindly at TCA (cost of acquisition, such as licenses and HW).

  3. Chris says:

    @Linux Apostate, If you’re relying on GUI tools to do production maintenance, then you’re doing it wrong.

    I avoid VMWare like the plague for this reason, because they practically force you to do everything through a slow kludgy GUI, which are usually Windows-only. And most of the web-GUIs I’ve seen don’t have the same level of functionality.

    Anyone managing a production environment needs to know what they’re doing, because if they make a mistake, it can effect a lot of people, and potentially a lot of money if they system is running your business. Insisting on a GUI is inherently insisting on having someone who doesn’t know what they’re doing. Most, if not all production tasks should be explicitly planned and documented in a SCRIPT, so that you don’t run into as many surprises.

    Claiming software is bad because you have to manage it through a shell is like complaining a car is bad because it doesn’t come with a chauffeur. You should really just learn how to drive.

  4. newbradar wrote, “until there are enterprise level management solutions, KVM will be for the linux sysadmins who have lots of time or convinced their boss its a good idea.”

    With SSH, I can control hundreds of machines remotely with trivial scripts. Because GNU/Linux is a multi-tasking OS, those scripts can spawn processes and run thousands of processes in parallel on the controlling machine so that should be usable for thousands of machines. To scale to larger deployments, just distribute lists of commands. That works for me. For those who want a nicer package, http://gb.redhat.com/products/enterprise-linux-add-ons/smart-management/, IBM and Suse have them.

    For KVM, I can use SSH to manage instances because KVM is just a process running on GNU/Linux. Several suppliers have supplied systems specifically for KVM such as Minicom. IBM has invested a bundle in KVM. It works. I am happy with virt-manager for my own modest needs.

  5. newbradar says:

    “I like to SSH in to control the VMs from the inside. It all works.”

    sounds like something someone ‘new’ would say.

    I don’t think you have the full picture yet, but perhaps in a few years.

    until there are enterprise level management solutions, KVM will be for the linux sysadmins who have lots of time or convinced their boss its a good idea.

  6. oldman says:

    “It looks like they are trying to sell me something.”

    Press the Download Button

    Register yourself ( actually you create an account on VMWare.com) for the download.

    Once you are logged in Choose Option 2 to manually download the iso that contains ESXi.

    The License Key that you will need to activate ESXi is at the top of the page.

    Thats it Pog.

  7. Linux Apostate says:

    I think KVM is perfect for development, testing, and maybe small-scale virtualisation. But I don’t think it has the sorts of professional-level features you would need to operate a data center. If you want to do that with KVM, you will have to write them yourself, stitching them together in an essentially ad-hoc manner.

    Note that this is based on my own experience of working with it on a much smaller scale, when we had great difficulty managing even a single VM host running only about five VMs. If we had been using VMware’s products with their nice web-based admin consoles, where nearly all the features you need are already available with a few clicks, then it would all have been much easier.

    Now I am sure that someone is going to turn up here and say that I was doing it wrong, so let me head that off now by saying that most likely they are right. I am not a pro sysadmin. Maintaining servers is not my job and it’s a role I took on very reluctantly. Therefore I was interested in making everything as easy as possible. And at first KVM seemed to be fine. It was only when maintenance was needed, when the network guys wanted to change the VLAN ids around, when backups and snapshots were needed, that the whole thing went to hell. It turned into an unmaintainable mess of Bash spaghetti which could not be tested properly except by rebooting.

    The bad workman blames his tools, yes… but the good workman gets to *choose* his tools. And I’m sure that he will pick something professional and genuinely enterprise-ready, such as VMware, rather than something intended for hackers and judged to be “enterprise-ready” by those who have never actually needed to use it beyond the small scale.

  8. The free version does not have “patch management”. I get that with KVM and APT.

    see http://www.vmware.com/products/go/compare.html

    Then we get to free downloads but this page exists:
    Download VMware vSphere Hypervisor

    Get our free hypervisor.
    Download Now
    Evaluate VMware vSphere

    Try a free 60-day evaluation.
    Evaluate Now
    Buy VMware vSphere

    Buy Online
    Find a Reseller
    Contact Sales

    It looks like they are trying to sell me something.

  9. oldman says:

    The place to go for the free ESXi is

    http://www.vmware.com/products/vsphere-hypervisor/overview.html

    As you have noted, the old Linux console based ESX has been depreciated in favor of the console-less ESXi. THe resulting system is more secure (it has a decreased attach surface) and smaller (in can be installed on a 4Gb FLASH disk).

    With KVM I get what I want and if I did deploy it on a bunch of systems, I could manage it well enough with SSH as I do GNU/Linux systems.”

    “I can use SSH as my remote management tool.”

    The vi client however is fully graphical and the resulting system is an order of magnitude less hard to manage.

    “With KVM I get what I want and if I did deploy it on a bunch of systems, I could manage it well enough with SSH as I do GNU/Linux systems.”

    The difference is that if you use VMWare you can take advantage of a whole library of free pre-built virtual appliances. (http://www.vmware.com/appliances/).

    IMHO Building a pre-intergated environment of free virtual appliances is the way that I would be setting up schools. Imagining delivering a complete setup email, contant management, dnsdhcp, and even firewqall router in one package. The amoungt of documentation for the newbie would be reduced to what would be needed to reload the original VM and the re-load ones data.

    P.S. I dont remember if I sent you this already, but you really should look at

    http://www.linux-kvm.org/page/Management_Tools

    There are a number of easier to use front ends for managing KVM that you should look into if you intend to try to package a setup for those less capable than you in Linux system management in general and KVM in particular.

  10. VMware has a bewildering array of products apparently intended to “snow” the customer. I do not want to bother sorting them all out. You say free, and I see 60-day free trial… Too much restriction compared to KVM. I like simplicity of licensing, acquisition, patching with KVM.

    see https://www.vmware.com/tryvmware/?p=default

    Their information pages state that they are deprecating ESX and moving to ESXi and those are not even listed on the trials. ESX uses Linux as a console and ESXi uses remote management tools. I can use SSH as my remote management tool. VMware appears way to complex for me. With KVM I get what I want and if I did deploy it on a bunch of systems, I could manage it well enough with SSH as I do GNU/Linux systems.

  11. oldman says:

    “What is it oldman? If I don’t use the product on which I comment, I am ignorant. If I use the product as I do KVM I am also ignorant. I guess I cannot win with that logic.”

    I had not realized that you were using KVM, however I do know you do not use VMWare (there is a free for use version of ESXi available. should you wish to educate yourself)

    “If one has a bunch of identical VMs or a small number, KVM is no problem at all to manage, so it has wide applicability.”

    This is only true IMHO if you are an experienced Linux sysadmin and not afraid to script. Most SMB’s will need to hire someone experienced in Linux and KVM – Something that is not really needed with VMWare. BTW since you use KVM, you may want to check out The graphical management front end that comes with Red Hat/Centos. It is the best that I’ve seen and IMHO should be part of any KVM implementation.

  12. What is it oldman? If I don’t use the product on which I comment, I am ignorant. If I use the product as I do KVM I am also ignorant. I guess I cannot win with that logic.

    Your comment implies that the performance of KVM is OK but only management tools that are lacking. If so, my point is proven. That’s what I wrote about. The manageability depends on the use. If one has a bunch of identical VMs or a small number, KVM is no problem at all to manage, so it has wide applicability.

  13. oldman says:

    “IBM and its enterprising buddies and customers disagree…”

    They are also supporting VMWare Pog, along with their own proprietary hypervisors. the embracing of KVM by IBM is bu$ine$$ nothing more. IBM has customers who like yourself want to go all Linux, hence they support KVM, but if you ask them which product they feel is best, they will when pushed, admit that VMWare is best.

    “Is it a problem that you can do what needs to be done several ways? Nope. ”

    That is Spoken out of true ignorance on your part Pog. We we to be crazy enough to convert our VMWare farm with its 250+ virtual machines running enterprise class applications to a KVM farm, by a conservative estimate we would need a minimum of three additional senior sysadmins working full time to make up for the severe limitations of the KVM administrative toolset.

    To understand how far behind VMWare KVM is one need only look at Red Hat’s documentation An unbiased perusal of the Red Hat documentation yields so many caveats as to virtual machine support as to be laughable.

    You really should stick with what you know Pog, in this case you really come off to anyone who knows the products as as best very ill informed.

  14. IBM and its enterprising buddies and customers disagree…

    Arcane? virt-manager provides a nice user interface similar to VirtualBox. That’s what I use. The arcane stuff can be scripted and so scales very well too. Is it a problem that you can do what needs to be done several ways? Nope. Use whichever interface works best. GNU/Linux makes a great infrastructure. I think that’s why the big boys like it. All their system admins can set it up to do just about anything transparently. I like to SSH in to control the VMs from the inside. It all works.

  15. Linux Apostate says:

    Ah, KVM. I find it very useful for hosting temporary virtual machines, for instance when I need to test something. It’s performance is fine. It is very useful to developers.

    However, I have to disagree with the “enterprise ready” description! The big problem with KVM is the lack of surrounding infrastructure, specifically an administration console comparable to VMware’s. KVM has to be configured, operated and maintained entirely using shell scripts and obscure keyboard commands typed into its “monitor”. In principle you can do anything you want, in practice it will be painful, and will quite likely cause you problems when you need to carry out maintenance. This is why my workplace now has a ban on using KVM to host anything permanent.

Leave a Reply