Table of Contents

  1. Types of Hypervisors
  2. What is KVM
  3. What is VMware(vSphere)
  4. Difference between vSphere & ESXi
  5. ESXi vs KVM
  6. Table comparing vSphere vs KVM
  7. Costs, Licensing, and support
  8. Updates and Upgrades
  9. KVM vs VMware – Concluding Hypervisor Comparison
  10. Backup for vSphere ESXi VMs and KVM VMs

There are many different Hypervisors in the market at the moment. VMware, Hyper-V, Citrix Xen, KVM, and Oracle VM are the most well-known.

VMware(ESXi) is the number one in the market and has a larger market share, followed by Hyper-V and Citrix XenServer, which also have a good share in the hypervisor market.

Protect Your Data with BDRSuite

Cost-Effective Backup Solution for VMs, Servers, Endpoints, Cloud VMs & SaaS applications. Supports On-Premise, Remote, Hybrid and Cloud Backup, including Disaster Recovery, Ransomware Defense & more!

In recent days, KVM has also started gaining a good market share, particularly in the Linux community and Enterprise companies, mainly because it is Open Source and license-free.

Types of Hypervisors

There are 2 types of Hypervisors: Type 1 and Type 2.

  • Type 1 is Bare-Metal Architecture – Runs directly on the host’s hardware and controls hardware as well as manages VMs

    Example: VMware, Hyper-V, KVM, and Oracle VM

  • Type 2 is Hosted Architecture – Runs on top of the Operating System (OS). In this case, guest OS runs at the third level above the hardware.

    Example: VMware Workstation/Fusion, Oracle Virtualbox or Windows Virtual PC, etc

For example, Hyper-V and KVM work as a Server role, but it is still considered a bare metal, native Hypervisor since the Hypervisor has direct access to hardware and any VMs hosted by the Hypervisor.

Download Banner

This article discusses Type 1 Hypervisor: vSphere(VMware) and KVM.

KVM vs VMware – A Hypervisor Comparison

What is KVM

Kernel-based Virtual Machine (KVM) is an open-source Type 1 Hypervisor that can be installed in most Linux distributions and some Windows.

Even though KVM runs on top of a Linux OS, it is considered a Linux-based Type-1 Hypervisor. It converts any Linux into a Type 1 Hypervisor since it provides direct access to the hardware resources, Intel VT-x(or VT), and AMD-V hardware.

KVM is implemented in the Host OS with a set of Kernel modules (kvm.ko, kvm-intel.ko, and kvm-amd.ko), providing the core virtualization infrastructure.

KVM is basically a Linux server, but it provides extra specific features with its virtual tools and features.

KVM doesn’t need licenses, and it is free. That is why many Enterprise companies use it. But the support is provided by the Linux OS vendors, not the KVM.

What is VMware(vSphere)

ESXi stands for, Elastic Sky X Integrated, also known as vSphere, and is a Type 1 Hypervisor from VMware that runs independently from any OS. Since it is a Type 1 Hypervisor, it is based on its kernel and runs independently from any operating system.

Difference between vSphere & ESXi

Sometimes there is confusion between ESXi and vSphere. ESXi is included in the vSphere, and the ESXi Host is the core of vSphere.

vSphere is the VMware hypervisor but includes other products and features, like vSphere Client, vMotion, vStorage, HA, and recently vSphere with Tanzu provided by vCenter, which are all part of the vSphere umbrella stack.

We refer to vSphere when referring to the VMware Hypervisor product and its features and ESXi when referring to the Host. In this article, I use vSphere when referring to VMware Hypervisor.

VMware is changing how we use vSphere with the new release vSphere+.

ESXi vs KVM

In this section, we will discuss the differences between ESXi and KVM based on the following parameters:

  • System Requirements
  • Deployment
  • Accessing Hosts
  • Supported Guest OS
  • Load Balancing and Cluster
  • Scalability & Limitations
  • Costs, Licensing, and support
  • Updates and Upgrades

Minimum System Requirements

KVM:

Note: For this article, I use CentOS 8 as an example for the KVM install. But the installation requirements and tasks are the same for all Linux distributions. The commands may be different for different Linux OS.
The minimum system requirements are

  • 6 GB free disk space
  • 2 GB RAM
  • SCSI disk or a local space for the virtual machines
  • At least one Gigabit or faster Ethernet controller

But it needs an extra minimum of 2Gb of memory for each VM you plan to install in your KVM.

Note: If installing KVM in a 32-bit kernel system, KVM is limited to 2GB RAM in a VM. If you plan to use more than 2Gb of memory on a VM, your KVM system must be a 64-bit kernel system.

Also, a 64-bit system can host both 32-bit and 64-bit guests. A 32-bit system can only host 32-bit guests.

You can check this in your Linux by running uname –m. If you get x86_64 means, it is a 64-bit kernel system.

The KVM kernel modules don’t load if the CPU does not support hardware virtualization or if this feature is not enabled in the BIOS

For every Hypervisor, the CPU needs to support hardware virtualization or needs to be enabled in BIOS.

  • If it is an Intel, it is Intel VT-x (previously known as Intel VT)
  • For AMD is AMD-V

To check if your system has the CPU requirements to run KVM, run the following command.

# lscpu | grep Virtualization

Output:
Virtualization: VT-x
Virtualization type: full

As we can see above, VT is enabled and ready to be a Hypervisor. If this CPU doesn’t have the proper requirements, you don’t get the Virtualization: VT-x option.

vSphere:

Note: Since version 6.5 and 6.7 is reaching EOL, the requirements in the article is for vSphere 7 only.

vSphere doesn’t need a CPU that supports hardware virtualization. But if you plan to run VMs with 64-bit, it requires that Intel VT-x or AMD RVI is enabled and supported on x64 CPUs.

It also required that NX/XD bit is enabled for the CPU in the BIOS.

The minimum system requirements are

  • Host with at least two CPU cores
  • 32 GB of persistent storage such as HDD, SSD, or NVMe

Note: It is possible to install vSphere in SD and non-USB flash media devices, but only for the ESXi boot bank partitions. Partitions like ESX-OSData needs to be installed in persistent Storage. VMware plans to stop supporting in the future vSphere in non-persistent Storage.

  • 4 GB RAM (but it needs a minimum of 8Gb of memory if you plan to create any VMs)
  • SCSI disk or a local, non-network, RAID LUN with unpartitioned space for the virtual machines
  • At least one Gigabit or faster Ethernet controller

Deploying Hypervisor

KVM:

As stated above, KVM needs to be deployed in the Host OS. In this case, there is no ISO or application to download to install. It is done manually by installing the KVM modules.

Note: Before you install KVM in any Linux, you should run an update on the system. In my case for CentOS 8 is dnf update

Setting Up KVM Hypervisor:

  1. The command to deploy in Linux CentOS8 is:
  2. # dnf module install virt or yum module install virt

    Note: dnf command is the new yum generation command.

    KVM vs VMware – A Hypervisor Comparison

  3. Then install tools to provision virtual machines:
  4. # dnf install virt-install virt-viewer libguestfs-tools

    KVM vs VMware – A Hypervisor Comparison

  5. Verify KVM Installation using the command below:
  6. # lsmod | grep kvm

    Output:
    kvm_intel 344064 0
    kvm 905216 1 kvm_intel
    irqbypass 16384 1 kvm

  7. Start and enable KVM services, and you are good to go
  8. # systemctl enable libvirtd.service
    # systemctl start libvirtd.service
    # systemctl status libvirtd.service

    Note: As I stated above, these are commands for RedHat/Centos. Other Linux distributions have different commands. But the modules to install are the same.

    You have your KVM installed.

vSphere:

  1. To install vSphere, you need to download ISO from VMware. It can be a VMware default ISO or a vendor-customized ISO(built and customized to run in vendor Hardware)
  2. You can install the ISO using your server iLO/iDRAC ISO boot using virtual media or use the ISO to create a boot USB flash drive or a CD(not much used these days)
  3. KVM vs VMware – A Hypervisor Comparison

  4. The initial installation of ESXi is very straightforward. Boot with the ISO, a couple of clicks, and the ESXi is installed
  5. KVM vs VMware – A Hypervisor Comparison

    Both KVM and vSphere need some post-install configurations. For example, you should create networks for management and Virtual Machines, Storage, etc.

    Even is possible to use the same network for all, the networks should be configured separately.

Accessing Hypervisor

KVM:

To access your KVM, you can connect the server with ssh or use KVM Virtual Machine Manager(VMM) or virt-manager. But to use KVM VMM, you need to install it.

To install Virtual Machine Manager run the following command:

# dnf install virt manager

VMwarevsKVM

You can launch the VMM from the console, or if you have Linux GUI, launch by clicking the icon.

To Launch VMM from the console, run the below command:

# sudo virt-manager

Launching VMM opens VMM GUI where you can change your KVM settings(Networks, Storage, etc.).

You can also use your VMM local install to connect a KVM server remotely.

KVM vs VMware – A Hypervisor Comparison

You can also monitor your VMs in the VMM.

KVM vs VMware – A Hypervisor Comparison

You can visit the virt-manager page to have more information about this tool.

vSphere:

ESXi has an embedded vSphere Client that gives you access to the ESXi Hypervisor. As explained above, this is a feature/tool that is part of vSphere. It is embedded in vSphere when you install ESXi.

You do not need to install or configure anything. Just open a browser and type: https://IP or FQDN

KVM vs VMware – A Hypervisor Comparison

You can do all the tasks and configurations you need from here except for those needing a vCenter(like Clusters, HA, vMotion, vStorage, etc.).

You can also install vCenter in your ESXi host as an Appliance to manage all your vSphere.

KVM vs VMware – A Hypervisor Comparison

Supported Guest OS

KVM and vSphere:

Both Hypervisor supports almost the same Guest OS on your VMs. There is some minor difference for some OS versions(VMware has removed some old Windows).

In addition, vSphere also supports Mac OS. It needs some particular configurations, but you can run a Mac OS in a vSphere VM. vSphere also supports nested Hypervisors.

You can check the list for ESXi HERE in the HCL for supported Guest OS and HERE the list for KVM.

Load Balancing & Clustering

Regarding Load Balancing and Cluster KVM has some restrictions, mainly when using Virtual Manager on the size of Data Centers and Hosts per Data Center.

Load balancing also has some restrictions with CPU restrictions between hosts and Data Center.

With vSphere and vCenter there are very restrictions on how vCenter handles Load Balancing between hosts and Storage. The number of Hosts that vCenter can handle is more than 5x what VMM can handle.

The number of VMs that both management tools can handle is also very different. Please check the table comparison in the next chapter.

Table comparing vSphere vs KVM

Note: Includes Scalability and Limitations

The scalability and limitations in KVM depend on the Linux distribution. Check other Linux distribution documentation to check different limitations. Some have more limitations than others. I use Red Hat Enterprise Linux 9 with its latest limitations in this comparison.

KVM vs VMware – A Hypervisor Comparison

Note: Remember that Red Hat Enterprise Linux is not license-free.

Check HERE for full use of Red Hat Enterprise Linux 9 limitations and HERE for vSphere limitations.

Costs, Licensing, and support

KVM:

As I said above, running KVM is open-source, so there are no license costs or costs to run Linux. You may have only costs with some Linux OS licenses, but most of the time are contract support licenses.

You don’t have any KVM support from KVM itself. You can have support if you have a Linux license support contract. Or you can use.

You can run dozens or more KVM servers at no cost. But in Linux distributions, you don’t have any updates and security patches if you don’t have contract support.

vSphere:

VMware licenses it is the top concern for their customers. Because it has many options, many licenses, and without any effort, your IT department budget can be overrun just with your VMware licenses.

VMware licensing is one of the reasons that is losing some customers(mainly Enterprise) to KVM.

vSphere also has a license ESXi host free. But it has many restrictions and is mainly run for testing and very small environments. You cannot use ESXi free licenses with vCenter and other vSphere products.

The paid licenses for vSphere depend on the type of vSphere you use. vSphere Standard and Enterprise Plus(On June 30th, 2020 VMware vSphere Enterprise was EOL) are licensed per CPU/Processor on the ESXi Host. Check HERE features enabled in each license type.

For full use of vSphere and all its features, you also need a vCenter license for the central management and use the full features included in the vSphere.

Or Essentials or Essential Plus Kits licenses for small business includes 3x ESXi hosts with 2 CPUs and a vCenter license.

For Enterprise companies, VMware has an Enterprise License Agreement (ELA). This is a license agreement for VMware products and a maintenance protection program.

The VMware ELA is a multi-year contract that unifies all your existing and future VMware investments. It needs a minimum $250,000 investment to acquire an ELA license.

If an Enterprise company plan to use VMWare, organizations using Enterprise License Agreement can save money(up to 40% discount).

To understand how VMware licenses work, please check the official license page

Updates and Upgrades

KVM:

KVM updates or upgrades are based on Linux updates. When you update your Host OS, it also updates your KVM module(if there are any updates).

For complete updates(Linux OS and KVM), command:

# dnf update

To update only KVM Virtual Manager:

# dnf update virt-manager

To update only your KVM module:

# dnf module update virt

vSphere

For VMware updates, there are several options.

You can update/upgrade your vSphere using the shell console using commands:

  • An offline upgrade requires downloading an ESXi installation image to the local datastore
  • An online upgrade — requires access to the VMware repository via the Internet

For vSphere upgrade:

# esxcli software profile update –d “local repository”
# esxcli software profile update –p “VMware online repository”

For vSphere updates and patches:

# esxcli software vib update –d “local Datastore repository”
# esxcli software vib update –v “VMware online repository”

Check VMware KB to know all the updates/upgrades and complete commands.

Besides updating/upgrading your vSphere using the command line, you can download the latest vSphere, boot your ESXi host with the ISO, and select the option to upgrade.

KVM vs VMware – A Hypervisor Comparison

But when we use the vCenter, the fastest and most secure way to apply any patches or updates in your ESXi hosts is to use vSphere Lifecycle Manager(previously known as VMware Update Manager).

With this centralized update manager, we have all the updates that VMware has launched, and since it is connected to the VMware online repositories(and hardware vendors as long you configured vendors repositories in your vSphere Lifecycle Manager).

With Lifecycle Manager, you can update your ESXi hosts, apply securities patches, and upgrade any ESXi host to a new version. It is also possible in vSphere 7 to update your server’s firmware, but currently, firmware add-ons only support Dell EMC and HPE.

KVM vs VMware – A Hypervisor Comparison

KVM vs VMware – Concluding Hypervisor Comparison

There is always a discussion about the best solution for companies VMware or KVM? I say it depends on your environment and budget. As always in similar products, there are some advantages and disadvantages between these two products.

What do you plan to achieve with your virtualized environment?

Do you need all the features that are included in the vSphere stack? Do you plan to have high availability, load balancing, fault tolerance, etc., in a management environment?

Do you plan to have the option to migrate online VMs between environments(vCenters) without any disturbances(vMotion)? Online migration between your Datastores(vStorage)? Manage your workloads automatically between Datastores and ESXi hosts(DRS)?

Have a centralized environment for all your Hypervisores Clusters and apply your updates and securities from a centralized repository? And be able to add something like vSAN to use your local disks as a SAN and all the advantages included?

With vSphere, you can build an entire network virtual infrastructure using virtual switches, virtual SAN (vSAN), virtual LANs, or firewalls.

Then if you have the budget, my answer is vSphere is your option.

But if license costs are essential and most of the features in the vSphere stack are not needed, then KVM is a better choice.

Regarding performance between both environments, there is not much difference. KVM has some advantages in performance in some DBs(like Oracle). But vSphere can bypass that using better configuration and extra options so that DB can work properly.

License costs are a problem when selecting the Hypervisor for your company. Some big Enterprise companies and Hyperscallers are using KVM for their environment.

We also need to consider support when selecting the Hypervisor for our environment. As stated above, since there is no KVM support, these big companies are counting on their internal IT support teams and big Linux support contracts. Smaller companies cannot count on them since they do not have big(or do not exists) IT support teams with the proper experience.

Configuration, adding new hosts, creating Clusters, creating Virtual Machines, Templates, and even Kubernetes in a central environment like vCenter using vSphere is less complex and less time-consuming. Using KVM, all these options and tasks, when there are available, are more complex to perform.

Some applications do not run correctly when using a KVM VM. Many applications run better when running in a vSphere VM. Mainly when using Monster VMs(introduced in vSphere 7), for example, with SAP HANA.

Another difference between both products is what hardware you can use in your Hypervisor. Server Hardware for vSphere must be in the hardware compatibility list (HCL) to support or even work. KVM works with almost all hardware and vendor. As long as it works with Linux, it works with KVM.

License costs are one of the top concerns for Enterprise companies when choosing Hypervisor, and costs put KVM at a significant advantage when selecting the Hypervisor. Many large or medium enterprises could consider VMware for its scalability and support.

Not many backup vendors support KVM VMs in their products. Mainly if you are using any Cloud solution. So backup planning is also something you need to consider when selecting your Hypervisor.

Backup for vSphere ESXi VMs and KVM VMs

BDRSuite is a secure and reliable backup solution to protect your VMware vSphere and KVM virtual machines effectively and affordably.

BDRSuite offers robust backup features like image-level backups, application-aware backups, encrypted backups, and backup verification, just to name a few. BDRSuite protects your data end-to-end and includes efficient replication and offsite copies. BDRSuite also gives you the flexibility to migrate your data between hypervisors, including vSphere, KVM, and Hyper-V.

Be sure to download and try a fully-functional 30-day free trial version of BDRSuite

Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.

Rate this post