(or whatever the name of the RPM is).
Installing Xen from source is more complicated, as it involves patching and recompiling the Linux kernel. Installing from source is not covered in this article, and is described thoroughly in the Xen User Manual (www.cl.cam.ac.uk/Research/SRG/netos/xen/documentation.html).
After Xen has been installed, we need to configure the bootloader. For GRUB users, edit the menu.lst file, and add this entry:
title Xen kernel /boot/xen-3.0.gz dom0_mem=32768 module -->/boot/vmlinuz-2.6-xen0 root=/dev/hda7 ro console=tty0
vmlinuz-2.6-xen0 is the kernel image that would have been installed by the tarball binaries or RPM; if you install from source, replace the name of the image here.
Also be sure to replace the name of the root filesystem to suit your system (in this example, it is root=/dev/hda7).
For LILO users, do the following:
image="/boot/xen-3.0.gz label="Xen" root="/dev/hda7" read-only append="dom0_mem=32768"
After Xen has been installed and configured, you are now ready to boot in to Xen and start your first virtual machine.
After rebooting and starting your Xen installation, which resembles a normal Linux startup, log in to Domain0. That is the most-privileged domain in a Xen system.
From here, users can create virtual machines that will run guest operating systems, and start and stop virtual machines.
To create a new virtual machine, you need to define a configuration file for it. Xen comes with two default configuration files in the /etc/xen directory named xmexample1/ amd xmexample2/. The configuration files contain many parameters, but fortunately, many of them are optional. You need only a few configured parameters to get your virtual machine running. Some important parameters include:
Kernel: which kernel to boot.
Root: the root filesystem.
Disk: on which disk partition the system is installed.
Memory: define how much memory the virtual machine should use.
A sample configuration file may look like this:
kernel = '/boot/vmlinuz-220.127.116.11-xen' disk = [ 'phy:hda1,hda1,w' ] root = '/dev/hda1 ro' memory = 128
After declaring a configuration file for the virtual machine, you can boot up the machine by typing the following:
bash# xm create -c /root/myOSconf vmid=1
where myOsconf is the name of the configuration file.
After this, a new window will pop up, and you will see a normal Linux startup until you reach the login screen, and from there you can enjoy your new guest OS.
Xen is mature, open-source virtualization software that creates many new opportunities for organizations in reducing their total cost of ownership and providing more dependable and high-availability applications. Commodity x86-based systems provide all of this, with a minimum cost of porting an operating system to Xen.
The developers of Xen have tested Xen against other popular virtualization solutions, such as VMware Workstation and user-mode Linux. In all tests conducted, Xen out-performed the other approaches—in standard benchmark tests, such as Spec Int200, Spec Web99, dbench and many more. The results were published in a research paper, available at www.cl.cam.ac.uk/Research/SRG/netos/papers/2003-xensosp.pdf.
Irfan Habib has been an open-source enthusiast for five years. He has great interest in distributed computing technologies, in which he does full-time research, and he loves to explore new solutions to common problems in computing. Comments can be sent to him at email@example.com.
- VMware's Clarity Design System
- Let's Go to Mars with Martian Lander
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- My Childhood in a Cigar Box
- Papa's Got a Brand New NAS
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- Panther MPC, Inc.'s Panther Alpha
- Jetico's BestCrypt Container Encryption for Linux
- GENIVI Alliance's GENIVI Vehicle Simulator