Most modern Linux distributions support Xen paravirtualization directly, but have different installation mechanisms and some kernel limitations.
4.8.1. Debian Sarge 3.1 and Etch 4.0
XenServer includes a custom Xen kernel for Debian guests installed via the built-in template. This kernel is a cut-down version of the dom0 kernel used in XenServer, and as such is the most heavily tested and reliable guest kernel available.
After installation, the time-zone in a Debian VM defaults to UTC (see Section 4.6, “Time handling in Linux VMs”). It can be changed to your local value by using the tzconfig command.
To prepare a Debian guest for cloning (see Section 4.5.3, “MAC address”), Ethernet name persistence must be disabled. For Debian Sarge VMs, name persistence is controlled through /etc/udev/persistent-net-generator.rules in the udev package. It can be disabled by removing the following symlink to that file by:
rm -f /etc/udev/rules.d/z45_persistent-net-generator.rules
4.8.2. Red Hat Enterprise Linux 3
XenServer includes a custom port of the RHEL3.8 kernel with native Xen paravirtualized guest support. This kernel is installed during the P2V process for RHEL3.6-3.8 guests. Since the kernel is based on Linux 2.4, the following limitations apply:
Only 3 virtual network interfaces and 3 virtual block devices are supported.
VMs with multiple VCPUs cannot be suspended. If you wish to suspend these guests, you must reduce the number of VCPUs to 1 while the guest is halted.
4.8.3. Red Hat Enterprise Linux 4
XenServer includes a custom port of the RHEL 4.5 kernel with additional bug fixes and expanded Xen support. This kernel is used in the vendor installation templates of RHEL 4.1 and 4.4, but not in the RHEL 4.5 template (since RHEL4.5 is the first release with native Xen support).
The issues below have been reported upstream to Red Hat and are already fixed in our kernel (which can be installed by using the /mnt/Linux/install.sh script in the built-in xs-tools.iso CD image):
Only 3 virtual network interfaces and 3 virtual block devices are supported. The XenServer-supplied kernel supports up to 7.
Occasional kernel crash on boot in queue_work() (Red Hat Bugzilla 246586)
Disks sometimes do not attach correctly on boot (Red Hat Bugzilla 247265)
Live migration can occasionally crash the kernel under low memory conditions (Red Hat Bugzilla 249867)
Guest kernel can occasionally hang due to other xenstore activity (Red Hat Bugzilla 250381)
To prepare a RHEL4 guest for cloning (see Section 4.5.3, “MAC address”), edit /etc/sysconfig/network-scripts/ifcfg-eth0 before converting the VM into a template and remove the HWADDR line. Note that Red Hat recommend the use of Kickstart to perform automated installations, instead of directly cloning disk images (see Red Hat KB Article 2415).
4.8.4. Red Hat Enterprise Linux 5
XenServer uses the standard Red Hat kernel supplied with RHEL5 as the guest kernel. Any bugs found in this kernel are reported upstream to Red Hat, and are listed below:
Only 3 virtual network interfaces and 3 virtual block devices are supported.
Random segmentation faults on loading ELF binaries (Red Hat Bugzilla 247261)
Disks sometimes do not attach correctly on boot (Red Hat Bugzilla 247265)
Soft lockup messages after suspend/resume or live migration (Red Hat Bugzilla 250994). These messages are harmless, but there may be a period of inactivity in the guest during live migration as a result of the lockup.
Network blackout during live relocation for up to a minute (Red Hat Bugzilla 251527). After migration has completed, the kernel sends a gratuitous ARP to cause ARP caches to get refreshed and minimise network downtime. However, carrier detect is delayed in the kernel and so there is a network blackout until the ARP caches expire or the guest generates an ARP for some other reason.
When you install the XenServer xe-guest-utilities RPM, it adds an entry to the yum configuration, allowing you to pick up kernel updates provided by XenSource as they become available.
Please refer to Section 4.8.3, “Red Hat Enterprise Linux 4” for the list of CentOS 4 release notes.
Unlike RHEL4, CentOS includes a third-party updates mechanism known as yum. The xe-guest-utilities RPM will install a XenServer entry for yum, allowing you to pick up kernel updates provided by XenSource via the standard update mechanism as they become available.
4.8.7. SUSE Enterprise Linux 9
XenServer includes a custom port of the SLES9 SP3 kernel with additional bug fixes and expanded support. This kernel is automatically installed during the P2V process for SLES9 guests.
To prepare a SUSE Linux guest for cloning (see Section 4.5.3, “MAC address”), edit /etc/sysconfig/network/config and edit the line:
FORCE_PERSISTENT_NAMES=yes
to
FORCE_PERSISTENT_NAMES=no
When you P2V a SLES 9 server, the networking configuration files that were present on the physical server will remain on the VM. You may wish to move these aside, or update them accordingly, when you add virtual interfaces to the VM.
4.8.8. SUSE Enterprise Linux 10 SP1
XenServer uses the standard Novell kernel supplied with SLES10 SP1 as the guest kernel. Any bugs found in this kernel are reported upstream to Novell and listed below:
When installing SLES10 VMs, you may experience some display corruption in the text-mode install. This is more pronounced when using SLES10, and is partially fixed in SLES10 Service Pack 1. In either case, pressing “Control-L” after the corruption happens will force a screen redraw, and improve the installation experience.