whatis virtual-machine
Virtual Machine (VM)
Also known as: VM, KVM, QEMU, hypervisor
A fully emulated computer with its own kernel running on a hypervisor. On Linux this is typically KVM with QEMU and libvirt.
What Is a Virtual Machine (KVM/QEMU) on Linux?
Unlike a container, a VM runs its own complete operating system, which can be Windows, BSD, or a different Linux kernel. KVM turns the Linux kernel into a type-1 hypervisor using CPU virtualization extensions, and QEMU provides the virtual hardware.
libvirt, virt-manager, and Proxmox VE sit on top to manage VMs, storage, and networks. VMs give stronger isolation than containers at the cost of more memory and slower start times.
Example
lscpu | grep Virtualization
virsh list --all Learn more about Virtual Machine (VM)
- KVM, QEMU, and libvirt: What Each One Actually Does Three names get used interchangeably for Linux virtualization and they are three different layers. Understanding which does what makes the whole stack considerably less confusing.
- virt-manager and virsh: Running Virtual Machines on Linux One is a graphical console for libvirt and the other is its command line. Here is how to create, manage, snapshot, and connect to virtual machines with both.
- Proxmox VE: A Web Interface Over KVM and LXC Proxmox packages KVM virtual machines, LXC containers, ZFS, clustering, and backups behind one web interface on a Debian base. Here is what it gives you over rolling your own.
- GPU Passthrough with VFIO: Giving a Virtual Machine Real Graphics Hand a physical GPU to a guest for near-native performance in gaming, transcoding, or compute. Here is what IOMMU groups are, why they decide whether it works, and the order to do things in.