From Fedora Project Wiki

m (1 revision(s))
 
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
= Xen =
[http://www.xenproject.org/ 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.


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 [[Features/XenPvopsDom0|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.
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.
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.


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 [https://www.redhat.com/mailman/listinfo/fedora-xen fedora-xen] . 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:'''
 
* The Xen Project wiki has a [http://wiki.xen.org/wiki/Category:Fedora Fedora Category], with all the links to all the information you need to setup a Fedora host or guest. In particular:
** [http://wiki.xen.org/wiki/Fedora_Host_Installation Fedora Host Installation]
** [http://wiki.xen.org/wiki/DomU_Install_with_Virt-Install Installing Guests with virt-install]
** [http://wiki.xen.org/wiki/DomU_Install_with_Virt-Manager Installing Guests with virt-manager]
* Notice also that:
** Fedora 17 ships [http://wiki.xen.org/wiki/Xen_4.1_Release_Notes Xen 4.1]
** Fedora 18 and 19 ships [http://wiki.xen.org/wiki/Xen_4.2_Feature_List Xen 4.2]
 
'''For Fedora 15 to Fedora 9:'''


== Xen Quick Start Guides ==
*  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 http://myoung.fedorapeople.org/dom0)


Depending on which Fedora release you are using there are different guides for getting started with Xen. Choose one of the following guides as appropriate:
'''For Fedora 8 and older:'''


* [[Docs/Fedora8VirtQuickStart|  Fedora 8]]  
* [[Docs/Fedora8VirtQuickStart|  Fedora 8]]  
Line 26: Line 41:
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.
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 ?
'' '''Q.''' What APIs are available for developing Xen management applications ?''<br/>
A. The [http://libvirt.org 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 [http://search.cpan.org CPAN]  and [http://et.redhat.com/~rjones/ocaml-libvirt/ OCaml bindings] .
'''A.''' The [http://libvirt.org libvirt]  library provides an API which is guarenteed to be stable across the different versions of Xen in previous & future Fedora releases. libvirt provides a C library and Python bindings. There are also optional Perl bindings on [http://search.cpan.org CPAN]  and [http://et.redhat.com/~rjones/ocaml-libvirt/ OCaml bindings].  
* Q. Is there any GUI tool for managing local Xen virtual machines ?
 
A. The [http://virt-manager.et.redhat.com 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 Xen virtual machines ?''<br/>
* Q. Is there any GUI tool for managing remote Xen virtual machines ?
'''A.''' The [http://virt-manager.et.redhat.com 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.
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)?
'' '''Q.''' Are there are tools available for automating Xen network deployments (aka "provisioning" tools)?''<br/>
A. Yes, see [http://cobbler.et.redhat.com Cobbler]  
'''A.''' Yes, see [http://cobbler.et.redhat.com Cobbler]. To a certain extent, even xen-tools can help on that, see [http://www.xen-tools.org/ xen-tools], and see [http://blog.xen.org/index.php/2013/01/24/using-xen-tools-on-fedora/ here] on how to use that on Fedora.
* 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.''' What are the architectures Xen is available on?''<br/>
* Q. How can I get involved in development of Xen in Fedora ?
'''A.''' Xen is available on the x86 and some variants (v7 and v8) of the ARM architecture.
A. The [https://www.redhat.com/mailman/listinfo/fedora-xen fedora-xen] mailing list is the best place to discuss Xen in relation to Fedora


'' '''Q.''' Does Xen allow mixing of architectures (eg PPC guest on x86 host)?''<br/>
'''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.


== Presentation and Articles ==
'' '''Q.''' How can I have more information or get involved in development of Xen in Fedora ?''<br/>
'''A.''' The dedicated mailing list for users of Xen on Fedora is [https://lists.fedoraproject.org/mailman/listinfo/xen xen@lists.fedoraproject.org]. For general questions about Xen refer to [ xen-users@lists.xen.org] (no subscription required). For non-Xen discussions, the [[Communicate]]  page details many other ways of communicating with Fedora users & developers.
 
== Old Presentation and Articles ==


* [http://http://cobbler.et.redhat.com/docs/cobbler_summit.odp cobbler]  : a presentation on automated virtual deployment at Red Hat Summit 2007 (San Diego) -- [http://cobbler.et.redhat.com/documentation.php (further info)]  -- MichaelDeHaan
* [http://http://cobbler.et.redhat.com/docs/cobbler_summit.odp cobbler]  : a presentation on automated virtual deployment at Red Hat Summit 2007 (San Diego) -- [http://cobbler.et.redhat.com/documentation.php (further info)]  -- MichaelDeHaan
Line 50: Line 69:


== Other Resources ==
== Other Resources ==
* [http://et.redhat.com/page/Main_Page Red Hat Emerging Technologies]
* [[Tools/XenoprofGuide|  Xenoprof Guide]]
* HypervisorDevelopment
 
* [[Tools/XenoprofGuide|  Xenoprof Guide]]  
[[Category:Virtualization archive]]
----
[[Category:Virtualization]]

Latest revision as of 08:55, 4 July 2013

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.

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 http://myoung.fedorapeople.org/dom0)

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 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 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. Are there are tools available for automating Xen network deployments (aka "provisioning" tools)?
A. Yes, see Cobbler. To a certain extent, even xen-tools can help on that, see xen-tools, and see here on how to use that on Fedora.

Q. What are the architectures Xen is available on?
A. Xen is available on the x86 and some variants (v7 and v8) of the ARM architecture.

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.

Q. How can I have more information or get involved in development of Xen in Fedora ?
A. The dedicated mailing list for users of Xen on Fedora is xen@lists.fedoraproject.org. For general questions about Xen refer to [ xen-users@lists.xen.org] (no subscription required). For non-Xen discussions, the Communicate page details many other ways of communicating with Fedora users & developers.

Old Presentation and Articles

Other Resources