Chapter 2. HOWTO to add the cluster bundle into the CS4

Table of Contents

2.1. CS4 + cluster repositery
2.1.1. Setting up the CS4+cluster bundle repositery
2.1.2. HTTP and NFS configuration
2.2. Prepare the CS4 server

2.1. CS4 + cluster repositery

2.1.1. Setting up the CS4+cluster bundle repositery

The easy way to install cluster, is to do it through the network. We will create a CS4 repositery with the bindle cluster, and setup the needed services to be able to do that.

Create the a directory to store the repositery. By defautl it is /var/install/cluster. If you want to change this path, change in the file /usr/lib/perl5/vendor_perl/5.8.7/cluster_commonconf.pm the $install_dir variable.

[root@cluster ~]# mkdir /var/install/cluster -p

Now copy the content of the CS4 DVD in this directory. To do it using rsync:

[root@cluster cluster]# rsync -avHP [email protected]:/corpo4/* .
.........
[root@cluster cluster]# ls
COPYING    install/     isolinux/    media/  pkg-corpo-nutty.idx  release-notes.txt
index.htm  INSTALL.txt  LICENSE.txt  misc/   README.txt           VERSION

[root@cluster cluster]# cd media/

[root@cluster media]# ls
cdcom/  cdcom2/  dkms/  firmwares/  main/  media_info/  modules/

So it misses the cluster bundle. just add it into the media directory.

[root@cluster media]# rsync -avHP [email protected]:~/rpmcluster .

[root@cluster media]# ls
cdcom/  cdcom2/  dkms/  firmwares/  main/  media_info/  modules/  rpmcluster/

Now we have to add an entry in the hdlists file to be able to use our new medium rpmcluster. The new entry is the last line: hdlist6.cz media/rpmcluster cluster

[root@cluster media_info]# pwd
/var/install/cluster/media/media_info

[root@cluster media_info]# vi hdlists
hdlist1.cz media/main Corpo4_DVD (1573m)
hdlist2.cz media/dkms Corpo4_DVD (31m)
hdlist3.cz media/cdcom Corpo4_DVD (317m)
hdlist4.cz media/modules Corpo4_DVD (40m)
hdlist5.cz media/firmwares Corpo4_DVD (3m)
hdlist6.cz media/rpmcluster cluster

Now install with urpmi the rpmtools to be able to regenerate all hdlists.

[root@cluster ~]# gendistrib --hdlists /var/install/cluster/media/media_info/hdlists 
                  \ /var/install/cluster/
E: pubkey media/media_info/pubkey_corpo4_dvd_core1 doesn't exist for media 'main'
E: pubkey media/media_info/pubkey_corpo4_dvd_core1 doesn't exist for media 'dkms'
E: pubkey media/media_info/pubkey_corpo4_dvd_core1 doesn't exist for media 'cdcom'
E: pubkey media/media_info/pubkey_corpo4_dvd_core1 doesn't exist for media 'modules'
E: pubkey media/media_info/pubkey_corpo4_dvd_core1 doesn't exist for media 'firmwares'
E: hdlist media/media_info/hdlist6.cz doesn't exist for media 'rpmcluster'
E: synthesis media/media_info/synthesis.hdlist6.cz doesn't exist for media 'rpmcluster'
E: pubkey media/media_info/pubkey_cluster doesn't exist for media 'rpmcluster'
parsing rpm files in directory /var/install/cluster//media/main
Checking if hdlist need to be rebuild for media Corpo4_DVD core1
No
parsing rpm files in directory /var/install/cluster//media/dkms
Checking if hdlist need to be rebuild for media Corpo4_DVD core1
No
parsing rpm files in directory /var/install/cluster//media/cdcom
Checking if hdlist need to be rebuild for media Corpo4_DVD core1
No
parsing rpm files in directory /var/install/cluster//media/modules
Checking if hdlist need to be rebuild for media Corpo4_DVD core1
Yes
parsing rpm files in directory /var/install/cluster//media/firmwares
Checking if hdlist need to be rebuild for media Corpo4_DVD core1
No
parsing rpm files in directory /var/install/cluster//media/rpmcluster
Checking if hdlist need to be rebuild for media cluster
Can't open /var/install/cluster//media/media_info/hdlist6.cz: No such file or directory
Yes
clean data for second pass
parsing headers for "Corpo4_DVD core1"
computing deps
[rsing headers for "Corpo4_DVD core1"
computing deps
parsing headers for "Corpo4_DVD core1"
computing deps
parsing headers for "Corpo4_DVD core1"
computing deps
building hdlist for medium "Corpo4_DVD core1"
building synthesis for medium "Corpo4_DVD core1"
link alternate locations of synthesis and hdlists
generate media-specific MD5SUM in /var/install/cluster//media/modules/media_info
parsing headers for "Corpo4_DVD core1"
computing deps
parsing headers for "cluster"
computing deps
building hdlist for medium "cluster"
building synthesis for medium "cluster"
link alternate locations of synthesis and hdlists
generate media-specific MD5SUM in /var/install/cluster//media/rpmcluster/media_info
building base files
Building version file
blender-2.42a-3mdviggi.i586 requires [python-imaging] which
  is not available in any medium listed
blender-2.42a-3mdviggi.i586 requires [yafray] which
  is not available in any medium listed
drakcluster-1.4-3mdviggi.noarch requires [pconsole] which
  is not available in any medium listed
hdf5-1.6.5-1mdviggi.i586 requires [libh5test.so.0] which
  is not available in any medium listed
mpif77-1.2.5.2-10mdviggi.i586 requires [gcc3.3-g77] which
  is not available in any medium listed
wulfstat-1.0.1-2mdviggi.i586 requires [libwulf.so.1] which
  is not available in any medium listed
root@cluster ~]# gendistrib --hdlists /var/install/cluster/media/media_info/hdlists

Setup your server on this new media, so remove all old hdlists, and add the new ones:

[root@cluster ~]# urpmi.removemedia -a
removing medium "Corpo4_DVD core1 (nfs1)"
removing medium "Corpo4_DVD core1 (nfs2)"
removing medium "Corpo4_DVD core1 (nfs3)"
removing medium "Corpo4_DVD core1 (nfs4)"
removing medium "Corpo4_DVD core1 (nfs5)"
found 0 headers in cache
removing 0 obsolete headers in cache
wrote config file [/etc/urpmi/urpmi.cfg]

[root@cluster ~]# urpmi.addmedia --distrib /var/install/cluster/
copying hdlists file...
...copying done
added medium Corpo4_DVD core11
added medium Corpo4_DVD core12
added medium Corpo4_DVD core13
added medium Corpo4_DVD core14
added medium Corpo4_DVD core15
added medium cluster1
computing md5sum of existing source hdlist (or synthesis)
copying source hdlist (or synthesis) of "Corpo4_DVD core11"...
...copying done
examining hdlist file [/var/cache/urpmi/partial/hdlist.Corpo4_DVD core11.cz]
examining pubkey file of "Corpo4_DVD core11"...
computing md5sum of existing source hdlist (or synthesis)
copying source hdlist (or synthesis) of "Corpo4_DVD core12"...
...copying done
examining hdlist file [/var/cache/urpmi/partial/hdlist.Corpo4_DVD core12.cz]
examining pubkey file of "Corpo4_DVD core12"...
computing md5sum of existing source hdlist (or synthesis)
copying source hdlist (or synthesis) of "Corpo4_DVD core13"...
...copying done
examining hdlist file [/var/cache/urpmi/partial/hdlist.Corpo4_DVD core13.cz]
examining pubkey file of "Corpo4_DVD core13"...
computing md5sum of existing source hdlist (or synthesis)
copying source hdlist (or synthesis) of "Corpo4_DVD core14"...
...copying done
examining hdlist file [/var/cache/urpmi/partial/hdlist.Corpo4_DVD core14.cz]
examining pubkey file of "Corpo4_DVD core14"...
computing md5sum of existing source hdlist (or synthesis)
copying source hdlist (or synthesis) of "Corpo4_DVD core15"...
...copying done
examining hdlist file [/var/cache/urpmi/partial/hdlist.Corpo4_DVD core15.cz]
examining pubkey file of "Corpo4_DVD core15"...
computing md5sum of existing source hdlist (or synthesis)
copying source hdlist (or synthesis) of "cluster1"...
...copying done
/bin/cp: cannot stat `/var/install/cluster//media/rpmcluster/pubkey': No such file or directory
...copying failed
examining hdlist file [/var/cache/urpmi/partial/hdlist.cluster1.cz]
performing second pass to compute dependencies

examining hdlist file [/var/lib/urpmi/hdlist.Corpo4_DVD core11.cz]
built hdlist synthesis file for medium "Corpo4_DVD core11"
examining hdlist file [/var/lib/urpmi/hdlist.Corpo4_DVD core12.cz]
built hdlist synthesis file for medium "Corpo4_DVD core12"
examining hdlist file [/var/lib/urpmi/hdlist.Corpo4_DVD core13.cz]
built hdlist synthesis file for medium "Corpo4_DVD core13"
examining hdlist file [/var/lib/urpmi/hdlist.Corpo4_DVD core14.cz]
built hdlist synthesis file for medium "Corpo4_DVD core14"
examining hdlist file [/var/lib/urpmi/hdlist.Corpo4_DVD core15.cz]
built hdlist synthesis file for medium "Corpo4_DVD core15"
examining hdlist file [/var/lib/urpmi/hdlist.cluster1.cz]
built hdlist synthesis file for medium "cluster1"
found 0 headers in cache
removing 0 obsolete headers in cache
wrote config file [/etc/urpmi/urpmi.cfg]

2.1.2. HTTP and NFS configuration

[root@cluster html]# cd /var/www/html/
[root@cluster html]# ln -sf /var/install/cluster/
[root@cluster ~]# cat /etc/exports
/home/nis       *(async,rw,no_root_squash)
/var/install/cluster *(async,rw,no_root_squash)
[root@cluster ~]# service nfs restart
Shutting down RPC svcgssd:                                      [FAILED]
Shutting down NFS mountd:                                       [  OK  ]
Shutting down NFS daemon: ^[[A^[[A                              [  OK  ]
Shutting down NFS services:                                     [  OK  ]
Starting RPC svcgssd: Error: /etc/krb5.keytab does not exist.
Starting NFS services:                                          [  OK  ]
Starting NFS daemon:                                            [  OK  ]
Starting NFS mountd:                                            [  OK  ]
[root@cluster ~]# exportfs                            [  OK  ]
/var/install/cluster
                world
/home/nis       world
[root@cluster ~]# cd /
[root@cluster /]# ln -sf /var/install/cluster /install

2.2. Prepare the CS4 server

Install all RPMS needed to be a Cluster server, install the clusterscripts-server and drakcluster packages.

[root@cluster ~]# urpmi clusterscripts-server
One of the following packages is needed:
 1- apache-mpm-prefork-2.2.3-1mlcs4.i586 : Implements a non-threaded, pre-forking web server (stable) (to install)
 2- apache-mpm-worker-2.2.3-1mlcs4.i586 : Implements a hybrid multi-threaded multi-process web server (experimental) (to install)
What is your choice? (1-2) 1
One of the following packages is needed:
 1- MySQL-5.0.24-1mlcs4.i586 : MySQL: a very fast and reliable SQL database engine (to install)
 2- MySQL-Max-5.0.24-1mlcs4.i586 : MySQL - server with extended functionality (to install)
What is your choice? (1-2) 1
To satisfy dependencies, the following packages are going to be installed:
MySQL-5.0.24-1mlcs4.i586
MySQL-client-5.0.24-1mlcs4.i586
MySQL-common-5.0.24-1mlcs4.i586
apache-base-2.2.3-1mlcs4.i586
apache-conf-2.2.3-1mlcs4.i586
apache-mod_php-5.1.6-1mlcs4.i586
apache-modules-2.2.3-1mlcs4.i586
apache-mpm-prefork-2.2.3-1mlcs4.i586
authd-0.2.2-3mdviggi.i586
bc-1.06-16mdk.i586
bind-9.3.2-8mdviggi.i586
bind-utils-9.3.2-8mdviggi.i586
ccp-0.4.1-1mlcs4.noarch
cloop-utils-1.02-7mdk.i586
clusterscripts-server-2.0-12mdviggi.noarch
dhcp-server-3.0.4-1mlcs4.i586
dssh-0.1-1mdk.noarch
ed-0.2-31mdk.i586
fping-2.4b2-7mdk.i586
ganglia-core-3.0.3-1mdviggi.i586
ganglia-gmetad-3.0.3-1mdviggi.i586
ganglia-webfrontend-3.0.3-1mdviggi.i586
gexec-0.3.6-1mdk.i586
iptables-1.3.3-3mdk.i586
krb5-workstation-1.4.3-5mlcs4.i586
libapr-util1-1.2.7-6mlcs4.i586
libapr1-1.2.7-1mlcs4.i586
libcgi0-0.5-2mdk.i586
libevent1-1.1-1mdk.i586
libgssapi2-0.9-1mlcs4.i586
libmm14-1.4.0-1mlcs4.i586
libmysql15-5.0.24-1mlcs4.i586
libnfsidmap0-0.16-1mlcs4.i586
libopenslp1-1.0.11-6mdk.i586
libphp5_common5-5.1.6-1mlcs4.i586
libpostfix1-2.2.11-1mlcs4.i586
librpcsecgss2-0.12-1mlcs4.i586
librrdtool2-1.2.11-1mdk.i586
libt1lib5-5.1.0-1mdk.i586
make-3.80-9mdk.i586
mawk-1.3.3-6mdk.i586
modutils-2.4.26-4mdk.i586
monika-0.4.6-1mdviggi.noarch
mutt-1.5.13-1mdviggi.i586
nfs-utils-1.0.9-1mlcs4.i586
ntp-4.2.0-21mdk.i586
ntp-client-4.2.0-21mdk.i586
oar-common-1.6.2-11mdviggi.noarch
oar-draw-gantt-1.6.2-11mdviggi.noarch
oar-node-1.6.2-11mdviggi.noarch
oar-server-1.6.2-11mdviggi.noarch
oar-user-1.6.2-11mdviggi.noarch
openssh-server-4.3p1-0.4.20060mlcs4.i586
perl-AppConfig-1.56-1mdk.noarch
perl-CGI-3.16-1mlcs4.noarch
perl-DBD-mysql-3.0006-1mlcs4.i586
perl-DBI-1.48-1mdk.i586
perl-GD-2.28-1mdk.i586
perl-GD-TextUtil-0.83-10mdk.noarch
perl-rrdtool-1.2.11-1mdk.i586
php-cli-5.1.6-1mlcs4.i586
php-ctype-5.1.6-1mlcs4.i586
php-ftp-5.1.6-1mlcs4.i586
php-gd-5.1.6-1mlcs4.i586
php-gettext-5.1.6-1mlcs4.i586
php-hash-5.1.6-1mlcs4.i586
php-ini-5.1.6-1mlcs4.i586
php-pcre-5.1.6-1mlcs4.i586
php-posix-5.1.6-1mlcs4.i586
php-session-5.1.6-1mlcs4.i586
php-simplexml-5.1.6-1mlcs4.i586
php-sysvsem-5.1.6-1mlcs4.i586
php-sysvshm-5.1.6-1mlcs4.i586
php-tokenizer-5.1.6-1mlcs4.i586
php-xml-5.1.6-1mlcs4.i586
php-xmlreader-5.1.6-1mlcs4.i586
php-xmlwriter-5.1.6-1mlcs4.i586
postfix-2.2.11-1mlcs4.i586
proftpd-1.2.10-20.3.20060mlcs4.i586
proftpd-anonymous-1.2.10-20mlcs4.i586
pvm-3.4.5-5mdviggi.i586
pxe-1.4.2-8mdk.i586
pxelinux-3.11-1.1.20060mlcs4.i586
python-2.4.1-5.1.20060mlcs4.i586
rrdtool-1.2.11-1mdk.i586
shorewall-3.0.4-1mlcs4.noarch
smartmontools-5.36-1mlcs4.i586
syslinux-1.76-18mdk.i586
t1lib-config-5.1.0-1mdk.i586
taktuk2-0.5-4.1mlcs4.i586
tcp_wrappers-7.6-26mdk.i586
tcsh-6.14-1mdk.i586
tentakel-2.2-1mdk.noarch
tftp-0.40-3mdviggi.i586
tftp-server-0.40-3mdviggi.i586
urpmi-parallel-ka-run-4.8.19-2mlcs4.noarch
xinetd-2.3.13-2mdk.i586
xpdf-3.01-1.2.20060mdk.i586
xterm-203-1mdk.i586
yp-tools-2.9-1mdk.i586
ypbind-1.19.1-2mdk.i586
ypserv-2.17-1mdk.i586
Proceed with the installation of the 102 packages? (121 MB) (Y/n)

[root@cluster ~]# urpmi drakcluster
To satisfy dependencies, the following packages are going to be installed:
drakcluster-1.4-4mdviggi.noarch
drakwizard-base-3.0-22mdk.noarch
Proceed with the installation of the 2 packages? (4 MB) (Y/n)

Now to be able to install cluster nodes, and have the good package list during the installatiuon phase, copy the updated rpmsrate and compssUsers.pl files into /var/install/cluster/media/media_info directory.

[root@cluster media_info]# pwd
/var/install/cluster/media/media_info
[root@cluster media_info]# cp /usr/share/doc/clusterscripts-2.0/
compssUsers.pl  rpmsrate
[root@cluster media_info]# cp -v /usr/share/doc/clusterscripts-2.0/* .
cp: overwrite `./compssUsers.pl'? y
`/usr/share/doc/clusterscripts-2.0/compssUsers.pl' -> `./compssUsers.pl'
cp: overwrite `./rpmsrate'? y
`/usr/share/doc/clusterscripts-2.0/rpmsrate' -> `./rpmsrate'

Now restart dhcpd, pxe, xinetd and mysqldservices.

[root@cluster media_info]# service dhcpd restart
[root@cluster media_info]# service pxe restart
[root@cluster media_info]# service xinetd restart
[root@cluster media_info]# service mysqld restart

Launch draktab_config ans setup your cluster configuration.

Launch drakcluster, and detect first node MAC address.

WARNING: it's mandatory when installing node to choose the Standard security, and choose toUSE DHCPCD client in the summary of the Network configuration, otherwise you may encounter various problem.

TO BE REWRITTEN :to store log of KA duplication process, create a:

[root@cluster ~]# cd /var/ftp/
[root@cluster ~]# mkdir tmp
[root@cluster ~]# chown nobody.users tmp/
[root@cluster ~]# chmod 777 tmp