From Fedora Project Wiki
No edit summary
(Initial update while preparing to propose for Fedora 15)
Line 1: Line 1:
= Feature Name =
= Xen Pvops Dom0 =


== Summary ==
== Summary ==


Dom0 support for [[Features/XenPvops | pvops-based]] {{package|kernel}} to support hosting of Xen guests which has been lacking since Fedora 8.  
[[Features/XenPvops | pvops-based]] {{package|kernel}} to serve as Dom0 for a Xen-based system. Currently Fedora releases greater than 8 contain the Xen hypervisor and tools, but not a Xen Dom0-capable kernel.
 
Currently Fedora releases (9, 10, 11, 12, 13, 14) contain Xen hypervisor and tools, but Xen dom0 (host) capable kernel is missing.  


== Owner ==
== Owner ==


* Name: None
* Name: W. Michael Petullo
* Email: mike@flyn.org
* People Involved: Michael Young, Eduardo Habkost, Mark McLoughlin, Stephen Tweedie, Chris Wright, Juan Quintela, Markus Armbruster, Glauber Costa, Daniel Berrange et al.


Previously involved: EduardoHabkost, MarkMcLoughlin, Stephen Tweedie, Chris Wright, Juan Quintela, Markus Armbruster, Glauber Costa, DanielBerrange, ...
== Current status ==


== Current status ==
* Targeted release: [[Releases/15 | Fedora 15 ]]
* Last updated: 2010-09-04
* Last updated: 2010-10-29
* Percentage of completion: 0%
* Percentage of completion: 0%
* Targeted release: when Xen pvops dom0 patches are merged in mainline Linux.
 
* Dom0 status: awaiting upstream kernel support
* Background:
: [http://wiki.xensource.com/xenwiki/XenParavirtOps  Upstream status and build instructions, XenParavirtOps on xenwiki],
: Upstream patches (git branches):
:* [http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=shortlog;h=xen/stable-2.6.32.x xen/stable-2.6.32.x] - Upstream long-term maintained stable branch with dom0 support.
* News: [[FWN/Issue169#Success_with_Experimental_Fedora_10_pv_ops_dom0|FWN #169]], [[FWN/Issue152#Status_of_dom0_Support_in_Upstream_Kernel|FWN #152]], [[FWN/Issue137#State_of_Xen_in_Upstream_Linux|FWN #137]]
* Status updates: See upstream [http://wiki.xensource.com/xenwiki/XenParavirtOps XenParavirtOps wiki page] for status updates and progress of Xen pv_ops dom0 kernel.
* Xen pv_ops dom0 kernel is the default kernel in Xen hypervisor 4.0 release.
* M A Young has built unofficial pv_ops dom0 kernel RPMs for testing, available from [http://fedorapeople.org/~myoung/dom0/ his directory], [http://repos.fedorapeople.org/repos/myoung/dom0-kernel/ or from new directory]. For feedback or questions about these kernels you should email to [https://admin.fedoraproject.org/mailman/listinfo/virt fedora-virt] or [https://admin.fedoraproject.org/mailman/listinfo/xen fedora-xen] mailinglists.
* Note that the latest pvops dom0 kernels require Xen hypervisor 4.0.1!! src.rpm for fedora available from: http://pasik.reaktio.net/fedora/xen-4.0.1-0.2.fc13.src.rpm or from: http://koji.fedoraproject.org/koji/taskinfo?taskID=2426589 .
* If you want to build your own custom dom0 kernel, see the upstream [http://wiki.xensource.com/xenwiki/XenDom0Kernels XenDom0Kernels wiki page]
== Detailed Description ==
== Detailed Description ==


See [[Features/XenPvops]]  for a rationale. This feature just continues the paravirt_ops Xen effort to bring it back to feature parity with Fedora 8 Xen.
Xen is a hypervisor-based type-1 virtualization solution. The Xen hypervisor requires a standard operating system to run 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 a 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.


== Scope ==
== Scope ==


Work items:
* Implement Dom0 support in upstream kernel (Xen / Jeremy Fitzhardinge)
 
* Modify 'grubby' to support GRUB syntax required by Xen (Bugzilla #640486)
* Implement Dom0 support in upstream kernel (JeremyFitzhardinge)
* Make 'new-kernel-pkg' aware of Xen, possibly by a flag in /etc/sysconfig/kernel
* Allow the hypervisor to boot bzImage kernels (see this [http://lists.xensource.com/archives/html/xen-devel/2009-01/msg00699.html patch] included since [http://koji.fedoraproject.org/koji/buildinfo?buildID=81339 xen-3.3.1-3.fc11])
* Ensure Fedora's virtualization tools support Xen
* Make 'new-kernel-pkg' aware of HYPERVISOR setting in /etc/sysconfig/xen
* Possibly implement support in Anaconda
* Wait for that upstream kernel version to be pulled into Fedora


== How To Test ==
== How To Test ==


* Install a Fedora host/Dom0 system
* Install a Fedora Dom0 kernel
* Turn on Xen Userspace by running 'chkconfig xend on'
* Turn on Xen Hypervisor by setting 'HYPERVISOR=/boot/xen-4.0.gz' in /etc/sysconfig/kernel and running some tool (TBD)
* Turn on Xen Hypervisor by setting 'HYPERVISOR=/boot/xen-4.0.gz' in /etc/sysconfig/kernel and running some tool (TBD)
* Turn on Xen Userspace by running 'chkconfig xend on'
* Reboot
* Reboot
* Observe presence of Xen via /sys/hypervisor/
* Observe presence of Xen via /sys/hypervisor/
* Run 'xm list' and observe Domain-0
* Run 'xm list' and observe Domain-0
* Use virt-install to deploy a Fedora 11/12/13 paravirt guest
* Use 'virt-install' to deploy a Fedora paravirtualized guest
* Use virt-install to deploy a Fedora 11/12/13 fullyvirt guest
* Use 'virt-install' to deploy a Fedora fully virtualized guest
* Use 'virsh' to save & restore a PV guest and HVM guest
* Use 'virsh' to save & restore guests
* Balloon down memory of a guest with virsh.
* Balloon down memory of a guest with 'virsh'


== User Experience ==
== User Experience ==


* Stock Fedora kernel supports Xen dom0
* Stock Fedora kernel supports Xen dom0
* The Xen kernel does not lag behind the Fedora kernel
* All features and hardware supported on baremetal also work on Xen Dom0
* All features and hardware supported on baremetal also works on Xen Dom0
* Can enable and disable the use of hypervisor via a /etc/sysconfig/kernel setting
* Can enable/disable use of HV via a /etc/sysconfig setting


== Dependencies ==
== Dependencies ==


* Update to 'new-kernel-pkg' to know how to install HV
* kernel
* grubby
* Fedora virtualization tools
* (possibly) anaconda


== Contingency Plan ==
== Contingency Plan ==


If Dom0 support is not ready, continue the status quo of only shipping with DomU support.
There is presently some uncertainty as to when the Xen drivers will be upstream. They may make the 2.6.37 series and therefore Fedora 15 or they 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 DomU) 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 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. There is no shame in a delayed feature -- this happened to systemd during the preparation for Fedora 14.


== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
 
See also:
 
* "Dom0 xen support in Fedora 15?" on fedora-xen mailing list, http://lists.fedoraproject.org/pipermail/xen/2010-November/005205.html
 
* Michael Young's third-party Dom0 kernels, http://fedorapeople.org/~myoung/dom0/
 
* Xen, http://www.xen.org/


== Release Notes ==
== Release Notes ==
Line 82: Line 85:


[[Category:Virtualization|XenPvopsDom0]]
[[Category:Virtualization|XenPvopsDom0]]
[[Category:F13_Virt_Features|XenPvopsDom0]]
[[Category:FeaturePageIncomplete]]
[[Category:FeaturePageIncomplete]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- 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-->
<!-- 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 -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Revision as of 00:21, 30 November 2010

Xen Pvops Dom0

Summary

pvops-based Package-x-generic-16.pngkernel to serve as Dom0 for a Xen-based system. Currently Fedora releases greater than 8 contain the Xen hypervisor and tools, but not a Xen Dom0-capable kernel.

Owner

  • Name: W. Michael Petullo
  • Email: mike@flyn.org
  • People Involved: Michael Young, Eduardo Habkost, Mark McLoughlin, Stephen Tweedie, Chris Wright, Juan Quintela, Markus Armbruster, Glauber Costa, Daniel Berrange et al.

Current status

  • Targeted release: Fedora 15
  • Last updated: 2010-10-29
  • Percentage of completion: 0%

Detailed Description

Xen is a hypervisor-based type-1 virtualization solution. The Xen hypervisor requires a standard operating system to run 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 a 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.

Scope

  • Implement Dom0 support in upstream kernel (Xen / Jeremy Fitzhardinge)
  • Modify 'grubby' to support GRUB syntax required by Xen (Bugzilla #640486)
  • Make 'new-kernel-pkg' aware of Xen, possibly by a flag in /etc/sysconfig/kernel
  • Ensure Fedora's virtualization tools support Xen
  • Possibly implement support in Anaconda

How To Test

  • Install a Fedora Dom0 kernel
  • Turn on Xen Userspace by running 'chkconfig xend on'
  • Turn on Xen Hypervisor by setting 'HYPERVISOR=/boot/xen-4.0.gz' in /etc/sysconfig/kernel and running some tool (TBD)
  • Reboot
  • Observe presence of Xen via /sys/hypervisor/
  • Run 'xm list' and observe Domain-0
  • Use 'virt-install' to deploy a Fedora paravirtualized guest
  • Use 'virt-install' to deploy a Fedora fully virtualized guest
  • Use 'virsh' to save & restore guests
  • Balloon down memory of a guest with 'virsh'

User Experience

  • Stock Fedora kernel supports Xen dom0
  • All features and hardware supported on baremetal also work on Xen Dom0
  • Can enable and disable the use of hypervisor via a /etc/sysconfig/kernel setting

Dependencies

  • kernel
  • grubby
  • Fedora virtualization tools
  • (possibly) anaconda

Contingency Plan

There is presently some uncertainty as to when the Xen drivers will be upstream. They may make the 2.6.37 series and therefore Fedora 15 or they 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 DomU) 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 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. There is no shame in a delayed feature -- this happened to systemd during the preparation for Fedora 14.

Documentation

See also:

Release Notes

Comments and Discussion