Xen-test-debian

From VNUML-WIKI
Revision as of 18:47, 21 February 2007 by Fgalan (talk | contribs) (Create the first virtual machine)
Jump to: navigation, search

Xen HOWTOS for Debian

Installing Xen basic packages in Debian

Udpate the APT repository

 apt-get update

Install the Xen hypervisor. Note that the version may have changed: search for the current one using 'apt-get search xen-hypervisor'. Default hypervisor supports up to 4GB of physical RAM, the -pae version up to 64GB of physical RAM (we are considering the former here).

 apt-get install xen-hypervisor-3.0.3-1-i386

Install the Xen kernel:

 apt-get install linux-image-xen-686

Install Xen tools:

 apt-get install xen-tools

Install the libc6-xen (I'm not sure what it's for or even if this installation could be omitted):

 apt-get install libc6-xen

All packages in the same command:

 apt-get install xen-hypervisor-3.0.3-1-i386 linux-image-xen-686 xen-tools libc6-xen

Create the first virtual machine

Create a working directory (e.g., /root/xen.test)

 mkdir /root/xen-test

Edit the /etc/xen-tools/xen-tools.conf file. The gateway= value used here could be not appropiated for you.

 dir    = /root/xen-test
 size   = 1Gb
 memory = 32Mb
 swap   = 128Mb
 fs     = ext3
 dist   = sarge
 image  = sparse
 gateway = 192.168.247.2
 netmask = 255.255.255.0
 passwd  = 1
 kernel  = /boot/vmlinuz-2.6.18-3-xen-686
 initrd  = /boot/initrd.img-2.6.18-3-xen-686
 mirror  = http://ftp.us.debian.org/debian/

Create the first virtual machine (it will take a LONG time). Use a proper IP for you.

 xen-create-image --hostname=test --ip=192.168.247.140 --passwd --debootstrap

This creates the necesary files under /root/xen-test. However, the key file descring the virtual machine is /etc/xen/test.cfg. What xen-create-image has put in test.cfg is the following:

 kernel  = '/boot/vmlinuz-2.6.18-3-xen-686'
 ramdisk = '/boot/initrd.img-2.6.18-3-xen-686'
 memory  = '32'
 root    = '/dev/sda1 ro'
 disk    = [ 'file:/root/xen-test/domains/test/disk.img,sda1,w', 'file:/root/xen-test/domains/test/swap.img,sda2,w' ]
 name    = 'test'
 vif     = [ 'ip=192.168.247.140' ]
 on_poweroff = 'destroy'
 on_reboot   = 'restart'
 on_crash    = 'restart'

In order to boot the machine (note that you don't have to specify the complete pathname of test.cfg, it seems that xm looks in /etc/xen by default).

 xm create test.cfg -c

It also can take a while to boot the virtual machine. The '-c' is to get the booting output and loging in the same console where xm is invoked (this is very useful to know when the virtual machine has been booted). To come back to the host enviroment just press Ctrl+].

Uselful management operations

To list active domains:

 xm list

To finish with the virtual machine:

 xm destroy test

Troubleshooting

  • If you have problems related with memory when booting virtual machines, you may find useful the dom0_mem kernel switch. Edit your GRUP configuration so your kernel line looks like this:
  •  kernel /boot/xen-3.0.3-1-i386.gz dom0_mem=512M
    

    changing 512 for the desired memory in your case, of course. NOte that if you use a dom0_mem value to close to your actual physical RAM memory you will get a panic error when booting the host: as a hint dom0_mem<= phy_mem-32M (assuming the Xen hypervirso consumes less than 32MB).

Uselful references

http://www.debian-administration.org/articles/396