DCache Yaim Install on SL4

From GridPP Wiki
Jump to: navigation, search

This page details how to successfully install a dCache admin node on SL4 using gLite YAIM. This page was written before the official switch to SL4 as the base OS by all LCG sites.

1. Install SL4 (I chose server installation)

2. Change to the 4x repository, apt-get update and apt-get dist-upgrade (I had to run with a --fix-missing during the dist-upgrade)

rpm ftp://ftp.scientificlinux.org//linux/scientific/ 4x/i386/apt os updates contrib

3. chkconfig yum and yum-conf off (to prevent any yum automatic updates).

4. Install which, tcl and mx from SL4x repo. For some reason which is not included in the base installation.

5. Configure ntp to ensure the nodes you will speak to are synchronised.

5. Download and install the postgreSQL rpms that PNFS needs. SL4 tries to give you v7.4, but need to use >v8. You can use this mirror:

$ ftp ftp4.nl.postgresql.org 
ftp> cd /postgresql.zeelandnet.nl/binary/v8.1.3/linux/rpms/redhat/rhel-es-4/
ftp> mget *

7. Install java (j2sdk-1.4.2_11).

8. Install host certificate.

9. Install YAIM (this was with version 3.0.0-12)

$ apt-get install glite-yaim

from the gLite repository.

rpm http://glitesoft.cern.ch/EGEE/gLite/APT/R3.0/ rhel30 externals Release3.0 updates
rpm http://grid-deployment.web.cern.ch/grid-deployment/gis apt/LCG_CA/en/i386 lcg

10. Create /opt/glite/yaim/etc directory and move /opt/glite/yaim/examples/*.conf files to it. Edit site-info.def to suit your site needs. i.e.

LCG_REPOSITORY="'rpm http://glitesoft.cern.ch/EGEE/gLite/APT/R3.0/ rhel30 externals Release3.0 updates'"
JAVA_LOCATION
GLOBUS_TCP_PORT_RANGE
DCACHE_* variables

Also add in extra supported VOs.

11. glite-SE_dcache depends on jakarta-commons-logging which is not available with SL4. Get it from the SL3 repository:

rpm ftp://ftp.scientificlinux.org//linux/scientific/ 307/i386/apt-rpm os updates contrib

12. If you now run the installation:

/opt/glite/yaim/scripts/install_node /opt/glite/yaim/etc/site-info.def 
glite-SE_dcache 2>&1 | tee /root/dcache_admin_install.txt

you will get errors like:

file /usr/share/man/man3/XML::SAX::Base.3pm.gz conflicts between attempted
installs of perl-XML-SAX-0.12-7 and perl-XML-SAX-Base-1.04-1
file /usr/share/man/man3/XML::SAX::Exception.3pm.gz conflicts between attempted
installs of perl-XML-SAX-0.12-7 and perl-XML-SAX-Base-1.04-1

13. To resolve these run:

$ apt-get install glite-SE_dcache perl-LDAP- perl-XML-SAX-

and install the certificates:

$ apt-get install lcg-CA

(they should already have been downloaded during step 12)

14. I turned off iptables - just in case they were getting in the way.

15. Make sure you have all of the VOs you want to support in user.conf and grousps.conf .

16. Now run the configuration step:

$ /opt/glite/yaim/scripts/configure_node /opt/glite/yaim/etc/site-info.def
SE_dcache 2>&1 | tee /root/dcache_admin_config.txt

17. With glite-yaim-3.0.0-12 it is necessary to stop pnfs a couple of times after the configuration step, then start up postgres and then start pnfs. This is a bug in the configuration and should be fixed in a future release.

$ service pnfs stop
$ service pnfs stop
$ su - postgres
# postmaster -i -D /var/lib/pgsql/data/ > /tmp/logfile 2>&1 &
$ service pnfs start

This should give you a working dCache system. During some trial installations I found that PNFS could not start as /pnfs/fs could not be mounted. This caused the remainder of the dCache setup to fail. It is unclear why /pnfs/fs could not be mounted, the server was reporting RPC errors and NFS server is down errors. portmap was running in this case, so problem did not appear to be obvious.