Novell SUSE Linux Enterprise 10 Virtualization with Xen

SUSE Linux Enterprise
www.novell.com10 SP2

October27,2009 Virtualization with Xen

Server
Virtualization with Xen
All content is copyright © Novell, Inc.
Legal Notice
This manual may be freely reproduced, duplicated and distributed either as such or as part of a bundled package in electronic and/or printed format, provided however that the following conditions are ful­lled:
That this copyright notice and the names of authors and contributors appear clearly and distinctively on all reproduced, duplicated and distributed copies. That this manual, specically for the printed format, is reproduced and/or distributed for noncommercial use only. The express authorization of Novell, Inc must be obtained prior to any other use of any manual or part thereof.
For Novell trademarks, see the Novell Trademark and Service Mark list http://www.novell
.com/company/legal/trademarks/tmlist.html. * Linux is a registered trademark of
Linus Torvalds. All other third party trademarks are the property of their respective owners. A trademark symbol (®, ™ etc.) denotes a Novell trademark; an asterisk (*) denotes a third party trademark.
All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither Novell, Inc., SUSE LINUX Products GmbH, the authors, nor the translators shall be held liable for possible errors or the consequences thereof.

Contents

Preface v
1 Introduction to Xen Virtualization 1
1.1 Basic Components . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Understanding Virtualization Modes . . . . . . . . . . . . . . . . . 2
1.3 Xen Virtualization Architecture . . . . . . . . . . . . . . . . . . . . 3
1.4 The Virtual Machine Host . . . . . . . . . . . . . . . . . . . . . . 4
2 Setting Up a Virtual Machine Host 7
2.1 Best Practices and Suggestions . . . . . . . . . . . . . . . . . . . . 8
2.2 Setting Up a 32-Bit Domain 0 on a 64-Bit Hypervisor . . . . . . . . . . 9
2.3 Managing Domain 0 Memory . . . . . . . . . . . . . . . . . . . . 11
2.4 Networks Card in Fully Virtualized Guests . . . . . . . . . . . . . . . 12
2.5 Starting the Virtual Machine Host . . . . . . . . . . . . . . . . . . 13
3 Setting Up Virtual Machines 15
3.1 Creating a Virtual Machine . . . . . . . . . . . . . . . . . . . . . 15
3.2 Installing an Operating System . . . . . . . . . . . . . . . . . . . 17
3.3 Including Add-On Products in the Installation . . . . . . . . . . . . . 21
3.4 Using the Command Line to Create Virtual Machines . . . . . . . . . . 22
3.5 Deleting Virtual Machines . . . . . . . . . . . . . . . . . . . . . 23
3.6 Using an Existing SUSE Linux Enterprise Server Virtual Machine . . . . . 23
3.7 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Managing a Virtualization Environment 27
4.1 Virtual Machine Manager . . . . . . . . . . . . . . . . . . . . . 28
4.2 Controlling the Host by Modifying xend Settings . . . . . . . . . . . . 29
4.3 Conguring a Virtual Machine by Modifying its xend Settings . . . . . . 30
4.4
The xm Command . . . . . . . . . . . . . . . . . . . . . . . . 31
5 Virtualization: Conguration Options and Settings 33
5.1 Virtual CD Readers . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Remote Access Methods . . . . . . . . . . . . . . . . . . . . . . 38
5.3 VNC Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.4 The Boot Loader Program . . . . . . . . . . . . . . . . . . . . . 42
5.5 Changing the Host’s Desktop from Text Mode to GUI Mode . . . . . . . 45
5.6 Paravirtual Mode and Journaling File Systems . . . . . . . . . . . . . 46
5.7 Virtual Machine Initial Startup Files . . . . . . . . . . . . . . . . . 47
5.8 Sparse Image Files and Disk Space . . . . . . . . . . . . . . . . . . 49
5.9 Virtual Keyboards . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.10 Mapping Physical Storage to Virtual Disks . . . . . . . . . . . . . . . 52
5.11 Virtual Disks . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.12 Migrating Virtual Machines . . . . . . . . . . . . . . . . . . . . . 54
5.13 Passing Key Combinations to Virtual Machines . . . . . . . . . . . . . 54
5.14 xm block-list Device Numbers . . . . . . . . . . . . . . . . . . . . 55
5.15 File-Backed Virtual Disks and Loopback Devices . . . . . . . . . . . . 56
5.16 Saving Virtual Machines . . . . . . . . . . . . . . . . . . . . . . 56
5.17 Restoring Virtual Machines . . . . . . . . . . . . . . . . . . . . . 57
5.18 Virtual Machine States . . . . . . . . . . . . . . . . . . . . . . . 59
6 Xen Guest Systems 61
6.1 NetWare Virtual Machines . . . . . . . . . . . . . . . . . . . . . 61
6.2 OES Linux Virtual Machines . . . . . . . . . . . . . . . . . . . . . 61
6.3 SUSE Linux Virtual Machines . . . . . . . . . . . . . . . . . . . . 61
6.4 Windows Virtual Machines . . . . . . . . . . . . . . . . . . . . . 70
7 Virtual Machine Drivers 71
7.1 Buying a Support Subscription . . . . . . . . . . . . . . . . . . . 72
7.2 Loading the Driver Pack . . . . . . . . . . . . . . . . . . . . . . 73
7.3 SUSE Drivers for Red Hat Enterprise Linux 4 on Xen . . . . . . . . . . 73
7.4 SUSE Drivers for Red Hat Enterprise Linux 5 on Xen . . . . . . . . . . 77
7.5 SUSE Drivers for Windows on Xen . . . . . . . . . . . . . . . . . . 81
7.6 SUSE Drivers for SUSE Linux Enterprise Server on Xen . . . . . . . . . 89

Preface

This manual offers an introduction to virtualization technology of your SUSE Linux Enterprise Server. It features an overview of the various elds of application and instal­lation types of each of the platforms supported by SUSE Linux Enterprise Server as well as a short description of the installation procedure.
Quality service is also available. Experts can answer questions about installation or conguration, make reliable security updates available, and support development projects.

1 Feedback

We want to hear your comments and suggestions about this manual and the other doc­umentation included with this product. Please use the User Comments feature at the bottom of each page of the online documentation and enter your comments there.

2 Additional Documentation

For additional documentation on this product, refer to http://www.novell.com/
documentation/sles10/index.html:
Architecture-Specic Information
Architecture-specic information needed to prepare a SUSE Linux Enterprise Server target for installation.
Installation and Administration
In-depth installation and administration for SUSE Linux Enterprise Server.
For a documentation overview on the SUSE® Linux Enterprise Desktop product, refer to http://www.novell.com/documentation/sled10/index.html.
Documentation regarding the Open Enterprise Server 2 is found at http://www
.novell.com/documentation/oes2/index.html.

3 Documentation Conventions

The following typographical conventions are used in this manual:
/etc/passwd: lenames and directory names
placeholder: replace placeholder with the actual value
PATH: the environment variable PATH
ls, --help: commands, options, and parameters
user: users or groups
Alt, Alt + F1: a key to press or a key combination; keys are shown in uppercase as
on a keyboard
File, File > Save As: menu items, buttons
• This paragraph is only relevant for the specied architectures. The arrows mark the beginning and the end of the text block.
This paragraph is only relevant for the specied architectures. The arrows mark the beginning and the end of the text block.
Dancing Penguins (Chapter Penguins, ↑Another Manual): This is a reference to a chapter in another manual.
vi Virtualization with Xen

Introduction to Xen Virtualization

Virtualization of operating systems is used in many different computing areas. It nds its applications in server consolidation, energy saving efforts, or the ability to run older software on new hardware, for example. This chapter introduces and explains the components and technologies you need to understand to set up and manage a Xen-based virtualization environment.

1.1 Basic Components

The basic components of a Xen-based virtualization environment are the Xen hypervisor, the Domain0, any number of other VM Guests, and the tools, commands, and congu­ration les that let you manage virtualization. Collectively, the physical computer run­ning all these components is referred to as a virtual machine host because together these components form a platform for hosting virtual machines.
The Xen Hypervisor
The Xen hypervisor, sometimes referred to generically as a virtual machine monitor, is an open-source software program that coordinates the low-level interaction be­tween virtual machines and physical hardware.
The Domain0
The virtual machine host environment, also referred to as domain0 or controlling domain, is comprised of several components, such as:
1
Introduction to Xen Virtualization 1
• The SUSE Linux operating system, which gives the administrator a graphical and command line environment to manage the virtual machine host components and its virtual machines.
NOTE
The term “Domain0” refers to a special domain that provides the manage­ment environment. This may be run either in graphical or in command line mode.
• The xend daemon (xend), which stores conguration information about each virtual machine and controls how virtual machines are created and managed.
• A modied version of QEMU, which is an open-source software program that emulates a full computer system, including a processor and various peripherals. It provides the ability to host operating systems in full virtualization mode.
Xen-Based Virtual Machines
A Xen-based virtual machine, also referred to as a domain, consists of the follow­ing components:
• At least one virtual disk that contains a bootable operating system. The virtual disk can be based on a le, partition, volume, or other type of block device.
• Virtual machine conguration information, which can be modied by exporting a text-based conguration le from xend or through Virtual Machine Manager.
Management Tools, Commands, and Conguration Files
There is a combination of GUI tools, commands, and conguration les to help you manage and customize your virtualization environment.

1.2 Understanding Virtualization Modes

Guest operating systems are hosted on virtual machines in either full virtualization mode or paravirtual mode. Each virtualization mode has advantages and disadvantages.
2 Virtualization with Xen
• Full virtualization mode lets virtual machines run unmodied operating systems, such as Windows* Server 2003 and Windows XP, but requires the computer running as the virtual machine host to support hardware-assisted virtualization technology, such as AMD* Virtualization or Intel* Virtualization Technology.
Some guest operating systems hosted in full virtualization mode, can be congured to run SUSE Linux Enterprise Virtual Machine Drivers instead of operating-system­specic drivers. Running virtual machine drivers improves performance dramati­cally on guest operating systems, such as Windows XP and Windows Server 2003. For more information, see Chapter 7, Virtual Machine Drivers (page 71).
• Paravirtual mode does not require the host computer to support hardware-assisted virtualization technology, but does require the guest operating system to be modied for the virtualization environment. Typically, operating systems running in paravir­tual mode enjoy better performance than those requiring full virtualization mode.
Operating systems currently modied to run in paravirtual mode are referred to as paravirtualized operating systems and include SUSE Linux Enterprise Server 10 and NetWare® 6.5 SP7.

1.3 Xen Virtualization Architecture

The following graphic depicts a virtual machine host with four virtual machines. The Xen hypervisor is shown as running directly on the physical hardware platform. Note, that the controlling domain is also just a virtual machine, although it has several addi­tional management tasks compared to all other virtual machines.
Introduction to Xen Virtualization 3
Figure 1.1
On the left, the virtual machine host’s Domain0 is shown running the SUSE Linux op­erating system. The two virtual machines shown in the middle are running paravirtualized operating systems. The virtual machine on the right shows a fully virtual machine run­ning an unmodied operating system, such as Windows Server 2003 or Windows XP.
Virtualization Architecture

1.4 The Virtual Machine Host

After you install the virtualization components and reboot the computer, the GRUB boot loader menu should display a Xen menu option. Selecting the Xen menu option loads the Xen hypervisor and starts the Domain0 running the SUSE Linux operating system.
Running on domain 0, the SUSE Linux operating system displays the installed text console or desktop environment, such as GNOME or KDE. When opened, each virtual machine is displayed in its own window inside the controlling domain 0.
4 Virtualization with Xen
Figure 1.2
Desktop Showing Virtual Machine Manager and Virtual Machines
Introduction to Xen Virtualization 5

Setting Up a Virtual Machine Host

This section documents how to set up and use SUSE Linux Enterprise 10 SP2 as a vir­tual machine host.
In most cases, the hardware requirements for the Domain0 are the same as those for the SUSE Linux Enterprise Server operating system, but additional CPU, disk, memory, and network resources should be added to accommodate the resource demands of all planned VM Guest systems.
TIP
Remember that VM Guest systems, just like physical machines, perform better when they run on faster processors and have access to more system memory.
The following table lists the minimum hardware requirements for running a typical virtualized environment. Additional requirements have to be added for the number and type of the respective guest systems.
Table 2.1
nent
Hardware Requirements
Minimum RequirementsSystem Compo-
2
Computer with Pentium II or AMD K7 450 MHz processorComputer
512 MB of RAM for the hostMemory
Setting Up a Virtual Machine Host 7
Minimum RequirementsSystem Compo-
nent
7 GB of available disk space for the host.Free Disk Space
DVD-ROM DriveOptical Drive
20 GBHard Drive
Ethernet 100 MbpsNetwork Board
IP Address • One IP address on a subnet for the host.
• One IP address on a subnet for each VM Guest.
Xen virtualization technology is available in SUSE Linux Enterprise Server products based on code path 10 and later. Code path 10 products include Open Enterprise Server 2 Linux, SUSE Linux Enterprise Server 10, SUSE Linux Enterprise Desktop 10, and openSUSE 10.x.
The virtual machine host requires a number of software packages and their dependencies to be installed. To install all necessary packages, run YaST Software Management, select the lter Patterns and choose Xen Virtual Machine Host Server for installation.
After the Xen software is installed, restart the computer.
Updates are available through your update channel. To be sure to have the latest updates installed, run YaST Online Update after the installation has nished.

2.1 Best Practices and Suggestions

When installing and conguring the SUSE Linux Enterprise operating system on the host, be aware of the following best practices and suggestions:
If the host should always run as Xen host, run YaST System > Boot Loader and activate the Xen boot entry as default boot section.
In YaST, click System > Boot Loader.
8 Virtualization with Xen
Change the default boot to the Xen label, then click Set as Default.
Click Finish.
• Disable powersave functionality on the host and all guest operating systems. On the host computer and other Linux computers, you can use the chkconfig powersaved off command.
• Close Virtual Machine Manager if you are not actively using it and restart it when needed. Closing Virtual Machine Manager does not affect the state of virtual ma­chines.
• For best performance, only the applications and processes required for virtualization should be installed on the virtual machine host.
• When using both, iSCSI and OCFS2 to host Xen images, the latency required for OCFS2 default timeouts in SP2 may not be met. To recongure this timeout, run
/etc/init.d/o2cb configure or edit O2CB_HEARTBEAT_THRESHOLD in the system conguration.

2.2 Setting Up a 32-Bit Domain 0 on a 64-Bit Hypervisor

A virtual machine host running on a 64-bit platform can access much more memory than hosts running on a 32-bit platform. However, there might be circumstances where you want to run the 32-bit version of the SUSE® Linux operating system (as domain
0) on the 64-bit Xen hypervisor.
On 64-bit hardware, start the 32-bit SUSE Linux operating system installation
1
program.
Select Installation Settings > Software to include the Xen Virtual Machine
2
Host Server software package selection.
Select Software > Software Selection and System Tasks and click Details to
3
view all packages.
Setting Up a Virtual Machine Host 9
4
In the Filter drop-down list, select Search, then search for kernel-xen. Make sure that kernel-xenpaeis selected for installation and that kernel-xen is not selected.
Complete the SUSE Linux installation program.
5
The installation program copies les, reboots, and prompts you for additional setup information.
After entering the additional setup information, log in to the computer.
6
Access the SUSE Linux installation source media.
7
The 64-bit Xen hypervisor RPM is included in both 32-bit and 64-bit versions of the SUSE Linux installation media.
On the SUSE Linux installation source media, nd the x86_64 directory that
8
contains xen.rpm.
Use the following command to install the RPM:
9
rpm -U xen.rpm --ignorearch --force
Edit the GRUB boot loader settings by running YaST > System > Boot Loader
10
or editing the le at /boot/grub/menu.lst.
11
Change Hypervisor to /boot/xen.gz.
The xen.gz hypervisor is the 64-bit hypervisor.
Reboot the computer.
12
During the boot process, select the Xen option from the GRUB boot loader.
13
Verify that the computer is running the 32-bit Domain 0 by entering:
14
uname -m
It should report a 32-bit machine name, such as i686.
10 Virtualization with Xen
Verify that the computer is running the 64-bit hypervisor by entering:
15
xm info | grep xen_caps
It should report a 64-bit Xen hypervisor, such as xen-3.0-x86_64.

2.3 Managing Domain 0 Memory

When the host is set up, a percentage of system memory is reserved for the hypervisor, and all remaining memory is automatically allocated to Domain0.
A better solution is to set a minimum and maximum amount of memory for domain 0, so the memory can be allocated appropriately to the hypervisor. An adequate maximum amount would be 20 percent of the total system memory up to 2 GB. An appropriate minimum amount would at least be 512 MB.
2.3.1 Setting a Maximum Amount of
Memory
Determine the amount of memory to set for domain 0.
1
2
At Domain0, type xm list to view the currently allocated memory.
Run YaST > Boot Loader.
3
Select the Xen section.
4
5
In Additional Xen Hypervisor Parameters, add dom0_mem= mem_amount where mem_amount is the maximum amount of memory to allocate to Do­main0. Add K, M, or G, to specify the size, for example, dom0_mem=768M.
Restart the computer to apply the changes.
6
Setting Up a Virtual Machine Host 11

2.3.2 Setting a Minimum Amount of Memory

To set a minimum amount of memory for Domain0, edit the dom0-min-mem param­eter in the /etc/xen/xend-config.sxp le and restart xend. For more informa-
tion, see Section 4.2, “Controlling the Host by Modifying xend Settings” (page 29).

2.4 Networks Card in Fully Virtualized Guests

In a fully virtualized guest, the default network card is an emulated Realtek network card. However, it also possible to use the split network driver to run the communication between Domain0 and a VM Guest. By default, both interfaces are presented to the VM Guest, because the drivers of some operating systems require both to be present.
When using SUSE Linux Enterprise, both network cards are available for the VM Guest. The MAC addresses of both cards are identical in this case, which leads to problems when running the network. The following network options are available:
emulated
To use a “emulated” network interface like an emulated Realtek card, specify type=ioemu on the vif line. In /etc/xen/vm/<configuration> this
would look like:
vif=[ 'mac=00:16:3e:62:f4:f3,type=ioemu' ]
paravirtualized
Specify the parameter type=netfront to the vif line to use the paravirtualized network interface. In /etc/xen/vm/<configuration> this would look like:
vif=[ 'mac=00:16:3e:62:f4:f3,type=netfront' ]
emulated and paravirtualized
If the administrator should be offered both options, simply do not specify a type. In /etc/xen/vm/<configuration> this would look like:
vif=[ 'mac=00:16:3e:62:f4:f3,model=rtl8139' ]
In this case, one of the network interfaces should be disabled.
12 Virtualization with Xen
If you are using the Virtual Machine Manager, you may also recongure the guests by modifying the respective .sxp conguration. For more about this conguration option,
see also Section 4.3, “Conguring a Virtual Machine by Modifying its xend Settings” (page 30).

2.5 Starting the Virtual Machine Host

If virtualization software is correctly installed, the computer boots to display the GRUB boot loader with a Xen option on the menu. Select this option to start the virtual machine host.
NOTE: Xen and Kdump
In Xen, the hypervisor manages the memory resource. If you need to reserve system memory for a recovery kernel in Domain0, this memory has to be re­served by the hypervisor. Thus, it is necessary to add the parameter crashkernel=size@offset to the kernel line instead of using the line with the other boot options. For more about Kdump, see also http://www
.novell.com/rc/docrepository/public/37/basedocument .2007-09-13.2960758124/4622069_f_en.pdf.
If the Xen option is not on the GRUB menu, review the steps for installation and verify that the GRUB boot loader has been updated. If the installation has been done without selecting the Xen pattern, run the YaST Software Management, select the lter Patterns and choose Xen Virtual Machine Host Server for installation.
After booting the hypervisor, the Domain0 virtual machine starts and displays its graphical desktop environment. If you did not install a graphical desktop, the command line environment appears.
Before starting to install virtual guests, make sure that the system time is correct. To do this, congure NTP (Network Time Protocol) on the controlling domain:
In YaST select Network Services > NTP Conguration.
1
Select the option to automatically start the NTP daemon during boot. Provide
2
the IP address of an existing NTP time server, then click Finish.
Setting Up a Virtual Machine Host 13
NOTE: Time Services on Virtual Guests
Hardware clocks commonly are not very precise. All modern operating systems try to correct the system time compared to the hardware time by means of an additional time source. To get the correct time on all VM Guest systems, also activate the network time services on each respective guest or make sure that the guest uses the system time of the host. For more about Independent Wallclocks in SUSE Linux Enterprise Server see Section 6.3.4, “Virtual Machine Clock Settings” (page 67).
For more information about managing virtual machines, see Chapter 4, Managing a Virtualization Environment (page 27).
14 Virtualization with Xen

Setting Up Virtual Machines

A virtual machine is comprised of data and operating system les that dene the virtual environment. Virtual machines are hosted and controlled by the virtual machine host. This section provides generalized instructions for installing virtual machines.
Virtual machines have few if any requirements above those required to run the operating system. If the operating system has not been optimized for the virtual machine host environment, the unmodied OS can run only on hardware-assisted virtualization computer hardware, in full virtualization mode, and requires specic device drivers to be loaded.
You should be aware of any licensing issues related to running a single licensed copy of an operating system on multiple virtual machines. Consult the operating system license agreement for more information.
NOTE: Virtual Machine Architectures
The virtual machine host runs only on x86, AMD64 and Intel 64 hardware. It does not run on other system architectures such as Itanium, or POWER. A 64­bit virtual machine host can also run a 32-bit operating system, while a 32-bit host cannot run a 64-bit client. This holds true for both, the controlling domain and all further guests.
3

3.1 Creating a Virtual Machine

Before creating a virtual machine, you need the following:
Setting Up Virtual Machines 15
Install a host server as described in Chapter 2, Setting Up a Virtual Machine Host (page 7).
• If you want to use an automated installation le (AutoYaST, NetWare® Response File, or RedHat Kickstart), you should create and download it to a directory on the host machine server or make it available on the network.
• For NetWare and OES Linux virtual machines, you need a static IP address for each virtual machine you create.
• If you are installing Open Enterprise Server (OES) 2 Linux, you need a network installation source for OES 2 Linux software including the SUSE Linux Enterprise Server 10 SP2 media and the OES 2 Linux add-on CD. For procedures to create the installation sources, see "Setting Up the Server Holding the Installation Sources" in the SUSE Linux Enterprise Server 10 Installation and Administration Guide
[http://www.novell.com/documentation/sles10/sles_admin/
data/sec_deployment_remoteinst_instserver.html]
For further prerequisites, consult the manuals of the respective operating system to in­stall.
The Create Virtual Machine Wizard helps you through the steps required to create a virtual machine and install its operating system. The information that follows is gener­alized for installing any operating system. In addition to these instructions, you should consult Chapter 6, Xen Guest Systems (page 61) for information specic to the operating system you are installing.
The actual conguration les for the Xen guests are stored at /etc/xen/vm/. The default location for image les is /var/lib/xen/images.
Launch the Create Virtual Machine Wizard by using one of the following methods:
From the virtualization host server desktop, click YaST > Virtualization > Create
Virtual Machine
From within Virtual Machine Manager, click New.
At the command line, enter vm-install.
16 Virtualization with Xen
If the wizard does not appear or the vm-install command does not work, review the process of installing and starting the virtualization host server. The virtualization software might not be installed properly.
3.2 Installing an Operating System
You can choose to run an installation program or choose a disk or disk image that already has an installed and bootable operating system.
Figure 3.1
If you choose to run an installation program, you are presented with a list of operating systems. Select the one you want to install.
The Summary page shows you a summary of the virtual machine you are creating. You can click on any of the headings to edit the information. As you edit the information in
the Summary, consult Chapter 6, Xen Guest Systems (page 61) for instructions specic to the operating system you are installing.

Installing an Operating System

Setting Up Virtual Machines 17
Figure 3.2
Information about the following operating systems is included:
• OES NetWare Virtual Machines, see Section 6.1, “NetWare Virtual Machines” (page 61).
• OES Linux Virtual Machines, see Section 6.2, “OES Linux Virtual Machines” (page 61).
Summary
• SUSE Linux Virtual Machines, see Section 6.3, “SUSE Linux Virtual Machines” (page 61).
• Windows Virtual Machines, see Section 6.4, “Windows Virtual Machines” (page 70).
When running through the creation of a VM Guest, the following steps have to be ac­complished:
Select if the VM Guest should run as full or paravirtualized guest.
1
If your computer supports hardware-assisted virtualization, you can create a vir­tual machine that runs in fully virtual mode. If you are installing an operating system that is modied for virtualization, you can create a virtual machine that runs in paravirtual mode. For more information about virtualization modes, see Section 1.2, “Understanding Virtualization Modes” (page 2).
18 Virtualization with Xen
Each virtual machine must have a unique name. The name entered on this page
2
is used to create and name the virtual machine’s conguration le. The congu­ration le contains parameters that dene the virtual machine and is saved to the
/etc/xen/vm/ directory.
The Hardware page allows you to specify the amount of memory and number of
3
virtual processors for your virtual machine.
Initial Memory
The amount of memory initially allocated to the virtual machine (specied in megabytes).
Maximum Memory
The largest amount of memory the virtual machine will ever need.
Virtual Processors
If desired, you can specify that the virtual machine has more virtual CPUs than the number of physical CPUs. You can specify up to 32 virtual CPUs: however, for best performance, the number of virtual processors should be less than or equal to the number of physical processors.
Select the graphics mode to use:
4
No Graphics Support
The virtual machine operates like a server without a monitor. You can access the operating system through operating system supported services, such as SSH or VNC.
Paravirtualized Graphics Adapter
Requires that an appropriate graphics driver is installed in the operating system.
A virtual machine must have at least one virtual disk. Virtual disks can be:
5
• File backed, which means that the virtual disk is a single image le on a larger physical disk.
• A sparse image le, which means that the virtual disk is a single image le, but the space is not preallocated.
• Congured from a block device, such as an entire disk, partition, or volume.
Setting Up Virtual Machines 19
For best performance, create each virtual disk from an entire disk or a partition. For the next best performance, create an image le but do not create it as a sparse image le. A virtual disk based on a sparse image le delivers the most disk­space exibility but slows installation and disk access speeds.
By default, a single, le-backed virtual disk is created as a sparse image le in /var/lib/xen/images/vm_name where vm_name is the name of the
virtual machine. You can change this conguration to meet your specic require­ments.
If you want to install from DVD or CD-Rom, add the drive to the list of available
6
hard disks. To learn about device names of the available optical drives, run hwinfo --cdrom and search for the line starting with Device File:. Add
this device le to the available hard disks of the VM Guest.
By default, a single virtual network card is created for the virtual machine. It has
7
a randomly generated MAC address that you can change to t your desired con­guration. The virtual network card will be attached to a default bridge congured in the host. You can also create additional virtual network cards in the Network Adapters page of vm-install.
NOTE: Using Arbitrary Bridge Names
If installing a fully virtualized guest and you are using a bridge name that is different than the default names, explicitly specify the bridge by select­ing the bridge name from the Source menu on the Virtual Network Adapter page. Paravirtual guests by denition are aware they are running on a virtualization platform and therefore, do not need to have the bridge explicitly specied, thus leaving Source as Default will sufce.
The operating system can be installed from a CD/DVD device or an ISO image
8
le. In addition, if you are installing a SUSE Linux operating system, you can install the operating system from a network installation source.
If you are installing a paravirtual machine's operating system from CD, you should remove the virtual CD reader from the virtual machine after completing the installation, because the virtual machine assumes that the original CD is still in the CD reader, even if it is ejected. If it is ejected, the virtual machine cannot access the CD (or any other newly inserted CD) and receives I/O errors.
20 Virtualization with Xen
WARNING: Changing CD-Roms
On paravirtual guests, it is currently not possible to go on with the instal­lation of a system after changing the CD-Rom. Instead, you should use a DVD or a network based installation. For a workaround to this problem, see Section 5.1.1, “Virtual CD Readers on Paravirtual Machines” (page 34).
If the installation program is capable of recognizing an installation prole, re­sponse le, or script, you can automate the installation settings by specifying the location of the prole, response le, or script you want to use. For example, SUSE Linux uses an AutoYaST prole, NetWare uses a NetWare Response File, and Red Hat uses a Kickstart le to move through the installation screens with no interaction.
You can also pass instructions to the kernel at install time by entering parameters for the Additional Arguments eld. These arguments may either be kernel options,
or options for linuxrc. More information about linuxrc can be found at
http://www.novell.com/documentation/sles10/sles_admin/ data/sec_deployment_remoteinst_bootinst.html
If all the information on the Summary screen is correct, click OK to create the virtual machine. A TightVNC screen appears and at this point you begin the installation of your OS. From this point on, follow the regular installation instructions for installing your OS. More information for any instructions that might be different for installing your OS in a virtualized environment may be found in Chapter 6, Xen Guest Systems (page 61).

3.3 Including Add-On Products in the Installation

In order to include an Add-On product in the installation process of a VM Guest, it is necessary to provide the installation system with both, the standard installation images and the image for the Add-On product.
First, add the system disk, the SUSE Linux Enterprise Server 10 SP2 installation image and the physical CD-Rom or Add-On image as disks to the VM Guest. For example, you may have:
Setting Up Virtual Machines 21
xvda
Main system disk.
xvdb
ISO image of the installation medium.
xvdc
ISO image of the Add-On product.
During the installation, add the Add-On product to the installation by entering the device path. Commonly, this path looks like hd:///?device=/dev/xvd<letter>. In
the special example with “xvdc” as Add-On product, this would look like:
hd:///?device=/dev/xvdc

3.4 Using the Command Line to Create Virtual Machines

From the command line, you can enter vm-install to run a text version of the Create Virtual Machine Wizard. The text version of the wizard is helpful in environments without a graphical user interface. This command defaults to using a graphical user interface if available and if no options were given on the command line.
For information on scripting a virtual machine installation, see the man pages of vm-install and vm-install-jobs.
22 Virtualization with Xen
Figure 3.3
Command Line Interface

3.5 Deleting Virtual Machines

When you use Virtual Machine Manager or the xm command to delete a virtual machine, it no longer appears as a virtual machine, but its initial startup le and virtual disks are not automatically deleted.
To delete all components of a virtual machine congured with a le-backed virtual disk, you must manually delete its virtual disk image le (/var/lib/xen/images/) and its initial startup le (/etc/xen/vm).

3.6 Using an Existing SUSE Linux Enterprise Server Virtual Machine

In SUSE Linux Enterprise Server 10, the device naming is different than the device naming of SUSE Linux Enterprise Server 9. Therefore, a SUSE Linux Enterprise
Setting Up Virtual Machines 23
Server 9 VM Guest will not be able to nd its root le system when running on a SUSE Linux Enterprise Server 10 VM Host Server.
To be able to still boot the system, you must know which device is used for the root partition of your virtual system. For example, hdaxx will be changed to xvdaxx where xx is the partition number.
When booting the system, you have to append an extra root option to the kernel com­mand line, that tells the system about its root le system. If your VM Guest used to
live on /dev/hda2, append the string root=/dev/xvda2 to the kernel command line. This option should enable you to boot the system, although additional lesystems still will not be available to the system.
To make all the needed le systems available to the VM Guest, do the following:
In order to have a valid initial ramdisk that knows about the new location of the root lesystem, run the command mkinitrd.
1
Start the VM Guest with the extra root= command line as explained above.
2
Log into the system as user root.
3
Edit the le /etc/fstab and correct all device entries.
4
Edit the virtual machine’s /boot/grub/menu.lst le. At the kernel line, x the root= and the resume= parameters according the new naming schema.
Reboot the virtual machine.
5

3.7 Troubleshooting

In some circumstances, problems may occur during the installation of the VM Guest. This section describes some known problems and their solutions.
During boot, the system hangs
The software I/O translation buffer allocates a large chunk of low memory early in the bootstrap process. If the requests for memory exceed the size of the buffer it usually results in a hung boot process. To check if this is the case, switch to console 10 and check the output there for a message similar to
24 Virtualization with Xen
Loading...
+ 68 hidden pages