Virtualization Study Topics
1. Foundational Concepts
- Type-1 vs Type-2 Hypervisors: The fundamental distinction — Type-1 (bare-metal) runs directly on hardware (ESXi, KVM, Hyper-V), Type-2 runs on top of a host OS (VirtualBox, VMware Workstation).
- CPU Virtualization Extensions (VT-x / AMD-V): The hardware instructions built into modern CPUs that allow a hypervisor to run guest operating systems at near-native speed without software emulation.
- NUMA Awareness (Non-Uniform Memory Access): Understanding that in multi-socket servers, memory access speed depends on which CPU socket "owns" the RAM — VMs perform best when pinned to a single NUMA node.
- CPU Pinning: Dedicating specific physical CPU cores exclusively to a VM so that it gets consistent, predictable performance without contention from other workloads.
- Memory Management — Ballooning, KSM, Huge Pages: Three memory optimization techniques — Ballooning reclaims unused guest memory, KSM (Kernel Same-page Merging) deduplicates identical pages across VMs, Huge Pages (2MB/1GB) reduce TLB misses for large workloads.
- Secure Boot / vTPM: Hardware security features virtualized for guests — Secure Boot ensures only signed OS code runs at startup, vTPM provides a virtual trusted platform module for encryption keys and attestation.
- Nested Virtualization: Running a hypervisor inside a VM — sometimes needed for testing, CI/CD pipelines, or running KubeVirt inside a VM-based development environment.
2. Current State / VMware Baseline
- VMware vSphere / ESXi: The incumbent hypervisor platform — ESXi is the Type-1 hypervisor, vCenter is the management plane, and together they manage the current 5,000+ VM estate being migrated away from.
3. Core Hypervisor Technologies
- KVM (Kernel-based Virtual Machine): The Linux kernel module that turns Linux itself into a Type-1 hypervisor — the foundation for OVE, and the most widely deployed open-source hypervisor.
- QEMU (Quick Emulator): The userspace component that provides device emulation (virtual disks, NICs, USB, GPU) for KVM guests — KVM handles CPU/memory, QEMU handles everything else.
- Libvirt: The management abstraction layer that provides a unified API and CLI (virsh) for controlling KVM/QEMU — hides the complexity of QEMU command lines behind a clean interface.
- Hyper-V: Microsoft's Type-1 hypervisor built into Windows Server — the virtualization engine underneath Azure Local. Must be understood for the Azure Local PoC evaluation.
4. Kubernetes-Native Virtualization
- KubeVirt: The Kubernetes extension that allows VMs to run as first-class citizens alongside containers — wraps KVM/QEMU inside Kubernetes Pod abstractions. The core technology behind OVE.
- OCI / Container Runtimes (CRI-O, containerd): The Open Container Initiative standards and runtimes that Kubernetes uses to run containers — understanding these explains how KubeVirt VMs coexist with containers on the same nodes.
- Kata Containers / MicroVMs: Lightweight VM-based isolation for container workloads — each container runs inside its own minimal VM for stronger security boundaries. Relevant for understanding OVE's security model.
5. VM Lifecycle Management
- Live Migration (vMotion equivalent): Moving a running VM from one physical host to another with near-zero downtime — requires shared storage or storage migration, and your evaluation demands <1s downtime.
- VM Snapshots & Clones: Point-in-time captures of a VM's state (disk + memory) for backup or branching, and full copies for rapid provisioning of identical machines.
- VM Templates & Rapid Provisioning: Pre-built VM images that can be stamped out in seconds — your requirement is <5 minutes from request to running VM.
- Cloud-init / Ignition: First-boot automation tools that configure a VM's hostname, SSH keys, network, and packages on initial startup — Cloud-init for general Linux, Ignition for CoreOS/RHCOS.
- Resource Pools / Quotas: Logical groupings that cap how much CPU, memory, and storage a team or project can consume — prevents one tenant from starving others.
- Affinity / Anti-Affinity Rules: Policies that control VM placement — affinity keeps related VMs together on the same host, anti-affinity spreads critical VMs across different hosts for resilience.
- CPU & RAM Hot-Add: Adding CPU cores or memory to a running VM without shutting it down — dependent on guest OS support and hypervisor capability.
- GPU Passthrough / vGPU: Giving a VM direct access to a physical GPU (passthrough) or sharing a GPU among multiple VMs (vGPU) — needed for AI/ML workloads, VDI, or hardware-accelerated processing.
6. Migration Tooling & Formats
- OVA / OVF / VMDK / QCOW2: The disk image and packaging formats — OVA/OVF are VMware's portable VM packages, VMDK is VMware's disk format, QCOW2 is KVM's native disk format with snapshot support.
- virt-v2v / Migration Toolkit for Virtualization (MTV): Tools for converting VMs from one hypervisor to another — virt-v2v converts VMware/Hyper-V VMs to KVM, MTV is Red Hat's productized migration tool for moving VMs into OpenShift/KubeVirt.
- Azure Migrate: Microsoft's migration tooling for discovering, assessing, and moving VMware VMs into Azure Local or Azure cloud — relevant for the Azure Local PoC.
7. Infrastructure as Code
- Terraform Provider for KubeVirt / Hyper-V: Declarative infrastructure provisioning — defining VMs, networks, and storage as code files that can be version-controlled, reviewed, and applied reproducibly.
- Ansible Modules for VM Management: Procedural automation for VM lifecycle operations — provisioning, configuration, patching, and decommissioning through playbooks.