From Wiki

Jump to: navigation, search


Setting up Trainee Admin Xen VMs Automatically

This how-to guide covers streamlining the setting up of Xen VMs using xen-tools. The setting up of Xen and VMs is also discussed here: [:Admin/SetupGuides/SettingUpXenVMs]

In brief, to Create a VM

ssh dom0
xen-create-image --hostname dom0-vm## --ip

Documented Procedure on getting to the above stage:

1. Install Xen

apt-get install linux-image-2.6-xen-686 xen-hypervisor-3.0.3-1-i386-pae xen-tools bridge-utils libc6-xen sysfsutils

2. Setup Xen to use Bridge Networking

vi /etc/xen/xend-config.sxp
(vif-script vif-bridge)
(network-script network-bridge)

3. Reboot dom0 and Check Xen

xm list
#shows machines running

#you should see entries for: peth0 and xenbr0

4. Configure Xen-tools

This step shows all the settings which were required:

vi /etc/xen-tools/xen-tools.conf
#uncommented lines are as follows:
lvm = hexvg
debootstrap = 1
size   = 4Gb      # Disk image size.
memory = 64Mb    # Memory size
swap   = 128Mb    # Swap size
# noswap = 1      # Don't use swap at all for the new system.
fs     = ext3     # use the EXT3 filesystem for the disk image.
dist   = etch    # Default distribution to install.
image  = sparse   # Specify sparse vs. full disk images.
gateway   =
netmask   =
passwd = 1
kernel = /boot/vmlinuz-2.6.18-4-xen-686
initrd = /boot/initrd.img-2.6.18-4-xen-686
mirror = http://ftp.ie.debian.org/debian/

Configure /etc/profile to use a proxy on dom0:

vi /etc/profile
export http_proxy="http://proxy:3128"
#case sensitive for debootstrap!!

Copy files for domU skeleton as follows:

mkdir -p /etc/xen-tools/skel/root/.ssh/
mkdir -p /etc/xen-tools/skel/etc/

cp /root/.ssh/authorized_keys2 /etc/xen-tools/skel/root/.ssh/
cp /etc/profile /etc/xen-tools/skel/etc/

5. Manage xen-tools

Xen-tools is a front end, doing a lot of things:

  • xen-tools will handle creating and deleting lvm partitions for vms.
  • xen-tools will mount and copy across network setting and whatever files you wish onto the domU.
  • xen-tools will mount and debootstrap the os you specified onto the domU.

Note, the settings which are not specified on the command line are kept in: /etc/xen-tools/xen-tools.conf

xen-create-image --hostname hex-vm04 --ip
xen-delete-image hex-vm04
#cleanly delets the vm, including removing the lvm partition!

Xen Specific Tools:

xm create /etc/xen/hex-vm04.cfg
#VMs still need to be started manually.

xm console hex-vm04
#serial console in. Hit CTRL + } to escape

xm shutdown hex-vm04
#brings down the VM


  • xen-tools greatly speeds up creating the VMs. Note: it does take xen-tools between 10-15 minutes to create and debootstrap a VM, so be patient.
  • As long as VMs are running when dom0 goes down, xen-tools will bring back up all domU's on restart.
  • Use "xm list" and "xm top" to see an exact list of whats running.
  • With a later version of xen-tools (later than what is with etch), it is possible to setup incremental IPs, so the IP does not have to be specified when going xen-create-image.
  • cp /root/.ssh/authorized_keys2 /etc/xen-tools/skel/root/.ssh/ allows you to ssh into the new VM without a password.
  • If you dont have "passwd = 1" then all existing users and passwords from existing dom0 will be copied across to domU.
  • Minor problems occurred from xen-tools. On creating a new VM, it added an entry into /etc/hosts on dom0. As I was testing with a few setups, old ips remained within /etc/hosts. The dns names are now added into dns, so they dont need to be in the hosts file.
  • When the domU is up and running, you might want to run:
apt-get remove locales
apt-get install locales
dpkg-reconfigure locales
Personal tools