From Fedora Project Wiki

Revision as of 13:43, 28 June 2013 by Dariof (talk | contribs) (Removed the "page outdated" banner, as the page it's not outdated anymore)

Xen is a high performance and secure open source virtualization framework. 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 mimick several individual computers and even run different operating systems in each of these virtual machines. Virtualization has been around for some time in products such as VMWare and VirtualPC, however it has historically been resource intensive and the guest operating systems ran at quite a performance hit. Xen however uses a different approach of being a true hypervisor and platform and has taken virtualization to a new level of performance and security.

Fedora used to be able to act as a Xen host, but that possibility went away a while back. Thanks to this effort, it is now more than possible to use Fedora as a Xen host (starting from Fedora 16).

By using modified kernels, Xen can take advantage of certain capabilities that allow you to have all the benefits of virtualization, without incurring the huge performance penalty often associated with virtualization. You can run guest operating systems at near native speeds with Xen. More recently, it has become possible to use Xen to run guests without them needing to have a modified kernel, provided the hardware offers some virtualization extensions (which is, nowadays, almost always the case).

The security of your environment can be enhanced by running different services in complete isolation, without resorting to the purchase of additional costly hardware. If your server used to run a web server and an e-mail server together, you can now isolate these two services and run them as though they were running on completely separate machines.

Using Xen, you can run an environment of multiple operating systems, all from one machine. An instance of Fedora can be ran in conjunction with more instances of Fedora or with other operating systems such as NetBSD, all simultaneously. These examples are simply scratching the surface of the many possibilities that Xen allows.

The dedicated mailing list for users of Xen on Fedora is . For non-Xen discussions, the Communicate page details many other ways of communicating with Fedora users & developers.

Xen Quick Start Guides

Depending on which Fedora release you are using there are different guides for getting started with Xen. Choose, among all the material linked below, the docs that better suits your needs and configuration.

Xen was officially part of Fedora from the beginning (of Xen itself) to Fedora 8. At that point, the Linux kernel dropped support for Xen, and that is why, for Fedora 9 to Fedora 15, you need custom kernels. Now Xen support has made it to the upstream kernel again, therefore, using Fedora as a Xen host is again available without unofficial packages starting from Fedora 16.

For Fedora 16 and newer:

For Fedora 15 to Fedora 9:

  • Using one of these releases as a Xen host will be a little bit more tricky. If willing to do so, check out the packages available at this experimental repository

For Fedora 8 and older:

  • Fedora 8
  • Fedora 7
  • Fedora Core 6 with a stable Xen 3.0.3 release included in the base distro & suitable for more extensive deployment
  • Fedora Core 5 with a Xen snapshot included in the base distro for the first time, and suitable for exploration & initial testing
  • Fedora Core 4 with experimental Xen 3 snapshot available as add on packages

Frequently Asked Questions

What follows are a handful of frequently asked questions about Xen in general. For questions specific to a Fedora release, consult the quick start guides linked above.

  • Q. What APIs are available for developing Xen management applications ?

A. The libvirt library provides an API which is guarenteed to be stable across the different versions of Xen in previous & future Fedora Core releases. libvirt provides a C library and Python bindings. There are also optional Perl bindings on CPAN and OCaml bindings .

  • Q. Is there any GUI tool for managing local Xen virtual machines ?

A. The virt-manager application provides a GUI tool which can be run in Domain-0 to manage virtual machines. It is a standard part of Fedora Core, from version 6 onwards. It is also possible to run it in Fedora Core 5, albeit with reduced capabilities.

  • Q. Is there any GUI tool for managing remote Xen virtual machines ?

A. At this time, Xen does not provide a secure protocol for managing virtual machines across a network, so the virt-manager tool is restricted to local management. The roadmap for development of Xen 3.0.4 calls for inclusion of an API enabling secure remote management, which will in turn allow libvirt & virt-manager to manage machines remotely.

  • Q. Are there are tools available for automating Xen network deployments (aka "provisioning" tools)?

A. Yes, see Cobbler

  • Q. Does Xen allow mixing of architectures (eg PPC guest on x86 host) ?

A. No. The Xen virtualization system only allows for native architectures, either via para-virtualization, or full virtualization. To run a guest virtual machine with a different architecture from the host would be a job for the QEMU emulator instead. Support for QEMU in libvirt is work-in-progress and will allow the same tools to manage both Xen & QEMU virtual machines

  • Q. How can I get involved in development of Xen in Fedora ?

A. The fedora-xen mailing list is the best place to discuss Xen in relation to Fedora

Presentation and Articles

Other Resources