EXPERIMENTAL Xen guest domain installation for SLC 3.0.8 / i386
PLEASE NOTE: This is Work In Progress and
NOT
production quality release: it may or may not work
for you ... remember: if it breaks you have to keep
both pieces ... and YMMV ..
This installation procedure concerns
ONLY
para-virtualized Xen guest systems.
This installation procedure was tested
ONLY with
SLC3.0.8 'CERN Recommended Setup' default installation
type.
PLEASE NOTE: Since support for SLC3/x86_64 and SLC3/ia64 architectures ends December 2006 Xen guest systems
will NOT be provided for these architectures.
Installation instructions
- edit /etc/xen/SLC308guest configuration file
name = "SLC308guest"
memory = 512
#vcpus = 2
disk = [ 'file:/somewhere_somefile.img,sda,w' ]
vif = [ 'mac=00:16:3E:XX:XX:XX' ]
#bootloader="/usr/bin/pygrub"
on_reboot = 'destroy'
on_crash = 'destroy'
on_poweroff = 'destroy'
(create
/somewhere_somefile.img with dd , at least 5GB needed.. see
PreparingXenGuestFilesystems for a more detailed description how to prepare guest filesysems)
NOTE: for SLC 3.0.8 para-virtualized guest
ONLY A SINGLE sda
virtual disk is supported (after installation additional devices may be added to the system)
NOTE: MAC address should start with 00:16:3E - this is Xensource
reserved range allowed for public Xen-related usage. And you will need to register this machine in advance in
LanDB, and probably need to ask Netops to change the existing entry for the hypervisor machine to become a "Fanout".
Starting the guest installation
- download installation kernel and ramdisk from:
http://linuxsoft.cern.ch/cern/slc308/i386/images/xen/
- run:
/usr/sbin/xm create SLC308guest -c \
kernel=vmlinuz \
ramdisk=initrd.img \
extra="method=http://linuxsoft.cern.ch/cern/slc308/i386/ ramdisk_size=16384 serial skipddc"
NOTE:
serial IS needed , or installer will crash on hardware detection,
skipddc IS needed, or kernel will crash on hardware detection.
NOTE: If your dom0/hypervisor system has SELinux enabled and you get errors about
vmlinuz or
initrd.img not being found despite seeing them via
ls
(e.g. after downloading them into
/tmp
or
/root
), you may run into SELinux trouble (
/var/log/messages
may have some "_avc_" entries in this case). Use
chcon system_u:object_r:etc_t initrd.img vmlinuz
to label the files with a context that is accessible by
xend, neither
/tmp
nor
/root
are readable for
xend. Or copy (not move) these files to a different directory.
The installation procedure looks exactly the same as
standard SLC3 installation on real hardware.
Post installation setup
- after installation finished edit /etc/xen/SLC308guest again
name = "SLC308guest"
memory = 512
#vcpus = 2
disk = [ 'file:/somewhere_somefile.img,sda,w' ]
vif = [ 'mac=00:16:3E:XX:XX:XX' ]
bootloader="/usr/bin/pygrub"
on_reboot = 'restart'
on_crash = 'restart'
on_poweroff = 'destroy'
Running the guest domain
Automatic startup of guest domain
Finalizing guest domain setup
After guest domain reboots it will have configured additional
apt repository for Xen-enabled kernels/glibc .. etc.
(SO PLEASE ignore the warning about
/lib/tls on first boot ,
just check that after update you have glibc-X.Y.Z.xen installed)
Since the graphical installer is not supported in virtualized
guests for now, you will have to configure your system for
CERN setup manually:
/usr/sbin/lcm --configure --all
/sbin/chkconfig --levels 345 afs on
/sbin/service afs start
/usr/sbin/lcm --update
Also disable the CPU microcode update (after all we are running on virtual CPUs ...)
and SMART disk monitoring (we are running on virtual disks too ..).
The hardware clock cannot be set either, so NTP is useless on the client (but you want it to run on the hypervisor).
/sbin/service microcode_ctl stop
/sbin/chkconfig --del microcode_ctl
/sbin/service smartd stop
/sbin/chkconfig --del smartd
/sbin/service ntpd stop
/sbin/chkconfig --del ntpd
Management of Xen domains