Difference between revisions of "DomU Support for Xen"

From Xen
(DomU support in Linux distributions: add OpenEmbedded, sort table alphabetically)
 
(17 intermediate revisions by 6 users not shown)
Line 7: Line 7:
 
__NOTOC__
 
__NOTOC__
 
= DomU support in Linux distributions =
 
= DomU support in Linux distributions =
This page describes the current status of support in Linux distributions for running as Xen guests; if you are looking for dom0 support go [http://wiki.xensource.com/xenwiki/XenDom0Kernels here].
+
This page describes the current status of support in Linux distributions for running as guest VMs; if you are looking for dom0 support go [[Dom0_Kernels_for_Xen|here]].
   
 
You can also find instruction on how to build a mainline Linux kernel for DomU [[Mainline Linux Kernel Configs|here]].
 
You can also find instruction on how to build a mainline Linux kernel for DomU [[Mainline Linux Kernel Configs|here]].
Line 13: Line 13:
 
PV is the regular domU support that has been present in most Linux distributions for years and it is required to run on Amazon EC2 for example.
 
PV is the regular domU support that has been present in most Linux distributions for years and it is required to run on Amazon EC2 for example.
   
PV on HVM is a new type of Xen guest support that exploits hardware nested paging while enabling PV interfaces for IO. Depending on the workload PV on HVM guests might be faster or slower than regular PV guests. See [[XenLinuxPVonHVMdrivers]] for more information.
+
PV on HVM is a new type of Xen Project Hypervisor guest support that exploits hardware nested paging while enabling PV interfaces for IO. Depending on the workload PV on HVM guests might be faster or slower than regular PV guests. See [[Xen_Linux_PV_on_HVM_drivers]] for more information.
   
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
 
|< >|'''Distribution'''
 
|< >|'''Distribution'''
| '''run as PV guest'''
+
| '''run as PV guest'''
  +
| '''support for PVHVM'''
 
|-
 
|-
 
| Alpine Linux 2.3.x
 
| Alpine Linux 2.3.x
 
| yes
 
| yes
  +
| ???
 
|-
 
|-
 
| Alpine Linux 2.4.x
 
| Alpine Linux 2.4.x
 
| yes
 
| yes
  +
| ???
  +
|-
  +
| Arch Linux (x86-64 only [5])
  +
| yes
  +
| yes
 
|-
 
|-
 
| CentOS 5
 
| CentOS 5
 
| yes
 
| yes
  +
| ???
 
|-
 
|-
 
| CentOS 6
 
| CentOS 6
 
| yes
 
| yes
  +
| ???
 
|-
 
|-
| Debian Wheezy
+
| Debian 5.0 (Lenny)
 
| yes
 
| yes
  +
| ???
 
|-
 
|-
| Debian Lenny
+
| Debian 6.0 (Squeeze)
 
| yes
 
| yes
  +
| ???
 
|-
 
|-
| Debian Squeeze
+
| Debian 7 (Wheezy)
 
| yes
 
| yes
  +
| yes
|-
 
| Ubuntu 10.04
 
| yes[1]
 
|-
 
| Ubuntu 11.04
 
| yes[1]
 
|-
 
| Ubuntu 12.04
 
| yes[1]
 
 
|-
 
|-
 
| Fedora 14
 
| Fedora 14
 
| yes
 
| yes
  +
| ???
 
|-
 
|-
 
| Fedora 16
 
| Fedora 16
 
| yes
 
| yes
  +
| ???
  +
|-
  +
| OpenEmbedded 1.3+
  +
| yes
  +
| ???
  +
|-
  +
| OpenSUSE 11.4
  +
| yes
  +
| ???
 
|-
 
|-
 
| Oracle Linux 5
 
| Oracle Linux 5
 
| yes[2]
 
| yes[2]
  +
| ???
 
|-
 
|-
 
| Oracle Linux 6
 
| Oracle Linux 6
 
| yes[2]
 
| yes[2]
  +
| ???
 
|-
 
|-
 
| RHEL 5
 
| RHEL 5
 
| yes [3]
 
| yes [3]
  +
| ???
 
|-
 
|-
 
| RHEL 6
 
| RHEL 6
 
| yes
 
| yes
  +
| ???
 
|-
 
|-
 
| SLES 10
 
| SLES 10
 
| yes
 
| yes
  +
| ???
 
|-
 
|-
 
| SLES 11
 
| SLES 11
 
| yes
 
| yes
  +
| ???
 
|-
 
|-
| OpenSUSE 11.4
+
| Ubuntu 10.04
| yes
+
| yes[1]
  +
| ???
  +
|-
  +
| Ubuntu 11.04
  +
| yes[1]
  +
| ???
  +
|-
  +
| Ubuntu 12.04
  +
| yes[1]
  +
| ???
 
|}
 
|}
   
Line 85: Line 113:
 
[[Category:RHEL]]
 
[[Category:RHEL]]
 
[[Category:OpenSuSE]]
 
[[Category:OpenSuSE]]
  +
[[Category:OpenEmbedded]]
   
 
[1] EC2 kernel only
 
[1] EC2 kernel only
 
<br>[2] Supported using the Red Hat-compatible Kernel as well as the Oracle Unbreakable Enterprise Kernel
 
<br>[2] Supported using the Red Hat-compatible Kernel as well as the Oracle Unbreakable Enterprise Kernel
 
<br>[3] save/restore is known to have [https://bugzilla.redhat.com/show_bug.cgi?id=669252 bugs]
 
<br>[3] save/restore is known to have [https://bugzilla.redhat.com/show_bug.cgi?id=669252 bugs]
<br>[4] see [[XenLinuxPVonHVMdrivers|XenLinuxPVonHVMdrivers]] for resources about using optimized (paravirtualized) PV-on-HVM drivers
+
<br>[4] see [[Xen_Linux_PV_on_HVM_drivers]] for resources about using optimized (paravirtualized) PV-on-HVM drivers
  +
<br>[5] You would need to recompile the kernel for Arch Linux i686.
   
 
= DomU support in BSDs and other Unix systems =
 
= DomU support in BSDs and other Unix systems =
  +
{{TODO|check FreeBSD & NetBSD versions against PVHVM and PVH}}
 
This list is currently incomplete. We are in the process of verifying support for Unixes.
 
This list is currently incomplete. We are in the process of verifying support for Unixes.
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
 
|< >|'''Distribution'''
 
|< >|'''Distribution'''
 
| '''run as PV guest'''
 
| '''run as PV guest'''
  +
| '''PVHVM'''
 
|-
 
|-
| FreeBSD 8.2
+
| FreeBSD >=10
| yes[3]
+
| No[1]
  +
| Yes
 
|-
 
|-
| NetBSD 5.1
+
| NetBSD >=3
| yes[4]
+
| Yes[2]
  +
| No
  +
|-
  +
| OpenBSD 5.9
  +
| no[6]
  +
| yes[3]
 
|-
 
|-
| [[OpenIndiana]][5]
+
| [[OpenIndiana]][4]
| no[5]
+
| no[4]
  +
| no
 
|-
 
|-
 
| Solaris 11
 
| Solaris 11
| yes[6]
+
| yes[5]
  +
| no
 
|}
 
|}
   
 
[[Category:FreeBSD]]
 
[[Category:FreeBSD]]
 
[[Category:NetBSD]]
 
[[Category:NetBSD]]
  +
[[Category:OpenBSD]]
 
[[Category:OpenIndiana]]
 
[[Category:OpenIndiana]]
 
[[Category:Solaris]]
 
[[Category:Solaris]]
   
[3] See [http://wiki.freebsd.org/FreeBSD/Xen FreeBSD Xen page for more information] <br>
+
[1] See [https://svnweb.freebsd.org/base?view=revision&revision=282274 for more information] <br>
[4] See [http://www.netbsd.org/ports/xen/howto.html NetBSD Xen HowTo for more information] <br>
+
[2] See [http://www.netbsd.org/ports/xen/howto.html NetBSD Xen HowTo for more information] <br>
  +
[3] PV drivers are selected automatically when OpenBSD recognizes that it's executing under Xen so no user configuration is required. <br>
[5] There has not yet been a stable release of [http://wiki.openindiana.org OpenIndiana] and there is some unclarity on whether it will work as PV guest <br>
 
  +
[4] On their offical web site, you can read: 'Xen-based virtualization was at some time part of OpenSolaris project, but became outdated and was ultimately dropped due to lack of resources and invested interest.'<br>
[6] For SPARC systems as well as x86 systems (Oracle Solaris 11 OS already has the paravirtualized drivers installed as part of the OS).
 
  +
[5] For SPARC systems as well as x86 systems (Oracle Solaris 11 OS already has the paravirtualized drivers installed as part of the OS).<br>
  +
[6] As the main Xen dev from OpenBSD (Mike Belopuhov) has it: 'You need to use an HVM loader, since we're not supporting pure PV mode.In Linux/xl parlance it requires builder = "hvm" option in the Xen VM config. I think that if you're trying to boot the kernel directly, you're instructing Xen to run VM in a PV mode, (which is impossible).'
   
 
= DomU support for Windows =
 
= DomU support for Windows =
Windows falls into the category of an unmodified operating system (in other words an operating system that has not been altered specifically to run on the Xen hypervisor). Thus, paravirtualization is not an option. The best way, therefore, to virtualize Windows is to use as a HVM) guest. The ''Windows 7/XP/Vista/Server 2008'' section of the [[:Category:HowTo]] document points to instructions explaining how to do this.
+
Windows falls into the category of an unmodified operating system (in other words an operating system that has not been altered specifically to run on the Xen Project Hypervisor). Thus, paravirtualization is not an option. The best way, therefore, to virtualize Windows is to use as a HVM) guest. The ''Windows 7/XP/Vista/Server 2008'' section of the [[:Category:HowTo]] document points to instructions explaining how to do this.
   
However, James Harper maintains a set of PV drivers that allow Windows to make use of the network and block backend drivers in Dom0. This gives Windows on Xen a substantial performance boost. The table below shows the drivers available.
+
However, James Harper maintains a set of PV drivers that allow Windows to make use of the network and block backend drivers in Dom0. This gives a guest Windows VM a substantial performance boost. The table below shows the drivers available.
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
 
|< >|'''Distribution'''
 
|< >|'''Distribution'''
Line 147: Line 190:
 
|}
 
|}
   
[6] GPLPV drivers can be downloaded from [http://meadowcourt.org/downloads meadowcourt.org/downloads]; further information can be found on [[XenWindowsGplPv]] <br>[7] Signed GPLPV drivers are available for download from [http://wiki.univention.de/index.php?title=Installing-signed-GPLPV-drivers Univention]
+
[1] GPLPV drivers can be downloaded from [http://meadowcourt.org/downloads meadowcourt.org/downloads]; further information can be found on [[XenWindowsGplPv]] <br>
  +
[2] Signed GPLPV drivers are available for download from [http://wiki.univention.de/index.php?title=Installing-signed-GPLPV-drivers Univention] <br>
  +
[3] Xen Project Windows PV drivers available from [http://www.xenproject.org/developers/teams/windows-pv-drivers.html]
   
 
[[Category:Beginners|D]]
 
[[Category:Beginners|D]]

Latest revision as of 04:06, 18 September 2017


DomU support in Linux distributions

This page describes the current status of support in Linux distributions for running as guest VMs; if you are looking for dom0 support go here.

You can also find instruction on how to build a mainline Linux kernel for DomU here.

PV is the regular domU support that has been present in most Linux distributions for years and it is required to run on Amazon EC2 for example.

PV on HVM is a new type of Xen Project Hypervisor guest support that exploits hardware nested paging while enabling PV interfaces for IO. Depending on the workload PV on HVM guests might be faster or slower than regular PV guests. See Xen_Linux_PV_on_HVM_drivers for more information.

Distribution run as PV guest support for PVHVM
Alpine Linux 2.3.x yes ???
Alpine Linux 2.4.x yes ???
Arch Linux (x86-64 only [5]) yes yes
CentOS 5 yes ???
CentOS 6 yes ???
Debian 5.0 (Lenny) yes ???
Debian 6.0 (Squeeze) yes ???
Debian 7 (Wheezy) yes yes
Fedora 14 yes ???
Fedora 16 yes ???
OpenEmbedded 1.3+ yes ???
OpenSUSE 11.4 yes ???
Oracle Linux 5 yes[2] ???
Oracle Linux 6 yes[2] ???
RHEL 5 yes [3] ???
RHEL 6 yes ???
SLES 10 yes ???
SLES 11 yes ???
Ubuntu 10.04 yes[1] ???
Ubuntu 11.04 yes[1] ???
Ubuntu 12.04 yes[1] ???

[1] EC2 kernel only
[2] Supported using the Red Hat-compatible Kernel as well as the Oracle Unbreakable Enterprise Kernel
[3] save/restore is known to have bugs
[4] see Xen_Linux_PV_on_HVM_drivers for resources about using optimized (paravirtualized) PV-on-HVM drivers
[5] You would need to recompile the kernel for Arch Linux i686.

DomU support in BSDs and other Unix systems

Icon todo.png To Do:

check FreeBSD & NetBSD versions against PVHVM and PVH

This list is currently incomplete. We are in the process of verifying support for Unixes.

Distribution run as PV guest PVHVM
FreeBSD >=10 No[1] Yes
NetBSD >=3 Yes[2] No
OpenBSD 5.9 no[6] yes[3]
OpenIndiana[4] no[4] no
Solaris 11 yes[5] no

[1] See for more information
[2] See NetBSD Xen HowTo for more information
[3] PV drivers are selected automatically when OpenBSD recognizes that it's executing under Xen so no user configuration is required.
[4] On their offical web site, you can read: 'Xen-based virtualization was at some time part of OpenSolaris project, but became outdated and was ultimately dropped due to lack of resources and invested interest.'
[5] For SPARC systems as well as x86 systems (Oracle Solaris 11 OS already has the paravirtualized drivers installed as part of the OS).
[6] As the main Xen dev from OpenBSD (Mike Belopuhov) has it: 'You need to use an HVM loader, since we're not supporting pure PV mode.In Linux/xl parlance it requires builder = "hvm" option in the Xen VM config. I think that if you're trying to boot the kernel directly, you're instructing Xen to run VM in a PV mode, (which is impossible).'

DomU support for Windows

Windows falls into the category of an unmodified operating system (in other words an operating system that has not been altered specifically to run on the Xen Project Hypervisor). Thus, paravirtualization is not an option. The best way, therefore, to virtualize Windows is to use as a HVM) guest. The Windows 7/XP/Vista/Server 2008 section of the Category:HowTo document points to instructions explaining how to do this.

However, James Harper maintains a set of PV drivers that allow Windows to make use of the network and block backend drivers in Dom0. This gives a guest Windows VM a substantial performance boost. The table below shows the drivers available.

Distribution run as PV guest
Windows Vista no
Windows XP no
Windows 2008 no
Windows 2003 no
Windows 2000 no
Windows 7 no

[1] GPLPV drivers can be downloaded from meadowcourt.org/downloads; further information can be found on XenWindowsGplPv
[2] Signed GPLPV drivers are available for download from Univention
[3] Xen Project Windows PV drivers available from [1]