[% topdir = "../.." -%] [% PROCESS globals -%] [% WRAPPER page title = "Names and terms used in the virt tools documentation" h1 = "Names and terms used in the virt tools documentation" section = "learning" local_stylesheet = 1 %] [% WRAPPER h2 h2="Hosts, guests, virtual machines, hypervisors" anchor="names" %]
The virt tools and
project documentation
uses the terms
guest,
virtual machine,
VM and
domain interchangably to refer to a virtual machine.
The term domain
comes from Xen.
When we say host we mean the ordinary physical machine and the operating system which contains the guests.
The term hypervisor has several different meanings:
Linux as the hypervisor, meaning that the ordinary Linux host kernel has extra hypervisor capabilities provided by the KVM module.
Xen (only) uses the special terms Dom0 (a.k.a. Domain-0) and DomU as synonyms for host and guest respectively.
[% END %] [% WRAPPER h2 h2="Full virtualization and paravirtualization" anchor="fvpv" %]Examples of full virtualization technologies: Bochs, QEMU, KVM, VMWare, Xen-FV, MAME.
Full virtualization (or fullvirt,
FV) is what you use to run an unmodified operating
system as a virtual machine. The operating system thinks
it is
running on a PC, and (from the point of view of the guest) it sees
usual hardware like a keyboard, disk drive, monitor and so on. These
of course are not real, but are emulated by the hypervisor technology
underneath.
Full virtualization is usually a bit slower, because of all the emulation, but it has the big advantage that you can run unmodified operating systems like Windows.
Paravirtualization (or paravirt, PV) is where you modify the guest operating system so that it knows it is running in a virtual machine and it cooperates with the host. This is done to gain extra performance by avoiding unnecessary emulation.
There are essentially two methods currently in use for paravirtualization. The Xen paravirt approach makes deep changes to the Linux kernel so that cooperation is achieved at many levels. The advantage of Xen paravirt is that hardware support is not required, but the disadvantage is it is only possible for some Linux guests.
Examples of FV with PV drivers technologies: KVM Virtio, VMWare Tools, VirtualBox Additions, Xen-PV drivers.
The more common approach these days is device driver
paravirtualization where only the device drivers of the
operating system are replaced. This is sometimes called
fullvirt with PV drivers. This gains almost all the
performance benefits of paravirtualization, it works with Windows
guests, and it can be implemented incrementally by starting with a
fullvirt guest and adding PV drivers as required. The downside is
that you need hardware support. The most commonly paravirtualized
devices are: the hard disk (often called the block device
), the
network device, the console, and the clock.
Virtio is an emerging standard for paravirtualized drivers, and is particularly used for QEMU and KVM guests. Virtio PV drivers are available for many different operating systems.
[% END %] [% WRAPPER h2 h2="Hardware support for virtualization" anchor="hardware" %]Nowadays most computer processors contain extra support to accelerate virtualization (see this tutorial to check if yours has support and to find out more about the different types).
Support in hardware is often called hardware virtualization (or hardware virt), abbreviated to HVM.
[% END %] [% WRAPPER h2 h2="Lifecycle" anchor="lifecycle" %]Virtual machines can be started and stopped, and you may see this being referred to as the lifecycle or lifecycle management. This is entirely equivalent to switching a real machine on and off.
As well as just being started and stopped (and unlike real machines), virtual machines can be paused, snapshotted and cloned.
Taking a snapshot usually means to save the state of the virtual machine at a moment in time, either so it can be backed up consistently, or so that you can try some experimental operation and roll back to the snapshot if that fails.
Cloning is somewhat similar to snapshotting, but the two clones are allowed to run independently of each other (and cannot be combined again), so that whereas before you had one virtual machine, now you have two.
Another aspect of lifecycle management is saving and restoring virtual machines.
[% END %] [% WRAPPER h2 h2="Disks and storage" anchor="storage" %]The hard drive of a virtual machine is usually emulated ie. it's not a physical, separate hard drive, but a file or logical volume on the host. This host file (or however it is stored) is called the disk image.
Disk images are allocated in volumes out of storage pools.
[% END %] [% WRAPPER h2 h2="Migration" anchor="migration" %]Migration means moving a virtual machine from one host to another. Usually this means live migration where the running VM is moved without interruption.
Don't confuse migration and conversion (see next section).
[% END %] [% WRAPPER h2 h2="P2V, V2V and V2P" anchor="p2v" %]The terms P2V, V2V, and V2P refer to different sorts of conversions:
| P2V | Physical to virtual: Converting a physical machine to a virtual machine. This is often done so you can continue to use the applications on the physical machine, but with newer hardware underneath. |
|---|---|
| V2V | Virtual to virtual: Converting a virtual machine from one hypervisor technology to another, for example converting a VMWare virtual machine to run on KVM to save money. |
| V2P | Virtual to physical: This is the reverse of P2V, taking a virtual machine and restoring it onto a physical machine. |