• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

UnixArena

  • Home
  • kubernetes
  • DevOps
    • Terraform
    • Jenkins
    • Docker
    • Openshift
      • OKD
    • Ansible engine
    • Ansible Tower
      • AWX
    • Puppet
  • Cloud
    • Azure
    • AWS
    • Openstack
    • Docker
  • VMware
    • vCloud Director
    • VMware-Guests
    • Vcenter Appliance 5.5
    • vC OPS
    • VMware SDDC
    • VMware vSphere 5.x
      • vSphere Network
      • vSphere DS
      • vShield Suite
    • VMware vSphere 6.0
    • VSAN
    • VMware Free Tools
  • Backup
    • Vembu BDR
    • Veeam
    • Nakivo
    • Azure Backup
    • Altaro VMBackup
    • Spinbackup
  • Tutorials
    • Openstack Tutorial
    • Openstack Beginner’s Guide
    • VXVM-Training
    • ZFS-Tutorials
    • NetApp cDot
    • LVM
    • Cisco UCS
    • LDOM
    • Oracle VM for x86
  • Linux
    • How to Articles
    • Q&A
    • Networking
    • RHEL7
  • DevOps Instructor-led Training
  • Contact

Kernel Based Virtual Machine (KVM) – Overview Part 1

December 15, 2015 By Cloud_Devops Leave a Comment

KVM is free open source full virtualization solution for Linux on x86 hardware. After the cloud revolution, KVM(Kernel Based Virtual Machine) Virtualization is a hot topic in the industry. Most of the cloud technologies will prefer to use the KVM hypervisors over XEN due to it’s simplicity. Redhat and Ubuntu’s default hypervisor is KVM. Contrast to these vendors, Oracle Linux uses XEN Virtualization. More information about KVM can be obtain from linux-kvm.org.

KVM consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko (Intel) or kvm-amd.ko (AMD). These modules  allows kernel to become a hypervisor.  kvm.ko kernel module  is  responsible to exposing “/dev/kvm” which is used by various programs including libvirt.

KVM has initially developed by Qumranet that was acquired by Red Hat in 2008.

 

Prerequisites for KVM:

1. Processors with virtualization technology.  Accelerate the virtualization guests.

  • Intel  – Intel-VT
  • AMD – AMD-V (SVM)

2. Enable the CPU VT technology on the BIOS.
3. Linux kernel must be greater than 2.6.20  .
4.  Access to the repository to install the necessary KVM packages.
5. Shared Storage. (NFS, SAN , NAS)

 

Supported Guests on KVM:

  • Linux  – Most of the linux flavours are supported
  • Windows  – Most of the windows guests are supported including desktops and servers.
  • Unix – BSD , Solaris

 

Supported Architecture:
KVM supports both 32-bit & 64-bit guest operating systems. To host the 64-Bit guests , the host system should be 64-bit and VT enabled.

 

KVM Maximums:

Redhat RHEL KVM Maximums
Redhat RHEL KVM Maximums

 

Maximum number of concurrently running virtual guests is 4 . But it is not a KVM limitation. Redhat protect the number of virtual guests using the license methods.

 

Redhat unlimited Virtual Licenses: (15/12/2015)

Redhat Support cost
Redhat Support cost

 

KVM new features:

  • QMP – Qemu Monitor Protocol
  • KSM – Kernel Samepage Merging
  • Kvm Paravirtual Clock – A Paravirtual timesource for KVM
  • CPU Hotplug support – Adding cpus on the fly
  • PCI Hotplug support – Adding pci devices on the fly
  • vmchannel – Communication channel between the host and guests
  • migration – Migrating Virtual Machines
  • Supports Paravirtualization

 

Paravirtualization  vs HVM (Native Hardware Virtualization)

KVM supports paravirtualization typically supports the following components.

  • Networking
  • Block Devices
  • Graphics
  • Memory

Paravirtualization supported on Linux, BSD  and windows guests. It improves the performances considerably compare to HVM.

 

Networking:
KVM supports the following network features.
NAT: – NAT provides the outbound network access to the KVM guests. In other words, guest machine can access the outside world but external network system can’t reach the guests. This is the default network for KVM.
Bridges: – Bridge provide the access to public and private network. KVM guests can be access from outside the host machine unlike NAT.

 
KVM Environment:
The KVM environment is maintained in /var/lib/libvirt. This includes the ISO images for the installation , actual VM guest images and network configurations.

[root@UA-HA libvirt]# ls -lrt
total 4
drwx------. 2 root root    6 Oct  8 09:14 lxc
drwx--x--x. 2 root root    6 Oct  8 09:14 images
drwx--x--x. 2 root root    6 Oct  8 09:14 filesystems
drwx--x--x. 2 root root    6 Oct  8 09:14 boot
drwx------. 2 root root    6 Dec 13 00:30 network
drwxr-x--x. 7 qemu qemu   69 Dec 13 00:30 qemu
drwxr-xr-x. 2 root root 4096 Dec 13 13:12 dnsmasq
[root@UA-HA libvirt]#

 

KVM configuration files are stored in /etc/libvirt/  directory.

[root@UA-HA libvirt]# cd /etc/libvirt/
[root@UA-HA libvirt]# ls -lrt
total 56
-rw-r--r--. 1 root root  2134 Oct  8 09:14 virtlockd.conf
-rw-r--r--. 1 root root  2169 Oct  8 09:14 qemu-lockd.conf
-rw-r--r--. 1 root root 18987 Oct  8 09:14 qemu.conf
drwx------. 3 root root    21 Oct  8 09:14 qemu
-rw-r--r--. 1 root root  1176 Oct  8 09:14 lxc.conf
-rw-r--r--. 1 root root   518 Oct  8 09:14 libvirt.conf
-rw-r--r--. 1 root root 15070 Oct  8 09:14 libvirtd.conf
drwx------. 2 root root  4096 Dec 13 00:25 nwfilter
[root@UA-HA libvirt]#

 

Hope this article is informative to you. Share it ! Comment it !! Be Sociable !!!

Filed Under: Linux KVM, RHEL7 Tagged With: KVM, Redhat Enterprise Virtualization, Redhat Linux

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Follow UnixArena

  • Facebook
  • LinkedIn
  • Twitter

Copyright © 2025 · UnixArena ·

Go to mobile version