Xen®, Citrix®, XenServer™, XenCenter™ and logos are either registered trademarks or trademarks of Citrix Systems, Inc. in the
United States and/or other countries. Other company or product names are for informational purposes only and may be trademarks
of their respective owners.
This product contains an embodiment of the following patent pending intellectual property of Citrix Systems, Inc.:
1. United States Non-Provisional Utility Patent Application Serial Number 11/487,945, filed on July 17, 2006, and entitled “Using
Writeable Page Tables for Memory Address Translation in a Hypervisor Environment”.
2. United States Non-Provisional Utility Patent Application Serial Number 11/879,338, filed on July 17, 2007, and entitled “Tracking
Current Time on Multiprocessor Hosts and Virtual Machines”.
1. About this document .................................................................................................... 1
C. Troubleshooting VM problems .................................................................................... 39
VM crashes ........................................................................................................... 39
Controlling Linux VM Crashdump Behaviour .................................................... 39
Controlling Windows VM Crashdump Behaviour ............................................... 40
Troubleshooting boot problems on Linux VMs .......................................................... 40
Index ............................................................................................................................. 41
Chapter 1. About this document
Overview
This document is a guide to creating Virtual Machines with XenServer™, the platform virtualization solution
from Citrix®. It describes the various methods of getting VMs up and running on XenServer hosts for each
of the supported operating systems.
This section summarizes the rest of the guide so that you can find the information you need. The following
topics are covered:
• General information about creating VMs
• Creating Windows VMs
• Creating Linux VMs
• Updating VMs
• Creating and using ISO images of vendor media for installing VMs
• Setting up a network repository of vendor media for installing VMs
• Troubleshooting problems with VMs
How this Guide relates to other documentation
This document is primarily aimed at system administrators who need to set up deployments of XenServer
VMs. Other documentation shipped with this release includes:
• XenServer Installation Guide provides step-by-step instructions on installing XenServer hosts and the
XenCenter management console;
• XenServer Administrator's Guide describes the tasks involved in configuring a XenServer deployment -how to set up storage, networking and resource pools, and how to administer XenServer hosts using the
xe command line interface (CLI).
• XenServer Software Development Kit Guide presents an overview of the XenServer SDK -- a selection
of code samples that demonstrate how to write applications that interface with XenServer hosts.
• XenAPI Specification provides a programmer's reference guide to the XenServer API.
• Release notes provide a list of known issues that affect this release.
Chapter 2. Creating VMs
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.
Overview
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:
• using a complete pre-configured template.
• Installing from a CD or an ISO image onto the appropriate template.
• Installing from vendor media on a network installation server directly onto a template.
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 Chap-
ter 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:
• performing a physical to virtual (P2V) conversion on an existing physical server.
• importing an existing, exported VM
• converting an existing VM to a template
These methods are described in this chapter.
Virtual memory and disk size limits
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).
The current version of the XenServer product family has the following general limitations on virtual devices
for VMs. Note that specific guest operating systems may have lower limits for certain features. These limitations are noted in the individual guest installation section.
Virtual deviceLinux VMsWindows VMs
Number of virtual CPUs32
Number of virtual disks7 (including virtual CD-ROM)7 (including virtual CD-ROM)
except for SLES 10 SP1 and RHEL 3.x and 4.x, which support 3. RHEL 5.0/5.1/5.2 support 3, but can support 7 when the kernel is patched with
the Citrix Tools for Virtual Machines. The same applies for Oracle and CentOS 5.0/5.1/5.2
†
7
Physical to Virtual Conversion (P2V)
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.
To P2V an existing Linux server directly to a XenServer host
1.Reboot the physical server that you want to convert and boot from the XenServer installation CD. If the
boot fails, start again and use the p2v-legacy option.
2.After the initial boot messages, the installer does some hardware detection and initialization, then
presents a screen asking you to select which keyboard keymap you want to use for the installation.
In this and the screens that follow, use Tab or Alt+Tab to move between elements, Space to select,
and F12 to move to the next screen.
Select the desired keymap and choose OK to proceed.
3.Next, the Welcome to XenServer screen is displayed. Select Convert an existing OS on this ma-
chine to a VM (P2V) and click OK to proceed.
4.The Welcome to XenServer P2V screen is displayed. Click OK to proceed, and follow the on-screen
prompts.
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 the section called “Preparing to clone a Linux VM”) for customizing the
configuration files to make the VM re-run any hardware detection scripts at startup.
General Guidelines for Virtualizing Physical Servers
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:
• servers whose CPU and memory usage and NIC and disk throughput are low will be more likely to coexist
as a VM on a XenServer host with a few other VMs without unduly constraining its performance.
• servers that are a few years old - so their performance as VMs hosted on a newer server would be
comparable to their existing state.
• servers that do not use any incompatible hardware which cannot be virtualized, such as dongles, serial
or parallel ports, or other unsupported PCI cards (serial cards, cryptographic accelerators, and so on).
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:
• assign only one core to a VMs unless the VM is serving a multi-threaded application that will perform
demonstrably better with a second virtual CPU.
• when you configure the memory settings for a VM, consult the documentation of the guest operating
system you plan to run on that VM and the documentation of the applications you plan to run on them.
Cloning an existing VM
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 the section called
“Preparing to clone a Windows VM” for Windows and the section called “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.
Importing an exported VM
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 the section called “Preparing to clone a Windows VM” for Windows and
the section called “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.
Exporting a VM
An existing VM can be exported using XenCenter or the CLI. This section describes using the CLI. For
details on exporting using XenCenter, see the XenCenter online Help.
The following procedure assumes that you have multiple XenServer hosts and that you are administering
them using the CLI on a separate machine (that is, a machine that is not one of the XenServer hosts)
where you can maintain a library of export files. Citrix recommends not exporting a VM to a XenServer
host filesystem.
Be sure to include the .xva extension when specifying the export filename. If the exported VM does
not have this extension and you attempt to import it via XenCenter, it might fail to recognize the file as
a valid XVA file.
3.The export process might take some time to complete. When finished, the command prompt returns.
Importing a VM
An exported VM file can be imported using XenCenter or the CLI. This section describes using the CLI. For
details on importing using XenCenter, see the XenCenter online Help.
The following procedure assumes that you are administering the XenServer host using the CLI on a separate
machine (that is, a machine that is not one of your XenServer hosts) where you maintain a library of export
files.
To import a VM using the CLI
1.To import the VM to the default SR on the target XenServer host:
2.The import process might take some time to complete. When finished, the command prompt returns
the UUID of the newly-imported VM.
VM Block Devices
In the para-virtualized (PV) Linux case, block devices are passed through as PV devices. XenServer does
not attempt to emulate SCSI or IDE, but instead provides a more suitable interface in the virtual environment
in the form of xvd* devices. It is also sometimes possible (depending on the OS) to get an sd* device using
the same mechanism, where the PV driver inside the VM takes over the SCSI device namespace. This is not
desirable so it is best to use xvd* where possible for PV guests (this is the default for Debian and RHEL).
For Windows or other fully virtualized guests, XenServer emulates an IDE bus in the form of an hd* device.
When using Windows, installing the Citrix Tools for Virtual Machines installs a special PV driver that works
in a similar way to Linux, except in a fully virtualized environment.
Chapter 3. Installing Windows VMs
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:
• Windows Server 2008
can be used to install Windows Server 2008 32-bit.
• Windows Server 2008 x64
can be used to install Windows Server 2008 64-bit.
• Windows Server 2003
can be used to install Windows Server 2003 32-bit SP0, SP1, SP2, and R2. The Server, Enterprise, Data
Centre, and SBS editions are supported.
• Windows Server 2003 x64
can be used to install Windows Server 2003 64-bit. The Server, Enterprise, Data Centre, and SBS editions
are supported.
• Windows Server 2003, optimized for Citrix XenApp
can be used to install Windows Server 2003 32-bit SP0, SP1, SP2, and R2. The Server, Enterprise, Data Centre, and SBS editions are supported. This template is specially tuned to optimize XenApp performance.
• Windows Server 2003 x64, optimized for Citrix XenApp
can be used to install Windows Server 2003 64-bit. The Server, Enterprise, Data Centre, and SBS editions
are supported. This template is specially tuned to optimize XenApp performance.
• Windows 2000 SP4
can be used to install Windows 2000 Server Service Pack 4. Earlier service packs are not supported.
• Windows Vista
can be used to install Windows Vista 32-bit. The Enterprise edition is supported.
• Windows XP SP3
can be used to install Windows XP Service Pack 3. Earlier service packs are not supported.
• Windows XP SP2
can be used to install Windows XP Service Pack 2. Earlier service packs are not supported.
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.
XenServer Virtual Machine Installation GuideInstalling Windows VMs9
Making the ISO available to XenServer hosts
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:
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.
Copying ISOs to local storage
In XenServer 3.2 and earlier, ISOs could be copied directly to the control domain into the /opt/xensource/packages/iso directory. In XenServer 5.5.0 hosts, this directory is reserved for use of the built-
in ISO images, and is not intended for general use. This directory is considered to be identical across hosts
in a resource pool, and CD images may fail to attach if the contents are modified.
4.Copy the ISO images into this directory, taking care not to fill up the control domain filesystem.
5.Verify that the ISO image is available for use by using the xe vdi-list command, or by checking in
XenCenter.
XenServer Virtual Machine Installation GuideInstalling Windows VMs10
Warning
Be extremely careful with copying ISOs directly onto the control domain filesystem, as it has limited space
available. A network share is a much safer mechanism for storing large numbers of ISO images. If the
control domain does fill up, unpredictable behavior will result.
Windows paravirtualized drivers
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 highspeed transport between Windows and the XenServer product family software.
Note
While a Windows VM functions without them, performance is significantly hampered unless these drivers
are installed. Running Windows VMs without these drivers is not supported. Some features, such as live
relocation across physical hosts, will only work with the PV drivers installed and active.
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.
Note
To silently install the Citrix Tools for Virtual Machines and prevent the system from rebooting afterwards,
use the /S and /norestart options:
<install_dir>/xensetup.exe /S /norestart
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.
Windows Volume Shadow Copy Service (VSS) provider
The Windows tools also include a XenServer VSS provider that is used to quiesce the guest filesystem in
preparation for a VM snapshot. The VSS provider is installed as part of the PV driver installation, but is
not enabled by default.
Loading...
+ 31 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.