Installing Xen On An Ubuntu Feisty Fawn Server From The Ubuntu Repositories - Page 2

On this page

  1. )
  2. 4 Links

3 Creating Virtual Machines (domU)

Now let's create our first guest domain, xen1.example.com, running Dapper Drake (dapper) with the IP address 192.168.0.101:

xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \
--ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \
--dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.19-4-server \
--initrd=/boot/initrd.img-2.6.19-4-server --debootstrap --dist=dapper \
--mirror=http://de.archive.ubuntu.com/ubuntu/ --passwd

A lot of switches are unnecessary here because we specified the same details in /etc/xen-tools/xen-tools.conf but it shows that you can specify the desired settings either on the command line or in /etc/xen-tools/xen-tools.conf. Please make sure that you specify --ide, otherwise your virtual machine might not boot!

(To learn more about the available options, take a look at the xen-create-image man page:

man xen-create-image

)

The xen-create-image command will now create the xen1.example.com virtual machine for us. This can take a few minutes. The output should be similar to this one:

[email protected]:~# xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \
> --ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \
> --dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.19-4-server \
> --initrd=/boot/initrd.img-2.6.19-4-server --debootstrap --dist=dapper \
> --mirror=http://de.archive.ubuntu.com/ubuntu/ --passwd

General Infomation
--------------------
Hostname       :  xen1.example.com
Distribution   :  dapper
Fileystem Type :  ext3

Size Information
----------------
Image size     :  2Gb
Swap size      :  256Mb
Image type     :  sparse
Memory size    :  64Mb
Kernel path    :  /boot/vmlinuz-2.6.19-4-server
Initrd path    :  /boot/initrd.img-2.6.19-4-server

Networking Information
----------------------
IP Address 1   : 192.168.0.101
Netmask        : 255.255.255.0
Gateway        : 192.168.0.1


Creating swap image: /home/xen/domains/xen1.example.com/swap.img
Done

Creating disk image: /home/xen/domains/xen1.example.com/disk.img
Done

Creating ext3 filesystem on /home/xen/domains/xen1.example.com/disk.img
Done

Installing your system with debootstrap mirror http://de.archive.ubuntu.com/ubuntu/
Done

Running hooks
Done

No role script specified.  Skipping

Creating Xen configuration file
Done
Setting up root password
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
All done


Logfile produced at:
         /var/log/xen-tools/xen1.example.com.log
[email protected]:~#

There should now be a xen1.example.com configuration file - /etc/xen/xen1.example.com.cfg. Take a look at it to become familiar with virtual machines configuration files:

cat /etc/xen/xen1.example.com.cfg

#
#  Configuration file for the Xen instance xen1.example.com, created on
# Tue Jun 26 12:50:50 2007.
#


#
#  Kernel + memory size
#
kernel = '/boot/vmlinuz-2.6.19-4-server'


ramdisk = '/boot/initrd.img-2.6.19-4-server'

memory  = '64'


#
#  Disk device(s).
#
root    = '/dev/hda1 ro'

disk    = [ 'file:/home/xen/domains/xen1.example.com/disk.img,hda1,w', 'file:/home/xen/domains/xen1.example.com/swap.img,hda2,w' ]

#
#  Hostname
#
name    = 'xen1.example.com'


#
#  Networking
#
vif  = [ 'ip=192.168.0.101' ]

#
#  Behaviour
#
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

To start the virtual machine, run

xm create /etc/xen/xen1.example.com.cfg

Run

xm console xen1.example.com

to log in on that virtual machine (type CTRL+] if you are at the console, or CTRL+5 if you're using PuTTY to go back to dom0), or use an SSH client to connect to it (192.168.0.101).

To get a list of running virtual machines, type

xm list

The output should look like this:

[email protected]:~# xm list
Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0      327     1 r-----    687.7
xen1.example.com                           1       64     1 -b----     22.4
[email protected]:~#

To shut down xen1.example.com, do this:

xm shutdown xen1.example.com

If you want vm01 to start automatically at the next boot of the system, then do this:

ln -s /etc/xen/xen1.example.com.cfg /etc/xen/auto

Here are the most important Xen commands:

xm create -c /path/to/config - Start a virtual machine.
xm shutdown <name> - Stop a virtual machine.
xm destroy <name> - Stop a virtual machine immediately without shutting it down. It's as if you switch off the power button.
xm list - List all running systems.
xm console <name> - Log in on a virtual machine.
xm help - List of all commands.

Let's create a second vm, xen2.example.com with the IP address 192.168.0.102 and Edgy Eft (edgy) as the operating system:

xen-create-image --hostname=xen2.example.com --size=2Gb --swap=256Mb --ide \
--ip=192.168.0.102 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \
--dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.19-4-server \
--initrd=/boot/initrd.img-2.6.19-4-server --debootstrap --dist=edgy \
--mirror=http://de.archive.ubuntu.com/ubuntu/ --passwd

Afterwards, you can start xen2.example.com like this:

xm create /etc/xen/xen2.example.com.cfg

and shut it down like this:

xm shutdown xen2.example.com

A list of all virtual machines that were created with the xen-create-image command is available under

xen-list-images

[email protected]:~# xen-list-images
Name: xen1.example.com
Memory: 64
IP: 192.168.0.101

Name: xen2.example.com
Memory: 64
IP: 192.168.0.102
[email protected]:~#

To learn more about what you can do with xen-tools, take a look at this tutorial: http://www.howtoforge.com/xen_tools_xen_shell_argo

 

Falko Timme

About Falko Timme

Falko Timme is an experienced Linux administrator and founder of Timme Hosting, a leading nginx business hosting company in Germany. He is one of the most active authors on HowtoForge since 2005 and one of the core developers of ISPConfig since 2000. He has also contributed to the O'Reilly book "Linux System Administration".

Share this page:

Suggested articles

0 Comment(s)

Add comment