In order to implement this feature, it is necessary to get Xen Dom0 support upstream and in Fedora. In order to support development until this happens, Michael Young has been building third-party [http://fedorapeople.org/~myoung/dom0/ Dom0 kernels]. He creates a diff between upstream and the xen/stable-2.6.32.x branch and uses it to patch the Fedora 12 kernel package. The reason that he based his work on the Fedora 12 kernel is that newer Fedora versions ship newer kernels, while Xen had continued to target 2.6.32. This has changed recently, as Linus began accepting Dom0 patches from Xen and applying them to the 2.6.37 tree. Presently, the core Dom0 support has been accepted upstream. What remains is the backend driver support that Dom0 provides DomU guests. So, it should be possible to boot an upstream kernel in Dom0, but the resulting system will not be able to host DomU guests.

+

In order to implement this feature, it is necessary to get full Xen Dom0 support upstream and in Fedora. The core Dom0 support has been accepted upstream and was released in Linux 2.6.37. Linux 2.6.39 brought support for the Xen network backend driver. Linux 3.0 brought the block backend driver. Linux 3.1 will bring the pci backend driver (for pci passthru).

* All features and hardware supported on bare metal also work on Xen Dom0

* All features and hardware supported on bare metal also work on Xen Dom0

−

* Can enable and disable the use of the Xen hypervisor via a /etc/sysconfig/kernel setting

+

* Can enable and disable the use of the Xen hypervisor via an /etc/sysconfig/kernel setting

* Can manage Xen guests using Fedora virtualization tools

* Can manage Xen guests using Fedora virtualization tools

Line 71:

Line 72:

== Contingency Plan ==

== Contingency Plan ==

−

There is presently some uncertainty as to when the backend driver support that the Dom0 guest provides DomU guests will be upstream. This may make the 2.6.37 series and therefore Fedora 15 or it may not. Regardless, we will have to touch a lot of subsystems, so it makes sense to start early.

+

There is presently some uncertainty as to when the backend driver support that the Dom0 guest provides DomU guests will be upstream. This may make the upstream kernel that is chosen by Fedora 16 or it may not. Regardless, we will have to touch a lot of subsystems, so it makes sense to start early.

−

If the Xen drivers don't make Fedora 15, then little is lost. We can continue to test the Dom0 kernel (without support for DomU guests) and work on the supporting infrastructure. It would be useful for our effort to have a working Dom0, grubby, etc in Fedora 15 even if other features (most notably DomU guests) do not make it. In the worst case, we may delay the announcement of the Dom0 feature to Fedora 16, but can include all progress completed in Fedora 15.

+

Until all of the requisite Xen components are upstream, we can continue to develop this feature using third party kernels. These third party kernels will be configured to be as close as possible to the forthcoming upstream kernel. In addition, Linux 2.6.39 does contain many of the backend drivers. It may be used with configurations that do not require the block backend driver.

+

+

If all of the Xen backend drivers don't make Fedora 16, then little is lost. We can continue to test the Dom0 kernel (with a subset of its eventual features) and work on the supporting infrastructure. It would be useful for our effort to have a working Dom0, grubby, etc in Fedora 16 even if other features (most notably the block backend driver) do not make it. In the worst case, we may delay the announcement of the Dom0 feature to Fedora 17, but can include all progress completed in Fedora 16.

* "Dom0 xen support in Fedora 15?" on fedora-xen mailing list, http://lists.fedoraproject.org/pipermail/xen/2010-November/005205.html (note the latest kernel updates for Fedora 15 can be used as a dom0)

The Fedora Linux kernel may now provide the basis for a Xen-based virtualization solution. Xen is a hypervisor-based type-1 virtualization platform. The kernel now has the ability to boot in Xen's Dom0, a privileged domain that allows Fedora to provide driver and guest management support to Xen and other non-privileged, guest operating systems.

<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->

<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->

<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->

<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->

Line 146:

Line 139:

[[Category:Virtualization|XenPvopsDom0]]

[[Category:Virtualization|XenPvopsDom0]]

−

[[Category:FeaturePageIncomplete]]

+

[[Category:FeatureAcceptedF16]]

−

+

<!-- See https://fedorahosted.org/fesco/ticket/523 -->

−

<!-- When your feature page is completed and ready for review -->

+

−

<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->

+

−

<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->

+

−

<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Current status

In order to implement this feature, it is necessary to get full Xen Dom0 support upstream and in Fedora. The core Dom0 support has been accepted upstream and was released in Linux 2.6.37. Linux 2.6.39 brought support for the Xen network backend driver. Linux 3.0 brought the block backend driver. Linux 3.1 will bring the pci backend driver (for pci passthru).

Detailed Description

Xen is a hypervisor-based type-1 virtualization solution. The Xen hypervisor requires a standard operating system that runs in a privileged domain, Dom0. The Dom0 operating system provides driver and guest management support to Xen and other guest operating systems running in the DomU domain. Fedora 8 provided a kernel that could serve as a Dom0 guest. However, newer Fedora releases dropped support for Dom0 (although they can run in DomU). The Xen project is presently pushing the features required for a Dom0 Linux kernel upstream. Once these features are available in the mainline kernel, it follows that Fedora could support Xen Dom0.

Benefit to Fedora

Fedora will benefit from a Xen Dom0-capable kernel. Xen has proven to be a competitive virtualization solution in real-world installations. Xen is different enough from KVM that the two technologies could complement each other within the Fedora Project. There are ongoing benchmarks that intend to define the relative performance of the two technologies.

Dependencies

Contingency Plan

There is presently some uncertainty as to when the backend driver support that the Dom0 guest provides DomU guests will be upstream. This may make the upstream kernel that is chosen by Fedora 16 or it may not. Regardless, we will have to touch a lot of subsystems, so it makes sense to start early.

Until all of the requisite Xen components are upstream, we can continue to develop this feature using third party kernels. These third party kernels will be configured to be as close as possible to the forthcoming upstream kernel. In addition, Linux 2.6.39 does contain many of the backend drivers. It may be used with configurations that do not require the block backend driver.

If all of the Xen backend drivers don't make Fedora 16, then little is lost. We can continue to test the Dom0 kernel (with a subset of its eventual features) and work on the supporting infrastructure. It would be useful for our effort to have a working Dom0, grubby, etc in Fedora 16 even if other features (most notably the block backend driver) do not make it. In the worst case, we may delay the announcement of the Dom0 feature to Fedora 17, but can include all progress completed in Fedora 16.

Release Notes

The Fedora Linux kernel may now provide the basis for a Xen-based virtualization solution. Xen is a hypervisor-based type-1 virtualization platform. The kernel now has the ability to boot in Xen's Dom0, a privileged domain that allows Fedora to provide driver and guest management support to Xen and other non-privileged, guest operating systems.