#Infra #IaaS #Concepts #LayeredArchitecture
1. What is a Hypervisor?
- Definition: Virtualization software that allows multiple Virtual Machines (VMs) to run on a single physical server (Host).
- In other words, it acts as an intermediary manager that slices up physical resources — such as CPU, memory, network, and storage — so that multiple VMs can share them.
- A VM behaves like an independent server, but in reality it is a process running on top of the hypervisor.
2. Types of Hypervisors
- Type 1 (Bare-metal)
- Installed directly on the physical hardware.
- Examples: VMware ESXi, Microsoft Hyper-V, Xen
- Better performance (no OS layer in between).
- Type 2 (Hosted)
- Runs as an application on top of an existing OS (e.g., Ubuntu, Windows).
- Examples: VirtualBox, VMware Workstation
- Slightly lower performance, but widely used for testing and development environments.
3. KVM (Kernel-based Virtual Machine)
- Definition: An open-source hypervisor feature built directly into the Linux kernel.
- Closer to Type 1 (the Linux kernel controls hardware directly, resulting in good performance).
- Provided by default on Linux distributions such as Red Hat, Ubuntu, and CentOS.
How It Works
- KVM transforms the Linux kernel itself into a hypervisor.
- Each VM operates like a Linux process, and is allocated its own isolated CPU, memory, and disk resources.
- Networking can be configured via bridge, NAT, SDN (Open vSwitch), and more.
4. KVM Components
- QEMU: Handles hardware emulation (CPU, disk, network card, etc.).
- libvirt: VM creation and management toolset (CLI command
virsh, GUI toolvirt-manager). - KVM kernel modules:
kvm.ko,kvm-intel.koorkvm-amd.ko.
5. Advantages of KVM
- Tightly integrated with the Linux kernel → excellent performance.
- Open-source → no licensing cost.
- Widely used in cloud and virtualization platforms such as OpenStack, oVirt, and Proxmox.
- Supports live migration, snapshots, and high availability.
6. Real-World Examples
- AWS EC2 → Previously Xen-based; now mostly transitioned to KVM-based.
- OpenStack → KVM is the default hypervisor.
- Personal server → You can practice creating multiple VMs using Ubuntu + KVM + virt-manager.
To summarize:
A Hypervisor is virtualization management software that runs multiple VMs,
and KVM is a powerful open-source Hypervisor built directly into the Linux kernel.