Virtualization Fundamentals
Virtualization lets one physical computer host multiple software-defined computers called virtual machines. A hypervisor divides processor time, memory, storage, and network access while each virtual machine runs its own operating system.
itVirtualization, containers, and orchestration | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Virtualization Fundamentals
Virtualization is a disciplined deception: one physical computer agrees to behave like several. Each virtual machine is a software-defined computer with processors, memory, disks, network interfaces, firmware, and its own operating-system kernel. The guest believes the arrangement because the arrangement is, from its point of view, hardware.
The physical computer is the host. Between host and guest sits the hypervisor, which schedules CPU time, maps memory, connects virtual devices, and enforces the boundary between VMs. It is less a conjurer than an extremely strict landlord. Every guest gets an address, a set of keys, and no claim on the entire building.
Without that boundary, an operating system controls the physical machine directly. Virtualization detaches the operating environment from one server, so workloads with different kernels and dependencies can share capacity or move between compatible hosts. The hardware has not vanished. It has acquired a booking system.
The first surprise is the vCPU. It is not a tiny physical core reserved under a glass dome. It is work the hypervisor schedules onto physical CPU capacity. Overcommit is useful while workload peaks take turns; when they arrive together, steal time or scheduling wait reveals the queue. Adding more vCPUs to a crowded host merely gives the queue more paperwork.
Memory performs a similar two-step. The guest maps application addresses to what it thinks is physical memory, then the hypervisor maps that memory onto the host. Storage and networking also cross virtual devices before reaching physical resources. This layering buys mobility and control, while ensuring that performance investigations have at least two perfectly sincere versions of events.
A snapshot records point-in-time VM state. It is excellent for a short rollback window and remarkably unqualified for promotion to backup. It may depend on the base disk and the same storage system, and consolidation can suspend I/O while changed blocks are merged. An independent, tested restore remains stubbornly independent and tested.
Separate VMs are not automatically separate failures. Two application replicas can occupy one host, and shared storage can give many hosts one common problem. Placement rules, failure-state capacity, and actual restore tests turn architectural diagrams into recovery behavior. The management plane matters too: guests may keep running while the ability to move or reconfigure them disappears.
Containers are relatives, not aliases. A VM carries a guest kernel and virtual hardware boundary. A container normally shares the host kernel and isolates processes. Many systems put containers inside VMs, because infrastructure has never allowed one useful boundary to prevent it from adding another.
Read the Intro for the complete architecture and resource paths. Keep the Cheatsheet nearby when choosing CPU, memory, storage, networking, and recovery mechanisms. Field Notes covers the operational traps that polite diagrams omit. The Exercise boots a real VM under software emulation and lets the guest and hypervisor disagree in public, which is where the mental model becomes useful.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.ibm.com/think/topics/virtual-machines
Supports
- Host, guest, hypervisor, VM, consolidation, isolation, cloud, and virtualization history
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html-single/configuring_and_managing_virtualization/index
Supports
- VM creation, virtual CPU and memory, devices, storage, save and restore, snapshots, migration, and limitations
- Snapshot consistency, memory state, dependencies, passthrough constraints, and operational signals
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html-single/virtualization_getting_started_guide/index
Supports
- Full virtualization, guests with separate kernels, hypervisor translation, KVM, resource overcommit, and containers comparison
- https://csrc.nist.gov/pubs/sp/800/125/final
Supports
- Full virtualization architecture, operational uses, and security concerns
- https://csrc.nist.gov/pubs/sp/800/125/a/r1/final
Supports
- Hypervisor resource mediation, runtime isolation, virtual networks, administration, and monitoring
- https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/architecture
Supports
- Root and child partitions, virtual processors, nested address translation, VMBus, virtual devices, and enlightened I/O
- https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/overview
Supports
- Hyper-V product landscape placement, virtual networking, storage, migration, clustering, and management
- https://www.qemu.org/docs/master/about/
Supports
- Full system emulation, CPU translation, machine models, KVM acceleration, and QEMU product placement
- https://www.qemu.org/docs/master/system/index.html
Supports
- Device emulation, virtual CPU, disk image, networking, passthrough, migration, and security scope
- https://www.qemu.org/docs/master/system/devices/virtio/index.html
Supports
- Paravirtualized device purpose and guest-to-device-model relationship
- https://www.qemu.org/docs/master/system/devices/net.html
Supports
- Virtual NICs, host backends, TAP, hubs, and same-host virtual networking
- https://www.qemu.org/docs/master/system/i386/kvm-pv.html
Supports
- KVM paravirtualized features and steal-time accounting
- https://docs.kernel.org/virt/kvm/api.html
Supports
- KVM VM, vCPU, and device creation model
- https://libvirt.org/api.html
Supports
- Domains, networks, storage pools, volumes, active runtime state, and persistent definitions
- https://libvirt.org/storage.html
Supports
- Host storage pools and volumes used as VM backing
- https://wiki.libvirt.org/VM_lifecycle.html
Supports
- VM states, snapshots, migration, shared storage, and CPU compatibility
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/chap-kvm_live_migration
Supports
- Live migration flow and source-to-destination memory transfer
- https://www.vm.ibm.com/history/timeline.html
Supports
- CP-40 in 1964, CP-67 in 1967, and VM/370 in 1972
- https://www.ibm.com/support/pages/zvm/history/50th/index.html
Supports
- VM/370 announcement date and CP-40 or CP-67 lineage
- https://www.vmware.com/docs/x86-virt-esx-perf
Supports
- VMware Workstation release in 1999, hosted architecture, and ESX VMkernel distinction
- https://www.cl.cam.ac.uk/research/srg/netos/papers/2003-xensosp.pdf
Supports
- Xen architecture, paravirtualization, performance isolation, and 2003 publication milestone
- https://www.intel.com/pressroom/archive/releases/2005/20051114comp.htm
Supports
- November 2005 desktop processor launch with Intel Virtualization Technology
- https://aws.amazon.com/jp/blogs/aws/amazon_ec2_beta/
Supports
- August 2006 EC2 beta and on-demand resizable compute service
- https://www.kernel.org/doc/ols/2007/ols2007v1-pages-179-188.pdf
Supports
- KVM inclusion in Linux 2.6.20 and hardware-assisted unmodified x86 guests
- https://news.microsoft.com/source/2008/03/19/microsoft-reaches-virtualization-milestone-with-release-candidate-of-hyper-v/
Supports
- March 2008 Hyper-V release candidate for Windows Server 2008
- https://github.com/sindresorhus/awesome
Supports
- Discovery path to Awesome Sysadmin
- https://github.com/awesome-foss/awesome-sysadmin
Supports
- Ecosystem discovery for Proxmox VE, Ganeti, oVirt, OpenNebula, and Apache CloudStack
- https://pve.proxmox.com/pve-docs/pve-admin-guide.html
Supports
- Proxmox VE QEMU and KVM management, storage, networking, clustering, backup, and high availability
- https://docs.ganeti.org/docs/ganeti/3.0/html/admin.html
Supports
- Ganeti cluster management, Xen or KVM instances, nodes, replication, migration, and failover
- https://www.ovirt.org/documentation/administration_guide/
Supports
- oVirt hosts, VMs, storage domains, logical networks, monitoring, migration, and capacity response
- https://docs.opennebula.io/7.2/product/cluster_configuration/hosts_and_clusters/cluster_guide/
Supports
- OpenNebula clusters joining compatible hosts, datastores, virtual networks, and migration constraints
- https://docs.cloudstack.apache.org/en/latest/conceptsandterminology/concepts.html
Supports
- CloudStack orchestration of hypervisors, compute, storage, networking, and infrastructure services
- https://www.vmware.com/products/cloud-infrastructure/vsphere
Supports
- VMware vSphere landscape placement
- https://www.nutanix.com/products/ahv
Supports
- Nutanix AHV landscape placement with integrated virtualization and infrastructure management
- https://www.proxmox.com/en/products/proxmox-virtual-environment/overview
Supports
- Proxmox VE landscape placement and licensing model
- https://docs.xcp-ng.org/
Supports
- XCP-ng pools, Xen Orchestra management, migration, snapshots, backup, and guest tools
- https://www.virtualbox.org/
Supports
- VirtualBox desktop virtualization landscape placement
- https://www.vmware.com/products/desktop-hypervisor.html
Supports
- VMware Fusion and Workstation desktop virtualization placement
- https://www.parallels.com/products/desktop/
Supports
- Parallels Desktop host integration and desktop VM placement
- https://xenproject.org/
Supports
- Xen Project hypervisor, control domain, guest domains, and open-source landscape placement
- https://www.qemu.org/docs/master/system/invocation.html
Supports
- QEMU TCG selection, vCPU and memory options, ISO and qcow2 attachment, user-mode networking, and nographic console behavior
- https://www.qemu.org/docs/master/system/monitor
Supports
- QEMU monitor access and inspection commands for accelerator, CPU, block, network, memory, and runtime state
- https://www.qemu.org/docs/master/system/security.html
Supports
- QEMU monitor privilege boundary and host-file access implications
- https://wiki.alpinelinux.org/wiki/QEMU
Supports
- Booting Alpine Linux in QEMU live mode and logging in to the installation media
- https://wiki.alpinelinux.org/wiki/Enable_Serial_Console_on_Boot
Supports
- Alpine virt ISO serial-console support under QEMU
- https://dl-cdn.alpinelinux.org/alpine/v3.24/releases/x86_64/
Supports
- Alpine virt x86_64 ISO and matching SHA-256 checksum used by the reproducible exercise
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_virtualization/optimizing-virtual-machine-performance-in-rhel_configuring-and-managing-virtualization
Supports
- vNUMA locality, CPU pinning, workload-specific tuning, and the migration costs of performance optimization
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_virtualization/assembly_enabling-virtualization-in-rhel-9_configuring-and-managing-virtualization
Supports
- QEMU Guest Agent dependency for clean shutdown, filesystem freeze and thaw, guest time, address, and filesystem queries
- https://knowledge.broadcom.com/external/article/391473/virtual-machine-unresponsive-during-snap.html
Supports
- VM I/O suspension during snapshot creation and deletion, factors that extend stun time, and scheduling guidance
- https://knowledge.broadcom.com/external/article/416349/virtual-machines-fail-over-without-consi.html
Supports
- Anti-affinity behavior during HA failover when vCenter is unavailable
