Table of Contents

Xen_4.0.1_on_Debian_Squeeze_dom0_and_domU

Most of the details on this page are from Debians much improved wiki page at http://wiki.debian.org/Xen

Installation of Xen on Debian Squeeze

aptitude -P install xen-linux-system //At this point I prematurely rebooted and went //xm list //WARNING! Can't find hypervisor information in sysfs! //Error: Unable to connect to xend: No such file or directory. Is xend running? //don't reboot. Follow the below:

mv /etc/grub.d/10_linux /etc/grub.d/21_linux

Additional Tweaks to make dom0 more stable

Limit RAM available to dom0

vi /etc/default/grub #add the following # Disable OS prober to prevent virtual machines on logical volumes from appearing in the boot menu. GRUB_DISABLE_OS_PROBER=true #limit dom0 to 512MB RAM GRUB_CMDLINE_XEN=“dom0_mem=512M”

update-grub

Disable auto save and restore of domUs on host reboot

Apparently in Debians wiki, they say that saving the state of domU's on powerdown doesn't always work. Hence, disable the xen save and restore. vi /etc/default/xendomains XENDOMAINS_RESTORE=false XENDOMAINS_SAVE=“”

Bridge Networking and disabling Memory Ballooning

vi /etc/xen/xend-config.sxp #(vif-script vif-bridge) (network-script 'network-bridge antispoof=yes') #(enable-dom0-ballooning yes) (enable-dom0-ballooning no)

Reboot dom0 and bring up Xen

reboot xm list //outputs: Name ID Mem VCPUs State Time(s) Domain-0 0 15630 12 r—– 10.2

Create Virtual Machines - domUs

At this stage I used to manually setup lvm volumes and manually debootstrap the VM. See LVM_Based_Setup_of_Virtual_Disk and Create_DomU I'd then copy across resolv.conf, fstab, sources.lst as well as /lib/modules/2.6… etc. However with Etch and Lenny there was additional hassle tweaking inittab and the config to get the xm console to work properly.

With Debian Squeeze, I followed Debians advise on their wiki and started using Xen-Tools. It automates a lot and makes things much easier.

Using Xen-Tools to create VMs

apt-get install xen-tools vi /etc/xen-tools/xen-tools.conf #Below are all the uncommented lines I used: lvm = vg1 install-method = debootstrap size = 20Gb memory = 512Mb swap = 1Gb fs = ext3 dist = `xt-guess-suite-and-mirror –suite` image = sparse gateway = 10.10.9.126 netmask = 255.255.255.192 bridge=xenbr0 passwd = 1 kernel = /boot/vmlinuz-`uname -r` initrd = /boot/initrd.img-`uname -r` arch = amd64 mirror = `xt-guess-suite-and-mirror –mirror` ext3_options = noatime,nodiratime,errors=remount-ro ext2_options = noatime,nodiratime,errors=remount-ro xfs_options = defaults reiserfs_options = defaults btrfs_options = defaults nohosts = 1 pygrub = 1

Set Xen-Tools to use noop Scheduler

On the setup here with LVM volumes on top of RAID 1, it is more efficient and better for performance to have VM's use the “noop” I/O scheduler. I've asked people for feedback on this in #Xen on irc.freenode. See chat log below. Also, the following links give reference to this fact also. http://old-list-archives.xen.org/archives/html/xen-users/2010-04/msg00518.html http://prefetch.net/blog/index.php/2009/04/23/best-io-scheduler-to-use-with-virtualized-linux-hosts/

15:01 <@pasik> steviewdr: yes, you need to change the scheduler 15:01 <@pasik> steviewdr: new enough linux domU kernels automatically use 15:01 <@pasik> steviewdr: noop for virtual disks 15:03 < steviewdr> pasik: kernels newer than → 2.6.32-5-xen-686? So its safe to use noop on domU's on lvm volumes? 15:03 <@pasik> steviewdr: yes, noop is safe and recommended 15:03 <@pasik> steviewdr: in domUs

You can check the current scheduler by going: cat /sys/block/xvda2/queue/scheduler You can set the scheduler by going: echo “noop” > /sys/block/xvda2/queue/scheduler

We can set this noop scheduler option in the Xen-Tools template so all new VMs created get this noop scheduler. vi /etc/xen-tools/xm.tmpl #Add in the following: extra=“elevator=noop” Note: this line can also be added into a xen vm config in /etc/xen/vm01.cfg

Create VM

xen-create-image –hostname walle-vm01 –ip 193.1.99.98 –vcpus 2

Set VM to autostart

mkdir /etc/xen/auto ln -s /etc/xen/vm01.cfg /etc/xen/auto/

Start VM

xm create -c /etc/xen/vm01.cfg

http://old-list-archives.xen.org/archives/html/xen-users/2010-04/msg00518.html http://prefetch.net/blog/index.php/2009/04/23/best-io-scheduler-to-use-with-virtualized-linux-hosts/