show sidebarInstalling OpenSSI Xen Cluster ( XXEN)
====================================
1) Follow the Xen installation procedure available at
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/readmes/user/user.html. Since
in this howto we are explaining the Xen-OpenSSI integration using Debian
distro you should follow the Debian installation instructions on the above
manual which can be found at
http://www.cl.cam.ac.uk/Research/SRG/netos/xen/readmes/user/user.html#SECTION03500000000000000000
2) Make sure the installation is successful by booting the unprivileged
domain
3) Modify the unprivileged domain configuration file to specify constant
mac address. The relevant entry will look like
vif = ['mac=AA:00:00:18:98:FB']
4) Make sure the unprivileged domain supports loop back device. You can verify
this using the mount command ( mount -o loop ) or losetup. If not enabled
you may need to rebuild the unprivileged kernel using the config option
CONFIG_BLK_DEV_LOOP=y. You can edit the default config file available with
xen source (xen-2.0/linux-2.6.10-xen-sparse/arch/xen/configs/xenU_defconfig)
5) Configure OpenSSI Xen cluster
a) Add the following entries to /etc/apt/sources.list in addition
to entries used for Debian installation.
deb http://radian.org/openssi-deb/openssi-v2/ ./
deb-src http://radian.org/openssi-deb/openssi-v2/ ./
b) Add following entries to /etc/apt/preferences
Package: *
Pin: origin radian.org
Pin-Priority: 1001
c) Configure http proxy. In the bash shell , you can export
environment variable ``http_proxy'' by setting its value to
local proxy server.
# Execute:
# apt-get update
# apt-get dist-upgrade
As a part of the dist-upgrade, some of the utilities will be
downgraded since OpenSSI needs a modified version of those utilities.
d) apt-get install openssi-xen
This will configure OpenSSI on your Xen virtual domain
e) Now you need to build a ramdisk which can be used to start the
cluster manager early during the boot
edit /etc/mkinitrd/mkinitrd.conf and enable OPENSSI_XEN
OPENSSI_XEN=yes
set the MODULES entry in /etc/mkinitrd/mkinitrd.conf to none
MODULES=none
mkinitrd -o /tmp/initrd
f) ftp this initrd to domain 0 so that it can used to boot
the unprivileged domains
6) Booting the OpenSSI Xen cluster
You need to build a OpenSSI kernel patched with xen changes
a) download a pre built OpenSSI xen kernel from
http://radian.org/openssi-deb/openssi-v2/xenU-vmlinuz
or you can build from source by the following steps
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ci-linux login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ci-linux co -r OPENSSI-DEBIAN ci
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ssic-linux login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ssic-linux co -r OPENSSI-DEBIAN openssi
Now you need to get the base kernel against which the above checked out
openssi changes are made. In our case it is the linux 2.6.10 kernel. You can download the same from www.kernel.org
Extract linux-X-Y-Z.bz2 to linux directory so that we have a directory layout as below
kvaneesh@machineheads:~/myopensource/$ ls
ci linux linux-2.6.10.tar openssi
kvaneesh@machineheads:~/myopensource/$ cd openssi/
kvaneesh@machineheads:~/myopensource/openssi$ make xenkern
kvaneesh@machineheads:~/myopensource/openssi$ cd ..
kvaneesh@machineheads:~/myopensource/$ ls
ci linux linux-2.6.10.tar linux-ssi openssi
kvaneesh@machineheads:~/myopensource/$
This should give you linux-ssi dir which is the linux kernel with ssi
changes
b) Build the kernel.
You can use the sample config file available at
<openssi-co-dir>/kernel.configs/kernel-ssi-xenU.config
make ARCH=xen oldconfig
make ARCH=xen vmlinuz
c) Now boot the Xen unprivileged domain using the above build vmlinuz kernel
7) Adding new nodes to the cluster
a) Fix another mac address to the nodes to be added. We cannot let
xen to work with random mac address.
b) Now from booted single node cluster run
ssi-addnode --xennode --hwaddr=<The mac address specified in the above step>
c) rebuild the ramdisk using
mkinitrd -o /tmp/intrd.gz
d) ftp the initrd image to the domain 0 so that it can be used to
boot the unprivileged domain
Sample Xen configuration files
---------------------------
node3:/home/kvaneesh/xen/sarge/ssi# more sarge-node1-config
kernel = "/home/kvaneesh/xen/sarge/ssi/vmlinuz"
ramdisk = "/home/kvaneesh/xen/sarge/ssi/initrd"
memory = 32
name = "sarge-node1"
nics = 1
vif = ['mac=AA:00:00:18:98:FB']
ip = "node1's IP address"
netmask = "your network subnet mask"
gateway = "gateway IP address"
disk = ['file:/home/kvaneesh/xen/sarge/root-sarge-image.hda,hda1,w']
root = "/dev/hda1 ro"
node3:/home/kvaneesh/xen/sarge/ssi#
node3:/home/kvaneesh/xen/sarge/ssi# more sarge-node2-config
kernel = "/home/kvaneesh/xen/sarge/ssi/vmlinuz"
ramdisk = "/home/kvaneesh/xen/sarge/ssi/initrd"
memory = 32
name = "sarge-node2"
nics = 1
vif = ['mac=AA:00:00:18:97:FB']
ip = "node 2 IP address"
netmask =" your network subnet mask"
gateway = "gateway IP address "
root = "/dev/hda1 ro"
node3:/home/kvaneesh/xen/sarge/ssi#
This page last updated on
Thu Dec 15 17:17:43 2005 GMT
privacy and legal statement