====== 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 [[Create_DomU#LVM_Based_Setup_of_Virtual_Disk]] and [[Basic_Setup_of_Xen3.2_32bit#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/