dCache.Org eagle
home | documentation | downloads | feedback | imprint

Installing dCache with LCG Yaim

Please report problems and unexpected behaviour to our support e-mail address.
  • We assume a basic SL3 installation. For SL4 please read the YAIM documentaion in the WIKI
  • For now this is only meant for installations from scratch
  • With a standard computer and network connectivity this procedure shouldn't take much longer than 20 minutes.

Define the necessary repositories

echo 'rpm http://linuxsoft.cern.ch/ LCG-CAs/current production'  > /etc/apt/sources.list.d/glite-ca.list
echo 'rpm http://glitesoft.cern.ch/EGEE/gLite/APT/R3.0/ rhel30 externals Release3.0 updates'  > /etc/apt/sources.list.d/glite.list
echo 'rpm http://cvs.dcache.org/repository/apt <OS>/<ARCH> <STATUS>' > /etc/apt/sources.list.d/desy_dcache.list
The <OS> depends on the host operating system for the dCache it can be sl3.0.5 or sl4.4.0.
The <ARCH> depends on the host hardware version for the dCache operating system it can be i386 or x86_64.
The <STATUS> finally determines the dCache version you will get.
STATUS Description Current Version
stable Most recent production release 1.7.0
testing Most recent release for testing (should be rather stable) 1.7.0
unstable Developers Release 1.7.0


Before installing dCache, make sure you get a valid certificate from your CA for the particular hosts. A valid certificate consists of two small files :
  • hostcert.pem
  • hostkey.pem
Place those files in the /etc/grid-security directory and change permission as follows :
chmod 400 hostkey.pem
chmod 644 hostcert.pem   

Get and install Yaim

apt-get update
apt-get install glite-yaim

Customize your site-info.def

Find a site-info.def template at /opt/glite/yaim/examples, comstomize it to your needs and place it at /root. For a single host installation this might look as follows. (Here, we only regard dCache related modifications the site file.)
#  Please use either j2sdk 1.4 or 1.5 either will work.
# please make sure, you are using the 'Full qualified host names'.
# the pools : hostname:size:path
DCACHE_POOLS="dcache.desy.de:7:/dCachePools/pool1 dcache.desy.de:7:/dCachePools/pool2"
# the various components
# The following values have defaults and are optional.
#  DCACHE_DOOR_SRM  : admin node
# For the first installation, the following variables have
# to be set to 'yes'.
#  DO NOT set these values to yes on existing production services,
#  dCache internal databases will be deleted.
# check if the right VO's are defined.
VOS="ops dteam"

Get the dCache software and install the node

A lot of stuff is fetched here. This should take a little bit less than 10 minutes.
For admin nodes : 

/opt/glite/yaim/scripts/install_node ~/site-info.def glite-SE_dcache_admin_postgres

For pool nodes : 

/opt/glite/yaim/scripts/install_node ~/site-info.def glite-SE_dcache_pool
If you don't have your own users and group setting, the simplest is to take the Yaim defaults :
cp -r /opt/glite/yaim/examples /opt/glite/yaim/etc
At that point you need to check if the JAVA_LOCATION, specified in your site-info.def, is indeed the location of your installed JVM. If not please change it to the correct value. Moreover assign the same location to the JAVA_HOME keyword in the /opt/d-cache/etc/srm_setup.env file. Please do this before you proceed wit the installation.

Install the the standard part of the yaim-dcache

Install the standard glite part of dCache.
# for the headnode resp admin node
/opt/glite/yaim/scripts/install_node ~/site-info.def glite-SE_dcache_admin_postgres 

/opt/glite/yaim/scripts/configure_node ~/site-info.def glite-SE_dcache_admin_postgres

# for the pool nodes
/opt/glite/yaim/scripts/install_node ~/site-info.def glite-SE_dcache_pool 

/opt/glite/yaim/scripts/configure_node ~/site-info.def glite-SE_dcache_pool

The final configration command will produce quite some output including a set of error messages like :
umount: /pnfs/fs: not found
/etc/init.d/pnfs: line 36: /tools/pnfs.server: No such file or directory
The pnfs server will be started and stopped several times, which is ok. Somewhere in the middle you will notice one of those nasty Java Stack traces, like
Catalina.stop: java.net.ConnectException: Connection refused
java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
This is fine as well.
Please watch the dCache webpages for all cells to be become ready.
After 5 minutes all services except for the SRM will show up. The SRM is started with the first srm request to this dCache instance, and from there it will probably take another minute to show up on the web page.

Assgning pools to VO's

From the configuration so far, dCache doesn't know which of the pools should be owned by which VO. The implications are that
  • Pools are shared among all VO's
  • The information provider system reports 0 Bytes available for all VOs.
In order to assign pools to VOs you need to log into the commandline interface
ssh -l admin -c blowfish -p 22223 <adminNode>
Change to the PoolManager cell :
cd PoolManager
and do the assignment. YAIM already created a so called pool group for each VO which is initially empty. To add pools to such a pool group :
psu addto pgroup <VO-name> <poolName>


psu addto pgroup dteam pool1_1 
Type 'save' after all pools have been assigned.
The consequences are :
  • dteam in only allowed to use pool1_1.
  • The information system reports the correct available/used space for dteam.
  • Other VOs are still allowed to use all pools including pool1_1
To disallow sharing pool1_1
psu removefrom pgroup default <poolName>
psu removefrom pgroup default pool1_1

Author : Patrick Fuhrmann ; Last Modified : Aug 26, 2006

Copyright dCache.org © 2003 - 2011