From Fedora Project Wiki

(Re-work the introduction, kill the development plans section, integrate a bunch of the resources links into the main text and drop the rest)
(Add some more bits)
Line 14: Line 14:


Anticipating this diversification of technology, management applications for Fedora have been built on top of the [http://libvirt.org libvirt] toolkit, which offers a technology independent API for managing virtual systems.
Anticipating this diversification of technology, management applications for Fedora have been built on top of the [http://libvirt.org libvirt] toolkit, which offers a technology independent API for managing virtual systems.
== Using Virtualization ==
The [[Virtualization_Quick_Start "quick start"]] page gives an excellent overview to using the virtualization capabilities in Fedora.
== Relevant Packages ==
Here's a catalogue of all the virtualization related packages in Fedora:
=== Core Virtualization ===
* [https://admin.fedoraproject.org/pkgdb/packages/name/kernel kernel] provides e.g. the kvm hypervisor core (kvm.ko), support for running as KVM and Xen guests etc.
* [https://admin.fedoraproject.org/pkgdb/packages/name/kvm kvm] provides the userspace component of the kvm hypervisor
* [https://admin.fedoraproject.org/pkgdb/packages/name/xen xen] provides the xen hypervisor and userspace components
* [https://admin.fedoraproject.org/pkgdb/packages/name/xenner xenner] allows Xen guests to be rnu on KVM
* [https://admin.fedoraproject.org/pkgdb/packages/name/qemu qemu] is a CPU and device emulator
* [https://admin.fedoraproject.org/pkgdb/packages/name/libvirt libvirt] is a toolkit for interacting with the various virtualization technologies
=== Tools ===
* [https://admin.fedoraproject.org/pkgdb/packages/name/virt-manager virt-manager] is a desktop user interface for managing virtual machines
* [https://admin.fedoraproject.org/pkgdb/packages/name/virt-viewer virt-viewer] is used by virt-manager to connect to a virtual machine's graphical console
* [https://admin.fedoraproject.org/pkgdb/packages/name/python-virtinst python-virtinst] provides a python API for installing virtual machines, and a bunch of useful utilitis like virt-install and virt-clone
* [https://admin.fedoraproject.org/pkgdb/packages/name/gnome-applet-vm gnome-applet-vm] is a GNOME applet for monitoring and controlling virtual machines
* [https://admin.fedoraproject.org/pkgdb/packages/name/virt-top virt-top] is a top-like utilitiy for virtual machines
* [https://admin.fedoraproject.org/pkgdb/packages/name/virt-mem virt-mem] provides tools for monitor virtual machines - e.g. virt-uname, virt-dmesg and virt-ps
* [https://admin.fedoraproject.org/pkgdb/packages/name/virt-df virt-df] virt-df is df for virtual machines
* [https://admin.fedoraproject.org/pkgdb/packages/name/collectd collectd-virt] gathers statistics from within virtual machines
* [https://admin.fedoraproject.org/pkgdb/packages/name/appliance-tools appliance-tools] enables the building of virtual appliance images
* [https://admin.fedoraproject.org/pkgdb/packages/name/cobbler cobbler] is a network boot server that can be used to provision virtual machines
=== Language Bindings ===
* [https://admin.fedoraproject.org/pkgdb/packages/name/libvirt libvirt-python]
* [https://admin.fedoraproject.org/pkgdb/packages/name/perl-Sys-Virt perl-Sys-Virt]
* [https://admin.fedoraproject.org/pkgdb/packages/name/ruby-libvirt ruby-libvirt]
* [https://admin.fedoraproject.org/pkgdb/packages/name/ocaml-libvirt ocaml-libvirt]
* [https://admin.fedoraproject.org/pkgdb/packages/name/libvirt-java libvirt-java]
== oVirt ==
[http://ovirt.org/ oVirt] is a Fedora based project which provides small host images and a web-based virtual machine management console. See [http://ovirt.org/ the website] to learn more and get involved.


----
----
[[Category:Virtualization]]
[[Category:Virtualization]]

Revision as of 16:33, 14 January 2009

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

The Virtualization_Quick_Start "quick start" page gives an excellent overview to using the virtualization capabilities in Fedora.

Relevant Packages

Here's a catalogue of all the virtualization related packages in Fedora:

Core Virtualization

  • kernel provides e.g. the kvm hypervisor core (kvm.ko), support for running as KVM and Xen guests etc.
  • kvm provides the userspace component of the kvm hypervisor
  • xen provides the xen hypervisor and userspace components
  • xenner allows Xen guests to be rnu on KVM
  • qemu is a CPU and device emulator
  • libvirt is a toolkit for interacting with the various virtualization technologies

Tools

  • virt-manager is a desktop user interface for managing virtual machines
  • virt-viewer is used by virt-manager to connect to a virtual machine's graphical console
  • python-virtinst provides a python API for installing virtual machines, and a bunch of useful utilitis like virt-install and virt-clone
  • gnome-applet-vm is a GNOME applet for monitoring and controlling virtual machines
  • virt-top is a top-like utilitiy for virtual machines
  • virt-mem provides tools for monitor virtual machines - e.g. virt-uname, virt-dmesg and virt-ps
  • virt-df virt-df is df for virtual machines
  • collectd-virt gathers statistics from within virtual machines
  • appliance-tools enables the building of virtual appliance images
  • cobbler is a network boot server that can be used to provision virtual machines

Language Bindings

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.