XenServer Virtual Machine Installation Guide

Release 5.5.0 Update 2

Table of Contents

1. About this document
1.1. Overview
1.2. How this Guide relates to other documentation
2. Creating VMs
2.1. Overview
2.2. Virtual memory and disk size limits
2.3. XenServer product family virtual device support
2.4. Physical to Virtual Conversion (P2V)
2.4.1. General Guidelines for Virtualizing Physical Servers
2.5. Cloning an existing VM
2.6. Importing an exported VM
2.6.1. Exporting a VM
2.6.2. Importing a VM
2.6.3. VM Block Devices
3. Installing Windows VMs
3.1. Making the ISO available to XenServer hosts
3.1.1. Copying ISOs to local storage
3.2. Windows paravirtualized drivers
3.2.1. Windows Volume Shadow Copy Service (VSS) provider
3.3. Remote Desktop
3.4. Preparing to clone a Windows VM
3.5. Time Handling in Windows VMs
3.6. Release Notes
3.6.1. General Windows Issues
3.6.2. Windows 2003 Server
3.6.3. Windows 2008 Server
3.6.4. Windows XP SP3
3.6.5. Windows 2000 Server
3.6.6. Windows Vista
4. Installing Linux VMs
4.1. Installing Debian Etch
4.2. Installing Debian Lenny
4.2.1. Apt repositories and Lenny
4.3. Installing Red Hat, CentOS, and Oracle Linux from vendor media
4.4. Installing Linux from a network installation server to a VM
4.5. Physical-to-Virtual Installation of a Linux VM
4.5.1. Guest Installation Network
4.6. Installing the Linux guest agent
4.7. Preparing to clone a Linux VM
4.7.1. Machine Name
4.7.2. IP address
4.7.3. MAC address
4.8. Time handling in Linux VMs
4.9. Configuring VNC for VMs
4.9.1. Enabling a graphical console on Red Hat, CentOS, or Oracle Linux VMs
4.9.2. Setting up SLES-based VMs for VNC
4.9.3. Setting up Debian Etch VMs for VNC
4.9.4. Checking runlevels
4.10. Release Notes
4.10.1. Debian Lenny 5.0
4.10.2. Debian Etch 4.0
4.10.3. Red Hat Enterprise Linux 3
4.10.4. Red Hat Enterprise Linux 4
4.10.5. Red Hat Enterprise Linux 5
4.10.6. CentOS 4
4.10.7. CentOS 5
4.10.8. Oracle Enterprise Linux 5
4.10.9. SUSE Enterprise Linux 9
4.10.10. SUSE Enterprise Linux 10 SP1
4.10.11. SUSE Enterprise Linux 11
5. Updating VMs
5.1. Updating Windows operating systems
5.2. Updating PV drivers for Windows VMs
5.3. Updating Linux kernels and guest utilities
A. Creating ISO images
B. Setting Up a Red Hat Installation Server
B.1. Copying installation media
B.2. Enable remote access
B.2.1. NFS
B.2.2. FTP
B.2.3. HTTP
C. Troubleshooting VM problems
C.1. VM crashes
C.1.1. Controlling Linux VM Crashdump Behaviour
C.1.2. Controlling Windows VM Crashdump Behaviour
C.2. Troubleshooting boot problems on Linux VMs
Index

This chapter provides an overview of how VMs are created and lists virtual memory and virtual disk size minimums, describes the differences in virtual device support for the members of the XenServer product family. This chapter also discusses physical to virtual conversion (P2V), cloning templates, and importing previously-exported VMs.

VMs are created from templates. A template is a "gold image" that contains all the various configuration settings to instantiate a specific VM. XenServer ships with a base set of templates, which range from generic "raw" VMs that can boot an OS vendor installation CD or run an installation from a network repository to complete pre-configured OS instances.

Different operating systems require slightly different settings in order to run at their best. XenServer templates are tuned to maximize operating system performance.

The Linux templates create Pure Virtual (PV) guests, as opposed to the HVM guests created by the Windows and Other Install Media templates. Other Install Media template Linux installations are not supported.

There are three basic methods by which VMs are created using templates. See Chapter 4, Installing Linux VMs to find out which methods are supported for which Linux flavor operating systems. Windows VMs can be installed from a CD or an ISO image.

Creating VMs by installing Windows operating systems onto the appropriate templates is described in Chapter 3, Installing Windows VMs.

Creating VMs by installing Linux operating systems onto the appropriate templates is described in Chapter 4, Installing Linux VMs.

Additionally, VMs can be created by:

These methods are described in this chapter.

In general, when installing VMs, be sure to follow the memory and disk space guidelines of the operating system and any relevant applications that you want to run when allocating resources such as memory and disk space.

Note that individual versions of the operating systems may also impose their own maximum limits on the amount of memory supported (for example, for licensing reasons).

Physical to Virtual Conversion(P2V) is the process by which an existing operating system on a physical server -- its filesystem, configuration, and so on -- is turned into a virtualized instance of the same operating system and filesystem, transferred, instantiated, and started as a VM on the XenServer host.

For existing physical instances of Windows servers, use XenConvert. XenConvert runs on the physical Windows machine and converts it live into a VHD-format disk image or an XVA template suitable for importing into a XenServer host. The physical host does not need to be restarted during this process, and device drivers are automatically modified to make them able to run in a virtual environment. For more information, please refer to the XenConvert documentation for installation and usage guidelines.

For existing physical instances of Linux servers P2V conversion is accomplished by booting from the XenServer installation CD and choosing the P2V option. The filesystem is copied across the network onto a XenServer host, where it appears as a normal VM. Citrix recommends that you perform P2V operations during off-peak hours because the process involves transferring a large amount of data, which could impact the performance of other Virtual Machines running on the XenServer host.

The P2V tool requires a 64-bit capable CPU by default. If you have an existing Linux instance on an older machine that you want to transfer via P2V, you can boot the CD via the p2v-legacy option at the initial prompt. This does require at least a PAE-enabled machine (Physical Address Extension), so for very old machines you can physically move the hard drive to a PAE-enabled machine and perform the operation from there.

When the P2V process is complete and the new VM is created, you need to create and attach a VIF for it to have external network connectivity. Similarly, extra disks may also be added to take advantage of additional storage capacity available to the XenServer host. Citrix recommends using XenCenter to setup network and storage connections for the new VM.

Since the VM has new virtual network hardware, the MAC addresses it sees will also be different. Follow the Linux cloning guidelines (see Section 4.7, “Preparing to clone a Linux VM”) for customizing the configuration files to make the VM re-run any hardware detection scripts at startup.

When considering how to best begin virtualizing a collection of physical servers, it is best to gain some comfort level and experience with virtualizing servers that are more simply configured, moving later to servers with more complex configurations.

Good candidates typically include servers that are used for test and development environments, and servers used for in-house IT infrastructure (intranet web servers, DNS, NIS, other network services, and so on). Typically servers that are running CPU-intensive workloads (sophisticated mathematical modeling, video rendering) or are I/O-intensive (high-traffic commercial web sites, highly-used database servers, streaming audio/video servers) are not the best candidates for virtualization.

Once you have identified some physical servers that seem reasonable to work on first, examine how you are currently using them. What applications are they hosting? How I/O intensive are they? How CPU-intensive are they?

To make a reasonable assessment, gather a reasonable amount of data on the current physical servers that you are considering virtualizing. Look at system monitoring data for disk usage, CPU usage, memory usage, and network traffic, and consider both peak and average values.

Good candidates for virtualization are:

Once you have identified a set of machines that you want to virtualize, you should plan the process to accomplish the task. First, provision the physical servers that will serve as your XenServer hosts. The chief constraint on the number of VMs you can run per XenServer host is system memory.

Next, plan how you will create the VMs. Your choices are to P2V an existing server, install a fresh server from network-mounted vendor media, or install a base operating system using a pre-existing template.

If you P2V an existing server, it is best to P2V a test instance of the server, and run it in parallel with the existing physical server until you are satisfied that everything works properly in the virtual environment before re-purposing the existing physical machine.

Next, plan how to arrange the desired VMs on the XenServer hosts. Assign VMs to specific XenServer hosts, giving consideration to complementary resource consumption (mixing CPU-intensive and I/O-intensive workloads) and complementary peak usage patterns (for instance, assigning overnight batch processing and daytime interactive workloads to the same XenServer host).

For configuring individual VMs themselves, keep these guidelines in mind:

You can make a copy of an existing VM by cloning from a template. Templates are ordinary VMs which are intended to be used as master copies to instantiate VMs from. A VM can be customized and converted into a template, but be sure to follow the appropriate preparation procedure for the VM (see Section 3.4, “Preparing to clone a Windows VM” for Windows and Section 4.7, “Preparing to clone a Linux VM” for Linux). Templates cannot be used as normal VMs.

XenServer has two mechanisms for cloning VMs: a full copy, or a faster Copy-on-Write (CoW) mode which only writes modified blocks to disk. The CoW mode is only supported for file-backed VMs. CoW is designed to save disk space and allow fast clones, but will slightly slow down normal disk performance. A template can be fast-cloned multiple times without slowdown, but if a template is cloned into a VM and the clone converted back into a template, disk performance can linearly decrease depending on the number of times this has happened. In this event, the vm-copy CLI command can be used to perform a full copy of the disks and restore expected levels of disk performance.

Resource pools introduce some complexities around creating custom templates and cloning them. If you create a template on a server in a pool, and all virtual disks of the source VM are on shared storage repositories, the operation of cloning that template will be forwarded to any server in the pool that can see those shared SRs. However, if you create the template from a source VM that has any virtual disks on a local SR, then the clone operation can only execute on the server that can access that SR.

You can create a VM by importing an existing exported VM. Like cloning, exporting and importing a VM is way to create additional VMs of a certain configuration. You might, for example, have a special-purpose server configuration that you use many times. Once you have set up a VM the way you want it, you can export it, and import it later to create another copy of your specially-configured VM. You can also use export and import to move a VM to a XenServer host that in another resource pool.

When importing a VM, you can choose to preserve the MAC address on any virtual network interfaces associated with it. If you choose to generate a new MAC address, be sure to follow the appropriate preparation procedure for the imported VM. See Section 3.4, “Preparing to clone a Windows VM” for Windows and Section 4.7, “Preparing to clone a Linux VM” for Linux.

Importing an exported VM may take some time, depending on the size of the VM and the speed and bandwidth of the network connection between the XenServer host and XenCenter.

When VMs are imported XenServer re-attaches the VM VIFs to any network that has the same name as the network on the server that the VM was exported from. If no matching network can be found a new private network is created and the VM VIFs are attached to that.

XenServer allows you to install Windows 2000 SP4, Windows Server 2003 (32-/64- bit), Windows Server 2008, Windows XP SP2/3, or Windows Vista as a VM. Installing Windows VMs on a XenServer host requires hardware virtualization support (Intel VT or AMD-V).

The process of installing a Windows VM can be broken down into two main steps:

  • installing the Windows operating system
  • installing the paravirtualized device drivers known as the Citrix Tools for Virtual Machines

Windows VMs are installed by cloning an appropriate template using either XenCenter or the CLI. The templates for individual guests have predefined platform flags set which define the configuration of the virtual hardware. For example, all Windows VMs are installed with the ACPI Hardware Abstraction Layer (HAL) mode enabled. If you subsequently change one of these VMs to have multiple virtual CPUs, Windows automatically switches the HAL to multi-processor mode.

The available Windows templates are:

The Windows VM can be installed either from an install CD in a physical CD-ROM on the XenServer host, or from an ISO image of your Windows media. See Appendix A, Creating ISO images for information on how to make an ISO image from a Windows install CD and make it available for use.

To make an ISO library available to XenServer hosts, create an external NFS or SMB/CIFS share directory. The NFS or SMB/CIFS server must allow root access to the share. For NFS shares, this is accomplished by setting the no_root_squash flag when you create the share entry in /etc/exports on the NFS server.

Then either use XenCenter to attach the ISO library, or connect to the host console and run the command:

xe-mount-iso-sr host:/volume

Additional arguments to the mount command may be passed in, for advanced use.

If making a Windows SMB/CIFS share available to the XenServer host, either use XenCenter to make it available, or connect to the host console and run the command:

xe-mount-iso-sr unc_path -t smbfs -o username=myname/myworkgroup

The unc_path argument should have back-slashes replaces by forward-slashes. -t cifs can be used for CIFS instead of SMB. Examples:

xe-mount-iso-sr //server1/myisos -t cifs -o username=johndoe/mydomain
xe-mount-iso-sr //server2/iso_share -t smbfs -o username=alice

After mounting the share, any ISOs in it should be available by name from the CD pulldown list in XenCenter, or as CD images from the CLI commands. The ISO should be attached to an appropriate Windows template.

The Citrix paravirtualized network and SCSI drivers (Citrix Tools for Virtual Machines) provide high performance I/O services without the overhead of traditional device emulation. During the installation of a Windows operating system, XenServer uses traditional device emulation to present a standard IDE controller and a standard network card to the VM. This allows Windows to complete its installation using built-in drivers, but with reduced performance due to the overhead inherent in emulation of the controller drivers.

After Windows is installed, install the Citrix high-speed PV drivers. These are on an ISO available to the virtual CD-ROM drive of the Virtual Machine. These drivers replace the emulated devices and provide high-speed transport between Windows and the XenServer product family software.

Attach the Windows PV drivers ISO to the VM by using the Install Tools menu in XenCenter, or by directly attaching the built-in xs-tools.iso ISO image on the VM using the CLI. Once the ISO is attached, double-click on the xensetup.exe installer executable and follow the on-screen prompts.

The Windows PV drivers are installed by default in the C:\Program Files\Citrix\XenTools directory on the VM.

The Citrix Tools for Virtual Machines can also be installed on a provisioned Windows machine by running the executable windows-pvdrivers-xensetup.exe, located in the client_install/ directory of the installation CD.

Use the Windows utility sysprep to prepare a Windows VM for cloning. This is the only supported way to clone a Windows VM.

Computers running Windows operating systems are uniquely identified by a Security ID (SID). When cloning a Windows VM, it is important to take steps to ensure the uniqueness of the SID. Cloning an installation without taking the recommended system preparation steps can lead to duplicate SIDs and other problems. Because the SID identifies the computer or domain as well as the user, it is critical that it is unique. Refer to the Microsoft KnowledgeBase article 162001, "Do not disk duplicate installed versions of Windows," for more information.

sysprep modifies the local computer SID to make it unique to each computer. The sysprep binaries are on the Windows product CDs in the \support\tools\deploy.cab file.

The steps that you need to take to clone Windows VMs are:

For more information on using sysprep, refer to the Microsoft TechNet page Windows System Preparation Tool.

There are many versions and variations of Windows with different levels of support for the features provided by XenServer. This section lists notes and errata for the known differences.

XenServer supports the installation of many Linux distributions as PV VMs. There are four installation mechanisms:

Installing Linux VMs requires the Linux Pack to be installed onto the XenServer host.

Warning

If you have not installed the Linux Pack, and you are using XenCenter to install VMs, the New VM wizard will show only Windows choices in the list. Do not select Other install media to install a Linux VM. This will not work properly and is not supported.

The Other install media template is meant for advanced users who want to attempt to install VMs running unsupported operating systems. XenServer has been tested running only the supported distributions and specific versions covered by the standard supplied templates, and any VMs installed using the Other install media template are not supported.

The supported Linux distributions are:

Debian Lenny is installed using the standard Debian installer, which supports installation into a PV VM (performance optimized). Use XenCenter or the xe CLI to install Debian Lenny either from a CD, or from a network repository over FTP or HTTP. Information on installing Debian Lenny using XenCenter is available in the XenCenter help — to get started, run the New VM wizard. The rest of this section provides information about installing Debian Lenny using the CLI.

XenServer supports installation of the following Linux operating systems from vendor media in the XenServer host DVD/CD-ROM drive:

Other Linux operating systems need to be installed from a network installation server. See Section 4.4, “Installing Linux from a network installation server to a VM”.

The XenServer guest installer allows you to install an operating system from a network-accessible copy of vendor media onto a VM. In preparation for installing from vendor media, you need to make an exploded network repository of your vendor media (not ISO images), exported over NFS, HTTP or FTP accessible to the XenServer host administration interface. See Appendix B, Setting Up a Red Hat Installation Server for information on how to copy a set of installation CDs to a network drive.

The network repository must be accessible from the control domain of the XenServer host, normally using the management interface. The URL must point to the base of the CD/DVD image on the network server, and be of the form:

  • HTTP. http://<server>/<path>
  • FTP. ftp://<server>/<path>
  • NFS. nfs://<server>/<path> or nfs://<server>/<path>

Note that when using the NFS installation method from XenCenter, the nfs:// style of path should always be used. XenCenter will then modify this into the correct form when passing it to the server automatically. When using the CLI as per the instructions below, the appropriate form must be chosen manually. In the case of SUSE-based distributions this is the nfs://<server>/<path> style, and in the case of Red-Hat based distributions this is nfs:<server>:/<path>.

The XenServer New VM wizard provides an additional step for vendor-installable templates which prompts for the repository URL. When using the CLI, install the template as normal using vm-install and then set the other-config:install-repository parameter to the value of the URL. When the VM is subsequently started, it will begin the network installation process.

Note

When installing a new Linux-based VM, it is important to fully finish the installation and reboot it before performing any other operations on it. This is analogous to not interrupting a Windows installation — which would leave you with a non-functional VM.

Older Linux distributions such as Red Hat Linux Enterprise 3.6 do not support XenServer directly, and are typically legacy installations which benefit from virtualization for the purposes of server consolidation or hardware upgrades. The XenServer P2V feature analyzes existing installations and converts them into VMs.

When an installation is converted into a VM using P2V (see Section 2.4, “Physical to Virtual Conversion (P2V)”), the kernel used is also automatically switched to a XenServer PV kernel. XenServer contains ports of the Red Hat Enterprise Linux 3/4 and SUSE Enterprise Linux 9 kernels to support the native Xen hypervisor interface directly. These kernels are present in the built-in xs-tools.iso image in the default CD list, or can be installed by running the Install XenServer Tools command in the VM menu in XenCenter.

Warning

While a VM is in the process of being installed via P2V, do not attempt to perform any operations on it.

When a Linux VM is cloned, some virtual hardware parameters are changed in the new VM. The VM may need to be customized to be made aware of these changes. For instructions for specific supported Linux distributions, see Section 4.10, “Release Notes”.

With the exception of VMs based on the Debian Etch template, VMs might not be set up to support VNC by default. Before you can connect with the XenCenter graphical console, you need to ensure that the VNC server and an X display manager are installed on the VM and properly configured. This section describes the procedures for configuring VNC on each of the supported Linux operating system distributions to allow proper interactions with the XenCenter graphical console.

CentOS-based VMs should use the instructions for the Red Hat-based VMs below, as they use the same base code to provide graphical VNC access. CentOS 4 is based on Red Hat Enterprise Linux 4, and CentOS 5 is based on Red Hat Enterprise Linux 5.

To configure VNC on Red Hat VMs, you need to modify the GDM configuration. The GDM configuration is held in a file whose location varies depending on the version of Red Hat Linux you are using. Before modifying it, first determine the location of this configuration file; this file will then be modified in a number of subsequent procedures in this section.

Restart GDM for your change in configuration to take effect, by running the command /usr/sbin/gdm-restart.

If, after connecting to a VM with the graphical console, the screen resolution is mismatched (for example, the VM display is too big to comfortably fit in the Graphical Console pane), you can control it by setting the VNC server geometry parameter as follows:

  1. Open the GDM configuration file with your preferred text editor. See Section 4.9.1.1, “Determining the location of your VNC configuration file” for information about determining the location of this file.
  2. Find the [server-VNC] section you added above.
  3. Edit the command line to read, for example:
    command=/usr/bin/Xvnc -SecurityTypes None -geometry 800x600
    where the value of the geometry parameter can be any valid screen width and height.
  4. Save and close the file.

SLES has support for enabling “Remote Administration” as a configuration option in YaST. You can select to enable Remote Administration at install time, available on the Network Services screen of the SLES installer. This allows you to connect an external VNC viewer to your guest to allow you to view the graphical console; the methodology for using the SLES remote administration feature is slightly different than that provided by XenCenter, but it is possible to modify the configuration files in your SUSE Linux VM such that it is integrated with the graphical console feature.

By default the firewall configuration does not allow VNC traffic to go through. If you have a firewall between the VM and XenCenter, you need to allow traffic over the port that the VNC connection uses. By default, a VNC server listens for connections from a VNC viewer on TCP port 5900 + n, where n is the display number (usually just zero). So a VNC server setup for Display-0 will listen on TCP port 5900, Display-1 is TCP-5901, etc. Consult your firewall documentation to make sure these ports are open.

You might want to further customize your firewall configuration if you want to use IP connection tracking or limit the initiation of connections to be from one side only.

Alternatively, you can disable the firewall until the next reboot by running the rcSuSEfirewall2 stop command, or permanently by using YaST. This can of course expose additional services to the outside world and reduce the overall security of your VM.

Most modern Linux distributions support Xen paravirtualization directly, but have different installation mechanisms and some kernel limitations.

XenServer includes a custom Xen kernel for Debian VMs installed via the built-in template to provide full performance optimizations.

When a Debian VM is first booted, you are prompted for details such as hostname and root passwords. This prevents a freshly installed Debian guest from rebooting until the requested information is entered. In order to bypass the first-boot scripts and boot non-interactively, you must pass the noninteractive flag to the kernel arguments.

After installation, the time-zone in a Debian VM defaults to UTC (see Section 4.8, “Time handling in Linux VMs”). You can change the local value using the tzconfig command.

To prepare a Debian guest for cloning (see Section 4.7.3, “MAC address”), Ethernet name persistence must be disabled. For Debian Sarge and Etch VMs, name persistence is controlled through /etc/udev/rules.d/z45_persistent-net-generator.rules, which is used to generate /etc/udev/rules.d/z25_persistent-net.rules. To prepare an Etch VM for cloning, remove /etc/udev/rules.d/z25_persistent-net.rules:

rm -f /etc/udev/rules.d/z25_persistent-net.rules

Persistence is re-enabled on reboot. To permanently disable persistence, remove /etc/udev/rules.d/z45_persistent-net-generator.rules.

To avoid receiving the message There is no public key available for the following key IDs when running apt-get update, run the following command to download the appropriate key:

wget -O - \ http://updates-int.uk.xensource.com/XenServer/5.5.0/GPG-KEY \
| sudo apt-key add -

XenServer includes the RHEL 4.7 kernel with additional bug fixes and expanded Xen support. This kernel is installed with the Citrix Tools for Virtual Machines installation, but not in the RHEL 4.5/4.6/4.7 default installations.

The following issues have been reported upstream to Red Hat and are already fixed in the Xen kernel (which can be installed by using the /mnt/Linux/install.sh script in the built-in xs-tools.iso CD image):

  • During the resume operation on a suspended VM, allocations can be made that can cause swap activity which cannot be performed because the swap disk is still being reattached. (Red Hat Bugzilla 429103).)
  • The NetFront driver in the RHEL 4.5 and 4.6 kernel has issues with the iptables firewall due to the use of checksum offloading. To work around this issue, either install the Citrix Tools for Virtual Machines or disable checksum offload on the VIF associated with the device in the control domain of the XenServer host on which your RHEL 4.6 VM runs. First determine the UUID of the VIF, by:
    xe vif-list vm-name-label=examplevm
    Then disable checksum offload on the VIF:
    xe vif-param-set uuid=<vif_uuid> other-config:ethtool-tx=off
  • A maximum of 3 virtual network interfaces is supported.
  • The Xen kernel in versions 4.5, 4.6 and 4.7 can occasionally enter tickless mode when an RCU is pending. When this triggers, it is usually in synchronize_kernel() which means the guest essentially hangs until some external event (such as a SysRQ) releases it (Red Hat Bugzilla 427998)
  • Occasional kernel crash on boot in queue_work() (Red Hat Bugzilla 246586)
  • Incorrect network device initialization order can cause kernel panic on boot. (456653)
  • 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)
  • If you try to install RHEL 4.x on a VM that has more than 2 virtual CPUs (which RHEL 4.x does not support), an error message incorrectly reports the number of CPUs detected.
  • RHEL 4.7 contains a bug which normally prevents it from booting on a host with more than 64GiB of RAM (Red Hat Bugzilla 311431). For this reason XenServer RHEL 4.7 guests are only allocated RAM addresses in the range below 64GiB by default. This may cause RHEL 4.7 guests to fail to start even if RAM appears to be available, in which case rebooting or shutting down other guests can cause suitable RAM to become available. If all else fails, temporarily shut down other guests until your RHEL 4.7 VM can boot.Once you have succeeded in booting your RHEL 4.7 VM, install the Citrix Tools for Virtual Machines and run the command:
    xe vm-param-remove uuid=<vm_uuid> param-name=other-config \
    param-key=machine-address-size
    						
    to remove the memory restriction.
  • On some hardware (generally newer systems), the CPU will generate occasional spurious page faults which the OS should ignore. Unfortunately all versions of RHEL 4 fail to ignore the spurious fault and it causes them to crash (Red Hat Bugzilla 465914).This has been fixed in our kernel. The RHEL 4 VM templates have been set with the suppress-spurious-page-faults parameter. This assures that the installation will continue safely to the point that the standard kernel is replaced with the Citrix-provided kernel.There is a performance impact with this parameter set, so, after the VM installation is complete, at the VM command prompt, run the command:
    xe vm-param-remove uuid=<vm_uuid> other-config: \
    param-key=suppress-spurious-page-faults
    						

To prepare a RHEL4 guest for cloning (see Section 4.7.3, “MAC address”), edit /etc/sysconfig/network-scripts/ifcfg-eth0 before converting the VM into a template and remove the HWADDR line.

Note

Red Hat recommends the use of Kickstart to perform automated installations, instead of directly cloning disk images (see Red Hat KB Article 1308).

XenServer includes the RHEL 5.3 kernel with additional bug fixes and expanded Xen support. This kernel is installed with the Citrix Tools for Virtual Machines installation, but not in the RHEL 5 default installations.

  • During the resume operation on a suspended VM, allocations can be made that can cause swap activity which cannot be performed because the swap disk is still being reattached. (Red Hat Bugzilla 429102).
  • After resuming a suspended VM, it might crash with the message kernel BUG at mm/rmap.c:590! (Red Hat Bugzilla 294811)
  • A maximum of 3 virtual network interfaces is supported in versions below 5.2. For 5.2 and above, 7 virtual network interfaces 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). This has been fixed in Red Hat Enterprise Linux 5.1.
  • 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 is complete, the kernel sends a gratuitous ARP to cause ARP caches to be refreshed and minimize 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.
  • RHEL 5.2 contains a bug which normally prevents it from booting on a host with more than 64GiB of RAM (Red Hat Bugzilla 311431). For this reason XenServer RHEL 5.2 guests are only allocated RAM addresses in the range below 64GiB by default. This may cause RHEL 5.2 guests to fail to start even if RAM appears to be available, in which case rebooting or shutting down other guests can cause suitable RAM to become available. If all else fails, temporarily shut down other guests until your RHEL 5.2 VM can boot.Once you have succeeded in booting your RHEL 5.2 VM, install the Citrix Tools for Virtual Machines and run the command:
    xe vm-param-remove uuid=<vm_uuid> param-name=other-config param-key=machine-address-size
    to remove the memory restriction.
  • When installing the XenServer PV tools you may encounter a warning such as Header V3 DSA signature: NOKEY, key ID 37017186. Installing the PV tools can cause one or more packages signed by Red Hat to be installed but by default Red Hat do not include the key used to sign their packages in the RPM database. To resolve this you can import the Red Hat release key using:
    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    before installing the tools. See the section titled New RPM GPG Signing keys in the RHEL release notes (i386, x86_64) for more information on Red Hat release signing keys.

When you install the XenServer xe-guest-utilities RPM, an entry is added to the yum configuration, allowing you to pick up kernel updates provided by Citrix when they become available.

Please refer to Section 4.10.4, “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 Citrix via the standard update mechanism as they become available.

XenServer uses a SUSE-provided kernel. (Earlier versions of XenServer included a Citrix-provided version of the SLES9 which had a more mature version of the hypervisor, but which was out of date with SUSE's version, particularly with regard to security updates.) As a result, suspending and resuming a VM, and XenMotion, are not 100% reliable, especially with multiple VCPUs.

To prepare a SUSE Linux guest for cloning (see Section 4.7.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.

This chapter discusses updating VMs with new Linux kernel revisions, updating Windows operating systems, applying Windows Service Packs, and updates to XenServer PV drivers and VM utilities.

Upgrades to VMs are typically required when moving to a new version of XenServer. The following are current issues involving upgrading VMs running on XenServer to this version:

  • XenMotion of Windows VMs is not supported until the PV drivers are upgraded.
  • Suspend/Resume of Windows VMs is not supported until the PV drivers are upgraded.
  • The use of certain anti-virus and firewall applications can crash the Windows VM unless the PV drivers are upgraded.

The Linux guest utilities can be updated by re-running the Linux/install.sh script from the built-in xs-tools.iso CD image (see Section 4.6, “Installing the Linux guest agent”). From time to time, Citrix also supplies updated Linux kernels for supported distributions.

The updates are posted online at: http://updates.xensource.com/XenServer/5.5.0/.

For example, the RHEL 3.x kernel would be at: http://updates.xensource.com/XenServer/5.5.0/rhel3x/.

This is of particular importance for RHEL and CentOS versions prior to 5.3, where you will get the upstream kernel by default, which has certain limitations (see Section 4.10, “Release Notes”).

For yum-enabled distributions (CentOS 4 and 5, RHEL 5), xe-guest-utilities installs a yum configuration file to enable subsequent updates to be done using yum in the standard manner.

Note

RHEL 4 in particular does not use yum.

For Debian, /etc/apt/sources.list is populated to enable updates using apt by default.

Note

SLES is also supported, but Citrix does not provide an updated kernel.

This chapter explains how to set up a server as an installation server for Red Hat Linux.

For a server to act as a Red Hat Linux network installation server, you need space on your server to copy the entire contents of each CD onto your server. This is typically the number of CDs or ISO images multiplied by 650MB.

Ensure that the space you intend to use is formatted with your chosen filesystem and is mounted. You can check this space with the command:

df -h

Next, make your installation data available to other machines on the network. You can use NFS, HTTP, or FTP protocols. You can enable all three services on your server or any subset of the three.

If you experience odd behavior, application crashes, or have other issues, this chapter is meant to help you solve the problem if possible and, failing that, describes where the application logs are located and other information that can help your XenServer Solution Provider and Citrix track and resolve the issue.

Troubleshooting of installation issues is covered in the XenServer Installation Guide. Troubleshooting of XenServer host issues is covered in the XenServer Administrator's Guide.

Note

Citrix recommends that you follow the troubleshooting information in this chapter solely under the guidance of your XenServer Solution Provider or Citrix Support.

Citrix provides two forms of support: you can get free self-help support on the Support site, or you may purchase our Support Services and directly submit requests by filing an online Support Case. Our free web-based resources include product documentation, a Knowledge Base, and discussion forums.