Linux Xen Notes

Quick and dirty ref sheet for myself 🙂

vgdisplay – this command shows you all the disk space used/free
lvdisplay – this will show you all the partitions that you have running and how big they are etc

lvextend -L +10G /dev/vg00/files – this will increase /dev/vg0/files 10GB
xfs_growfs /dev/vg0/files – this will resize the xfs partition to take into account eh extra 10GB

lvcreate /dev/vg0 -n mail1 -L 10G # create a partition 10GB called mail1
  lvcreate /dev/vg0 -n mail1-swap -L 1G # create a partition 1GB called mail1-swap
  mkswap /dev/vg0/mail1-swap
  xen-create-image --dist=sarge --debootstrap --hostname=mail1 --force --passwd --size=10G --swap=1G --lvm=vg00   --mirror=http://ftp.nz.debian.org/debian/ --mem=200 --gateway=192.168.10.2 --netmask=255.255.255.0 --ip=192.168.10.81
  cd /etc/xen/ # make a config/copy one from elsewhere and edit it
  sudo ln -s /etc/xen/mail1.cfg /etc/xen/auto/
  xm create -c mail1.cfg
  xm console mail1

Terminology: In xen, everything runs as a virtual machine, even the ‘host operating system’ ( called dom0 ) is just the virtual machine from which you control all the others. The ‘virtual machines’ themselves are called ‘domU’ virtual machines & the only difference is their absence of this admin capability.

To do anything with Xen, ssh to the dom0 on which your xen domU runs and run the ‘xm’ xommand

xm #Lists xm subcommands
xm list # lists xen domUs
xm top # Show xen CPU usage
xm reboot xxxxx #Reboot xen nodes
xm shutdown xxxx # shutdown xen node
xm destry xxxx # equivalent of pulling power cable
xm create xxxx.cfg #Boot a xen node (note the cfg)
xm console xxx # Attach to the console of a xen node, press CTRL-] to exit

To create a xen machine try a shell script similar to this

hostname=test
dist=sarge # Or etch for a new system
ipaddress=192.168.10.161
mem=2000
xen-create-image --dist=$dist --debootstrap --hostname=$hostname --force --passwd --size=5G --swap=1G --lvm=vg00   --mirror=http://debian.orcon.net.nz/debian --mem=$mem --gateway=192.168.10.2 --netmask=255.255.255.0 --fs=xfs --ip=$ipaddress