Xen

Xen is a hypervisor virtual machine that runs multiple open-source operating systems.

(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).

Configuring the Bootloader

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-2.6.12.6-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.

Conclusion

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 irfan.habib@gmail.com.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Mr. Habib: You mention in

moschlegel's picture

Mr. Habib:

You mention in the article:

"VMware's approach does have one large advantage over Xen's approach. VMware is capable of virtualizing proprietary operating systems. As I discuss later in this article, you have to port an operating system's kernel to Xen for it to work with Xen. You cannot run an operating system on Xen otherwise."

I'm not sure this is exactly correct, in the case of Xen running
on a cpu with AMD-v or Intel VT hardware extentions, you can
run proprietary OS's raw with no porting of the guest OS to xen.
In the case of AMD, you'd have to use a AM2 or later chip or
with Intel any of the recent Core 2, Xeon or other chips with
Vanderpool support.
Mark Schlegel

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix