Xen on Fedora 13
Alteeve Wiki :: How To :: Xen on Fedora 13 |
Warning: This is currently a dumping ground for notes. DO NOT FOLLOW THIS DOCUMENT'S INSTRUCTIONS. Seriously, it could blow up your computer or cause winter to come early.
Installing from RPM
Note: This method uses the older Xen 3.4.x tools and myoung's dom0, which does not support DRBD.
Xen Hypervisor
Installing Xen (minus dom0) is trivial:
yum install xen
dom0
This uses a kernel built for Fedora 12, but it works on Fedora 13.
Add the repo:
cd /etc/yum.repos.d/
wget -c http://myoung.fedorapeople.org/dom0/myoung.dom0.repo
Edit the repo file and change the two enabled=0 entries to enabled=1.
vim /etc/yum.repos.d/myoung.dom0.repo
[myoung-dom0]
name=myoung's repository of Fedora based dom0 kernels - $basearch
baseurl=http://fedorapeople.org/~myoung/dom0/$basearch/
enabled=1
gpgcheck=0
[myoung-dom0-source]
name=myoung's repository of Fedora based dom0 kernels - Source
baseurl=http://fedorapeople.org/~myoung/dom0/src/
enabled=1
gpgcheck=0
Install the Xen dom0 kernel (edit the version number if needed).
yum install kernel-2.6.32.17-157.xendom0.fc12.x86_64
The entry in grub's /boot/grub/menu.lst won't work. You will need to edit it to look like this:
title Xen 3.4.x, Linux kernel 2.6.32.17-157.xendom0.fc12.x86_64
root (hd0,0)
kernel /xen.gz dom0_mem=1024M
module /vmlinuz-2.6.32.17-157.xendom0.fc12.x86_64 ro root=/dev/mapper/vg_01-lv_root rd_MD_UUID=4f48439e:39ec22e8:a6154857:c340036f rd_LVM_LV=vg_01/lv_root rd_LVM_LV=vg_01/lv_swap rd_NO_LUKS rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet
module /initramfs-2.6.32.17-157.xendom0.fc12.x86_64.img
Add this to /etc/fstab
vim /etc/fstab
xenfs /proc/xen xenfs defaults 0 0
Build from source
This is required if you want dom0 and DRBD.
Install Requirements
For the hypervisor:
yum -y groupinstall "Development Libraries"
yum -y groupinstall "Development Tools"
yum -y install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial
yum -y install glibc-devel.i686
For dom0:
Notes taken from here.
yum -y install rpmdevtools yum-utils
Xen Hypervisor
Note: These are the tools, not dom0.
All of this is from here.
From mercurial, stable tag.
Get version 4.0.1 (or newer, depending on what the latest stable is):
hg clone -r RELEASE-4.0.1 http://xenbits.xen.org/xen-4.0-testing.hg
Go into the directory and compile the tools:
cd xen-4.0-testing.hg
make xen
make tools
make stubdom
Install the tools (assuming compile worked):
make install-xen
make install-tools
make install-stubdom
dom0
Note: Until otherwise noted, you do not need to run these steps as root.
cd ~
rpmdev-setuptree
Note: Copy and modify the entry created by the RPM. Simply copying this entry will almost certainly not work!
Xen 4.0.1:
title Xen 4.0.1, Linux kernel 2.6.32.17-157.xendom0.fc12.x86_64
root (hd0,0)
kernel /xen-4.0.1.gz dom0_mem=1024M
module /vmlinuz-2.6.32.17-157.xendom0.fc12.x86_64 ro root=/dev/mapper/vg_01-lv_root rd_MD_UUID=4f48439e:39ec22e8:a6154857:c340036f rd_LVM_LV=vg_01/lv_root rd_LVM_LV=vg_01/lv_swap rd_NO_LUKS rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet
module /initramfs-2.6.32.17-157.xendom0.fc12.x86_64.img
Add this to /etc/fstab
vim /etc/fstab
xenfs /proc/xen xenfs defaults 0 0
Make cman and xend play nice
By default under Fedora 13, cman will start before xend. This is a problem because xend takes the network down as part of it's setup. This causes totem communication to fail which leads to fencing.
To avoid this, edit /etc/init.d/cman and tell it to start after xend by adding "xend" to Required-Start and Required-Stop boot facility lists.
When done, the cman LSB header should look like this:
vim /etc/init.d/cman
### BEGIN INIT INFO
# Provides: cman
# Required-Start: $network $time xend
# Required-Stop: $network $time xend
# Default-Start:
# Default-Stop:
# Short-Description: Starts and stops cman
# Description: Starts and stops the Cluster Manager set of daemons
### END INIT INFO
Next, we need to tell xend not to default to start position 98. Without this change, services we want to start after xend (xman -> drbd -> clvmd -> xendomains) would all fall to start position 99. This would mean that the start order would become dependent on the daemon name, which is a bad idea. For example, this would cause clvmd to start before cman, which we don't want.
Change chkconfig: 2345 98 01 to chkconfig: 2345 11 98.
vim /etc/init.d/drbd
# chkconfig: 2345 11 98
# description: Starts and stops the Xen control daemon.
### BEGIN INIT INFO
# Provides: xend
# Required-Start: $syslog
# Should-Start: $remote_fs
# Required-Stop: $syslog
# Should-Stop: $remote_fs
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Default-Enabled: yes
# Short-Description: Start/stop xend
# Description: Starts and stops the Xen control daemon.
### END INIT INFO
Lastly, remove and re-add the cman and xend daemon to the start list:
Note': This has extra entries to make sure all relevant entries are sorted when re-added. If you do not have some of the daemons listed below installed yet, simply skip them.
chkconfig xend off; chkconfig cman off; chkconfig drbd off; chkconfig clvmd off; chkconfig xendomains off
chkconfig xend on; chkconfig cman on; chkconfig drbd on; chkconfig clvmd on; chkconfig xendomains on
Done. You should be able to reboot into the dom0 kernel now.
Misc
Source RPM: xen-4.0.1-0.2.fc13.src.rpm, xen-modules.patch
Creating domU VMs
Once you have ...
Any questions, feedback, advice, complaints or meanderings are welcome. | |||
Alteeve's Niche! | Alteeve Enterprise Support | Community Support | |
© 2025 Alteeve. Intelligent Availability® is a registered trademark of Alteeve's Niche! Inc. 1997-2025 | |||
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions. |