VIRTUALIZATION¶
Virtualization is a technology that enables a software platform, called a hypervisor, to run processes that contain a fully emulated computer system.
Types of Hypervisors¶
Xen¶
- Type:
Type-1 Hypervisor
(Bare-Metal Hypervisor) - Description: Xen is an open-source hypervisor that does not rely on an underlying operating system. It boots directly into the hypervisor, making it a bare-metal hypervisor.
KVM (Kernel Virtual Machine)¶
- Type:
Type-1 and Type-2 Hypervisor
- Description: KVM is a Linux kernel module for virtualization. It integrates with a running Linux installation, allowing it to function as both a Type-1 and Type-2 hypervisor. Virtual machines deployed with KVM use the
libvirt daemon
and associated utilities for management.
VirtualBox¶
- Type:
Type-2 Hypervisor
- Description: VirtualBox is a popular desktop application for creating and managing virtual machines. It is cross-platform, supporting Linux, macOS, and Windows. As it requires an underlying operating system, it is classified as a Type-2 hypervisor.
Migration¶
Migration is the process of moving a virtual machine from one hypervisor installation to another.
Types of Virtual Machines¶
1. Fully Virtualized¶
- Description: All instructions executed by the guest operating system run within a fully virtualized environment. The guest is unaware it is running in a virtual machine (HardwareVM).
- Use Case: Ideal for unmodified guest operating systems.
2. Paravirtualized¶
- Description: The guest operating system is aware it is running in a virtual machine (PVM). It uses a modified kernel and guest drivers to optimize resource utilization.
- Use Case: Offers better performance than fully virtualized guests.
3. Hybrid¶
- Description: Combines full virtualization with paravirtualized drivers to overcome hardware-assisted full virtualization limitations.
- Use Case: Balances performance and compatibility.
Virtual Machine Hard Disk Image Location¶
Virtual machine hard disk images are typically stored at:
/var/lib/libvirt/images/
The D-Bus Machine ID¶
The D-Bus Machine ID is a unique identification number generated during installation.
Why It’s Important¶
- If a virtual machine is cloned, a new D-Bus Machine ID must be generated to ensure proper resource allocation.
- No two Linux systems on a hypervisor should share the same D-Bus Machine ID.
Generate a New D-Bus Machine ID¶
dbus-uuidgen --get
Containerization¶
Containerization is a form of operating-system–level virtualization that allows software applications to run in isolated user spaces called containers.
Key Points¶
- Lightweight and portable.
- Can run in any cloud or non-cloud environment.
Containers¶
Containers are lightweight software packages that include all necessary dependencies to run an application in any environment.