Xen-test-debian
Xen HOWTOS for Debian
Contents
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). It also can take a while to boot the virtual machine.
xm create test.cfg -c
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).