Xen-test-debian

From VNUML-WIKI
Revision as of 12:17, 22 February 2007 by Fgalan (talk | contribs) (Troubleshooting)
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 connect to the virtual machine console:

 xm console test

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

  • If you run Xen in a VMware virtual machine using NAT, you should use an special MAC prefix for your Xen virtual machine: 00:0C:29. Edit the /etc/xen/test.cfg file and edit the vif line so looks (for example):
  •  vif  = [ 'mac=00:0C:29:11:22:33,ip=192.168.247.140']
    

    the problem is quite similar to the one described in the following post in the vnuml-users list: https://lists.dit.upm.es/pipermail/vnuml-users/2005-September/000204.html

Uselful references

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