This page covers the efforts to integrate various virtualization technologies into Fedora.
Introduction
Virtualization allows one to run many guest virtual machines on top of a host operating system such as Fedora. What this means is that using one computer, you can mimic several individual computers and even run different operating systems in each of these virtual machines. There are many different virtualization technologies, including both free and open source software and proprietary offerings.
Fedora has also long included QEMU, a fast CPU emulator capable of virtualizing OS on both native and non-native architectures (such as allowing a PowerPC OS to run on x86_64).
Fedora Core 5 was the first release to include Xen virtualization, which supports paravirtualization of a modified operating system (OS), or, with hardware support, full virtualization of any native OS. Since Fedora 8, Fedora has not included Xen Dom0 support, pending the inclusion of said support in upstream Linux.
Fedora 7 was the first release to include support for KVM, which is a hypervisor included in the Linux kernel which requires hardware virtualization support like Intel VT or AMD-V. KVM is currently the main focus of Fedora's virtualization efforts. xenner is a utility which allows Xen guests to be run using KVM.
Yet another type of virtualization is the containers approach used by OpenVZ, which can partition a single OS into several isolated zones -- a chroot with much stronger resource isolation.
Anticipating this diversification of technology, management applications for Fedora have been built on top of the libvirt toolkit, which offers a technology independent API for managing virtual systems.
Using Virtualization
See getting started with virtualization for an excellent overview to using the virtualization capabilities in Fedora.
Bugs
See reporting virtualization bugs for some tips on reporting virtualization bugs to bugzilla.
If you wish to help triaging and fixing virtualization bugs, virtualization bugs is a good starting point.
Mailing List & IRC
To get in touch with Fedora virtualization users and developers try the fedora-virt mailing list or #virt on irc.oftc.net.
Relevant Packages
Here's a catalogue of all the virtualization related packages in Fedora:
Core Virtualization
provides e.g. the kvm hypervisor core (kvm.ko), support for running as KVM and Xen guests etc.kernel
is a CPU and device emulator; it also acts as the userspace component of KVMqemu
is a toolkit for interacting with the various virtualization technologieslibvirt
provides the xen hypervisor and userspace componentsxen
allows Xen guests to be run on KVMxenner
PC BIOS for QEMUbochs
PXE boot ROMs for QEMUetherboot
video BIOS for QEMUvgabios
sparc/ppc BIOS for QEMUopenbios
Tools
is a desktop user interface for managing virtual machinesvirt-manager
is used by virt-manager to connect to a virtual machine's graphical consolevirt-viewer
provides a python API for installing virtual machines, and a bunch of useful utilitis like virt-install and virt-clonepython-virtinst
is a GNOME applet for monitoring and controlling virtual machinesgnome-applet-vm
is a top-like utilitiy for virtual machinesvirt-top
provides tools for monitor virtual machines - e.g. virt-uname, virt-dmesg and virt-psvirt-mem
virt-df is df for virtual machinesvirt-df
- collected-libvirt gathers statistics from within virtual machines; it is provided by
collectd
enables the building of virtual appliance imagesappliance-tools
is a network boot server that can be used to provision virtual machinescobbler
Language Bindings
- libvirt-python - provided directly by
libvirt
perl-Sys-Virt
ruby-libvirt
ocaml-libvirt
libvirt-java
Obsolete
used to provide the userspace component of the kvm hypervisor. It has since been replaced by qemukvm
oVirt
oVirt is a Fedora based project which provides small host images and a web-based virtual machine management console. See the website to learn more and get involved.