wiki:dCacheConfigure.sh
Last modified 8 years ago Last modified on 11/02/09 12:29:23

Configuring dCache with dCacheConfigure.sh

Prerequisites

Please report problems and unexpected behavior to our support e-mail address.

Host Keys

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

dCache must first be installed. This is easiest to do using YUM on systems that support it.

Configuring dCache with dCacheConfigure.sh

dCacheConfigure.sh is a collection of script modules designed to configure dCache post installation. dCacheConfigure.sh was originally created as part of the YAIM project. These scripts have been taken into dCache so that their versions can be tightly coupled with the version of dCache.

dCacheConfigure.sh takes two main command options the module and site-info.def configuration file. For example:

/opt/d-cache/bin/dCacheConfigure.sh -c config_sedcache -s /root/site-info.def 

The actions of the dCacheConfigure.sh are defined in both of these parameters. The "-s site-info.def" file is the model of how your system should be set up and one file can be applied to many hosts. The other parameter "-c config_sedcache" specifies the actions and scope of configuration changes applied by the scripts.

Users and Groups Configuration

If you don't have your own users file, the simplest is to take the dCacheConfigure.sh defaults :

cp -r /opt/d-cache/share/doc/dCacheConfigure/examples/* /root

The two important configuration files are

site-info.def  users.conf

You have to change the USERS_CONF=/root/users.conf in "site-info.def". These are compatible with YAIM and we will try to keep these files format stable and consistent with YAIM. Because the file is compatable with YAIM it includes many variables that are not dCache specific.

The most important file "site-info.def" and this files format must be configured before "dCacheConfigure.sh" can be used.

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.

The second file users.conf is used for mapping UID's and GID's from the grid to local UID's and GID's.

Customize your site-info.def

The site-info.def template in /opt/d-cache/share/doc/dCacheConfigure/examples/ is an example and it must be modified and appropriate variables placed within the file.

Please customize this file to your needs and place it in a safe well defined place. /root. For a single host installation this might include the following modifications to the default. Please look into this link for a detailed explanation on how to set up site-info.def set up for installing dCache.

Configure dCache dCacheConfigure.sh

Then to configure dCache either of these lines if fine they are in practice identical as dcache YAIM defines the configuration to be applied based upon the site-info.def.

 sh /opt/d-cache/bin/dCacheConfigure.sh -c config_sedcache -s /root/site-info.def 

Some services are also only configured if they are found on the host, examples include mds/bdii or gridmap/gplamsa. These must be installed correctly and all the dependencies before running dCacheConfigure.sh. The easiest way on YUM based systems is to use to install dCache and its dependencies.

The final configuration 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

If your using the pnfs name space 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.

http://<adminHost>:2288/cellInfo

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.

Configuring the Information System

dCache includes an info provider which may not be completely configured depending upon the release of dCache, please follow this guide? if you cannot get the information system to work when testing the information system?.

Assigning 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 command line interface

[root@steyr ~]# ssh -c blowfish -p 22223 -l admin `hostname -f `
admin@steyr.desy.de's password: dickerelch

    dCache Admin (VII) (user=admin)


(local) admin >

The default password is

dickerelch

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>

e.g.:

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>

e.g.:

psu removefrom pgroup default pool1_1