this is obsolete doc -- see http://doc.nethence.com/ instead

Managing XEN guests 

 

 

Virtual disk & CDrom 

Use TAP, 

disk = [ 'tap:aio:/data/bsd/bsd.disk,xvda,w' ]

 

Use FILE, 

disk = [ 'file:/data/bsd/bsd.disk,xvda,w' ]

 

Add a virtual CDrom, 

disk = [ '..., 'file:/data/amd64cd-5.1_RC4.iso,ioemu:hdc:cdrom,r' ]

 

Pass through the real CDrom, 

disk = [ '..., 'phy:/dev/cdrom,hdc,r' ]

 

 

Guest Note. for bridging, 

#vif = [ 'vifname=vcentos5x64_0' ]

 

vif = [ 'vifname=vcentos5x64_0,ip=88.191.229.127' ]

 

Hot plug a disk or CDrom, 

xm li
xm block-attach ID /data/guest2/guest2.disk2 /dev/xvdb w
xm block-attach guest2 /data/cdrom.iso /dev/hdc r

note. change guest identified accordingly 

unplug the disk, 

xm block-list 1
xm block-detach 1 5632

note. change guest and device identifiers accordingly 

 

 

Virtual network interface 

If using several bridges, define the one in guest's config, 

vif = [ 'bridge=br0' ]

 

Force the MAC address (bridge config), 

vif = [ 'mac=00:16:3e:aa:aa:aa,bridge=bridge0' ]

Note. XEN range : 00:16:3e:xx:xx:xx 

 

Force IP address (NAT config), 

vif = [ 'ip=IP_ADDRESS, ...vifname=veth1' ]

 

 

tap:aio vs file 

Do not use tap:aio on sparse file virtual disks on top of a journaled filesystem.  

 

Note. 'file:' is not flushing the data to the disk, it hangs around in memory and is flushed by the host kernel guest as needed. IT is not remotely safe for the data. 

 

Note. 'tap:aio' flushes the data to the disk. 

 

Recommended applications : 

- 'file:' against a sparse file (file-backed storage) 

- 'file:' against a non-sparse file (file-backed storage) 

- 'tap:aio:' against a non-sparse file (file-backed storage) 

- lvm-backed storage, 

disk    = [ \
'phy:vguests/guest_sda1,sda1,w', \
'phy:vguests/guest_sda2,sda2,w' ]