DPM SL4 64bit
From EGEE-see WIki
AEGIS01-PHY-SCL notes on installing and configuring DPM-MySQL server and DPM disk on SL4.5 (64 bit)
In order to verify installation and configuration process of DPM-MySQL server and DPM nodes on SL4 64 bit, we at AEGIS01-PHY-SCL managed to do it successfully with few workarounds and resolved bugs. These notes provide instructions on what we have done. Deployment server was Intel Xeon Dual-Core based, but it should work on other compatible x86_64 architectures as well.
Below are given minimal steps necessary for installing and configuring fully operational DPM-MySQL server and DPM node using YAIM-4.0.0-12 and glite-dm repository.
All additional RPMs mentioned in this guide can be found in AEGIS01-PHY-SCL SL4 repository. All commands are issued as root user.
1) OS Installation
We have chosen custom installation of SL4.5 with only three packet groups: APT, YUM and Compatibility Arch Support. You can use your own kickstart file, of course.
2) Update and consolidation of SL4.5 installation
Default package management tool that SL4.x and YAIM-3.1 or YAIM-4.0 use is yum. In /etc/yum.repos.d/ it is necessary to add the following files to enable additional repositories:
glite-dm.repo
[main] [glite-dm] name=gLite Data Management Release Candidate RPMs for SLC4 baseurl=http://glite-dm.web.cern.ch/glite-dm/slc4/$basearch gpgcheck=0 enabled=1 protect=1
lcg-ca.repo
[CA] name=CAs baseurl=http://linuxsoft.cern.ch/LCG-CAs/current enabled=1
jpackage5.0.repo
[main] [jpackage17-generic] name=JPackage 1.7, generic baseurl=http://mirrors.dotsrc.org/jpackage/1.7/generic/free/ enabled=1 protect=1 [jpackage17-generic-nonfree] name=JPackage 1.7, generic non-free baseurl=http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/ enabled=1 protect=1 [main] [jpackage5-generic] name=JPackage 5, generic baseurl=http://mirrors.dotsrc.org/jpackage/5.0/generic/free/ enabled=1 protect=1 [jpackage5-generic-nonfree] name=JPackage 5, generic non-free baseurl=http://mirrors.dotsrc.org/jpackage/5.0/generic/non-free/ enabled=1 protect=1
We suggest that you disable the following repos:
atrpms.repo dag.repo sl4x-contrib.repo sl-rhaps.repo
We also suggest that you enable the following repos:
sl4x.repo sl4x-errata.repo sl4x-fastbugs.repo sl-bugfix-46.repo sl-fastbugs.repo
Other repos can be removed (or disabled as well). We also added these packages:
yum install rpm-build yum install gcc yum install kernel-smp-devel yum install kernel-devel
After managing repositories, you should update the node, so execute:
yum update
This action will probably upgrade the kernel. If so, you need to verify /boot/grub/grub.conf that the version appropriate for your hardware is used (smp, largesmp, hugemem). Reboot the system.
3) Java Installation
After OS customization, java-1.5 should be installed. To install it, it is necessary to go to SUN's Java web page and download JDK 5.0 Update 13 (latest version update). We used "Linux RPM in self-extracting file" jdk-1_5_0_13-linux-amd64-rpm.bin to instal jdk, but we also had to download "Linux self-extracting file" jdk-1_5_0_13-linux-amd64.bin in order to make java-1.5.0-sun-1.5.0.13-1jpp.x86_64.rpm and java-1.5.0-sun-devel-1.5.0.13-1jpp.x86_64.rpm packages, as suggested in Steve Traylen's guide.
To make and install those two packages, do the following:
rpm --import http://www.jpackage.org/jpackage.asc rpm -Uvh http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/SRPMS/java-1.5.0-sun-1.5.0.13-1jpp.nosrc.rpm mv jdk-1_5_0_13-linux-amd64.bin /usr/src/redhat/SOURCES/ rpmbuild -ba /usr/src/redhat/SPECS/java-1.5.0-sun.spec yum install xorg-x11-deprecated-libs rpm -Uvh /usr/src/redhat/RPMS/x86_64/java-1.5.0-sun-1.5.0.13-1jpp.x86_64.rpm rpm -Uvh /usr/src/redhat/RPMS/x86_64/java-1.5.0-sun-devel-1.5.0.13-1jpp.x86_64.rpm chmod u+x jdk-1_5_0_13-linux-amd64-rpm.bin ./jdk-1_5_0_13-linux-amd64-rpm.bin
After this step, java is finally installed, and you can perform:
yum update
4) Adjust services/daemons started at the boot time
Installation of SL4.5 by default sets an excessive amount of services/daemons to be started at boot - it would be both security and performance-wise to disable all the unnecessary ones. It is also recommended to change the default runlevel to 3 in /etc/inittab. We especially suggest that you disable yum auto-update feature, since this may bring trouble when new updates (requiring reconfiguration of WNs) appear, and are installed automatically. At our site we left the following services to start at boot time:
# cd /etc/rc3.d/ # ls S* /etc/rc3.d/S00microcode_ctl /etc/rc3.d/S10network /etc/rc3.d/S12syslog /etc/rc3.d/S13irqbalance /etc/rc3.d/S13portmap /etc/rc3.d/S14nfslock /etc/rc3.d/S25netfs /etc/rc3.d/S26lm_sensors /etc/rc3.d/S55sshd /etc/rc3.d/S56rawdevices /etc/rc3.d/S56xinetd /etc/rc3.d/S90crond /etc/rc3.d/S99local
5) Adjust file systems
If you use shared file system, it is necessary to configure new WN to mount it automatically and with proper permissions. Also, if you use scratch space for jobs on WNs, you need to configure it prior to jobs arriving at the new WN. We are mounting /home, /var/cache/yum and /opt/exp_soft file systems from NFS server.
6) NTP configuration
As usual, NTP needs to be configured and verified. This is sufficent (be sure to change relevant IP addresses):
# cat /etc/ntp.conf restrict default noquery notrust nomodify restrict 127.0.0.1 restrict 147.91.84.0 mask 255.255.255.0 restrict 129.132.2.21 server 129.132.2.21 restrict 131.188.3.220 server 131.188.3.220 driftfile /etc/ntp.drift logfile /var/log/ntp.log # ls -l /etc/ntp.drift -rw-r--r-- 1 ntp ntp 0 Aug 29 12:02 /etc/ntp.drift
Note the ownership of ntp.drift file. Also note that ntp must be started and enabled to be started at boot time.
7) Certification Authorities
yum install lcg-CA
8) DPM Installation:
In order to successfully install DPM MySQL server, it is necessary to remove installed mysql packages from SL repositories, and to install newer version:
yum remove mysql.i386
From http://glite.phy.bg.ac.yu/GLITE-3/SL4-DPM/ or MySQL download page, download following packages:
MySQL-client-standard-4.1.22-0.rhel4.x86_64.rpm MySQL-devel-standard-4.1.22-0.rhel4.x86_64.rpm MySQL-server-standard-4.1.22-0.rhel4.x86_64.rpm MySQL-shared-standard-4.1.22-0.rhel4.x86_64.rpm perl-DBD-MySQL-2.9004-3.1.src.rpm
and then install them by:
rpm -Uvh MySQL-client-standard-4.1.22-0.rhel4.x86_64.rpm \
MySQL-devel-standard-4.1.22-0.rhel4.x86_64.rpm \
MySQL-server-standard-4.1.22-0.rhel4.x86_64.rpm \
MySQL-shared-standard-4.1.22-0.rhel4.x86_64.rpm \
perl-DBD-MySQL-2.9004-3.1.src.rpm
Add DAG repository in /etc/yum.repos.d/dag.repo
[main] [dag] name=DAG (http://dag.wieers.com) additional RPMS repository baseurl=http://linuxsoft.cern.ch/dag/redhat/el4/en/$basearch/dag gpgkey=http://linuxsoft.cern.ch/cern/slc4X/$basearch/docs/RPM-GPG-KEY-dag gpgcheck=1 enabled=1
After this, if you are installing DPM server perform:
yum update yum install glite-SE_dpm_disk glite-SE_dpm_mysql
Or, in order to install only DPM disk:
yum update yum install glite-SE_dpm_disk
In both cases you need to add more packages:
yum install lcg-info-templates yum install log4j yum install bouncycastle wget http://eticssoft.web.cern.ch/eticssoft/repository/externals/log4cxx/0.9.7/slc4_x86_64_gcc346/log4cxx-0.9.7-1.slc4.x86_64.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/externals/xerces-c/2.7.0/slc4_x86_64_gcc346/xerces-c-2.7.0-1.slc4.x86_64.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.security.util-java/1.3.8/noarch/glite-security-util-java-1.3.8-2.noarch.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.security.trustmanager/1.8.11/noarch/glite-security-trustmanager-1.8.11-1.noarch.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.rgma.stubs-servlet-java/5.0.10/noarch/glite-rgma-stubs-servlet-java-5.0.10-1.noarch.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.rgma.api-python/5.0.12/noarch/glite-rgma-api-python-5.0.12-3.noarch.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.rgma.log4j/5.0.2/noarch/glite-rgma-log4j-5.0.2-2.noarch.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.rgma.command-line/5.0.5/noarch/glite-rgma-command-line-5.0.5-2.noarch.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.rgma.base/5.0.7/noarch/glite-rgma-base-5.0.7-1.noarch.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.rgma.api-java/5.0.5/noarch/glite-rgma-api-java-5.0.5-3.noarch.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.rgma.api-c/5.0.10/slc4_x86_64_gcc346/glite-rgma-api-c-5.0.10-6.slc4.x86_64.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.rgma.api-cpp/5.0.15/slc4_x86_64_gcc346/glite-rgma-api-cpp-5.0.15-5.slc4.x86_64.rpm wget http://eticssoft.web.cern.ch/eticssoft/repository/org.glite/org.glite.rgma.log4cpp/5.0.3/slc4_x86_64_gcc346/glite-rgma-log4cpp-5.0.3-2.slc4.x86_64.rpm rpm -Uvh log4cxx-0.9.7-1.slc4.x86_64.rpm \ xerces-c-2.7.0-1.slc4.x86_64.rpm \ glite-security-util-java-1.3.8-2.noarch.rpm \ glite-security-trustmanager-1.8.11-1.noarch.rpm \ glite-rgma-stubs-servlet-java-5.0.10-1.noarch.rpm \ glite-rgma-api-python-5.0.12-3.noarch.rpm \ glite-rgma-log4j-5.0.2-2.noarch.rpm \ glite-rgma-command-line-5.0.5-2.noarch.rpm \ glite-rgma-base-5.0.7-1.noarch.rpm \ glite-rgma-api-java-5.0.5-3.noarch.rpm \ glite-rgma-api-c-5.0.10-6.slc4.x86_64.rpm \ glite-rgma-api-cpp-5.0.15-5.slc4.x86_64.rpm \ glite-rgma-log4cpp-5.0.3-2.slc4.x86_64.rpm
9) YAIM/system customization and bug workarounds
mkdir /scratch chmod 1777 /scratch cd /opt/lcg ln -s ../glite/opt/lcg/sbin/ sbin ln -s ../glite/opt/lcg/libexec/ cd /opt/lcg/etc/ for i in ../../glite/opt/lcg/etc/* ; do ln -s $i ; done cd /usr/sbin/ ln -s slapd slapdd
In /opt/glite/yaim/functions/config_DPM_rfio change line 48 from:
cat /etc/sysconfig/rfiod | grep -v -E 'DPNS_HOST|DPM_HOST' > /etc/sysconfig/rfiod
to:
cat /etc/sysconfig/rfiod.templ | grep -v -E 'DPNS_HOST|DPM_HOST' > /etc/sysconfig/rfiod
and line 53 change from:
grep -v RFIO_PORT_RANGE > /etc/sysconfig/rfiod
to:
cp /etc/sysconfig/rfiod /etc/sysconfig/rfiod.tmp cat /etc/sysconfig/rfiod.tmp | grep -v RFIO_PORT_RANGE > /etc/sysconfig/rfiod rm /etc/sysconfig/rfiod.tmp
After this, you should perform:
yaim -c -s <path to site-info.def> -n SE_dpm_mysql -n SE_dpm_disk
Note that in order to install only DPM disk you should perform only:
yaim -c -s <path to site-info.def> -n SE_dpm_disk
From http://glite.phy.bg.ac.yu/GLITE-3/SL4-DPM/ download and install:
lcg-info-dynamic-dpm_2.2-2_noarch.rpm
lcg-info-generic-1.0.22-1_sl3.noarch.rpm
lcg-infosites-2.6.2-1.slc4.x86_64.rpm
lcg-schema-1.2.1-1.noarch.rpm
rpm -Uvh lcg-info-dynamic-dpm_2.2-2_noarch.rpm \
lcg-info-generic-1.0.22-1_sl3.noarch.rpm \
lcg-infosites-2.6.2-1.slc4.x86_64.rpm \
lcg-schema-1.2.1-1.noarch.rpm
In /opt/glite/yaim/functions/config_bdii change line 151 from:
${INSTALL_ROOT}/glite/lcg/schema/ldap/SiteInfo.schema
to
${INSTALL_ROOT}/lcg/schema/ldap/SiteInfo.schema
After that do:
cd /opt/glite/lcg/ ln -s ../../../glite/etc/gip/ldif/
In /opt/glite/libexec/glite-info-generic change line 209 from:
wrap => 0);
to
wrap => 10000);
After this, start configuration again:
yaim -c -s <path to site-info.def> -n SE_dpm_mysql -n SE_dpm_disk
