dCache.Org eagle
black_bg
home | documentation | downloads | feedback | search | imprint
black_bg
release notes | Book | Wiki | Q&A | Client API | dccp
black_bg
Web pages | Single page | PDF (A4-size) | PDF (Letter-size)
black_bg

Upgrading a dCache Instance

Upgrading to bugfix releases within one version (e.g. from 1.6.6-1 to 1.6.6-3) may be done by shutting down the server and upgrading the packages with

[root] # rpm -Uvh <packageName>

For details on the changes, pease refer to the change log.

This section describes the upgrade of dCache instances installed with the previous version (currently version 1.6.5) and also some earlier versions - notably the one distributed with the previous or current WLCG software. The first section will give a quick upgrade guide. It might not be applicable to complex setups. Not all features of the new version will be enabled after the quick upgrade guide. The next section will give pointers on how to enable them.

Note that the upgrade of dCache is independent of a conversion of the pnfs database from GDBM to PostgreSQL. The conversion and upgrade to the PostgreSQL version of pnfs may be performed any time before or after the upgrade of dCache. Do not perform the dCache upgrade and the pnfs database conversion simultaneously. It is better to do them one after the other, and test the system inbetween. Do not be mislead by the fact the dCache release only contains the PostgreSQL version of pnfs (since version 1.6.6). See Chapter 19, Moving the pnfs Data from GDBM to PostgreSQL for a guide to convert and upgrade the pnfs server.

In case you are already using PostgreSQL (e.g. for the SRM), it is a good idea to upgrade to version 8 now, because prior to dCache Version 1.6.6 no precious data is stored and therefore can be wiped off, allowing a PostgreSQL 8 installation from scratch. Starting from dCache version 1.6.6 PostgreSQL will be utilized more heavily, making migration a complex task. Another advantage of PostgreSQL 8 is an integrated mechanism for automatic backups.

[return to top]

Quick Upgrade Guide

Stop the dCache services on all nodes of the instance:

[root] # /opt/d-cache/bin/dcache-pool stop
[root] # /opt/d-cache/bin/dcache-opt stop
[root] # /opt/d-cache/bin/dcache-core stop

Leave the pnfs server running. In WLCG installations, there might be a “meta-package” installed which can prevent the update to the current version. It should be deinstalled. The following command will do that and will not harm if the metapackage is not installed. Therefore, go ahead and do it anyway:

[root] # rpm -e lcg-SE_dcache

Upgrade the dCache RPM packages with

[root] # rpm -Uvh dcache-server-1.6.6-1.i386.rpm dcache-client-1.6.6-1.i386.rpm

For this quick upgrade you have to keep your old configuration files (i.e. config/dCacheSetup, config/PoolManager.conf etc/node_config, etc/door_config, and etc/pool_path). Do not use the templates.

However, make sure that etc/node_config contains

PNFS_OVERWRITE=no

and that a single value is assigned to NODE_TYPE. Check that etc/pool_path contains “no” in the third field of each line. You might also want to doublecheck the contents of etc/door_config on each node.

Run the install script:

[root] # /opt/d-cache/install/install.sh

And start the server again with

[root] # /opt/d-cache/bin/dcache-core start
[root] # /opt/d-cache/bin/dcache-pool start

Note that the start-up script for the optional components is not needed anymore. Therefore, it is probably best to remove them:

[root] # rm /opt/d-cache/bin/dcache-opt /etc/init.d/dcache-opt

[return to top]

After The Upgrade

This section gives a few hints for solving problems and fine-tuning after the upgrade.

Check if the information given in the files /opt/d-cache/etc/node_config and /opt/d-cache/etc/door_config is correct:

Check, that a single value is assigned to NODE_TYPE in /opt/d-cache/etc/node_config. If the assignment contains several words, the behaviour of some previous versions might be different from the new one.

Check that the doors which are started in the (now obsolete) /opt/d-cache/bin/dcache-opt start-up script are also enabled in /opt/d-cache/etc/door_config. The latter file is now evaluated by the start-up script /opt/d-cache/bin/dcache-core and not by the install script any more. This might lead to a different behaviour.

If, prior to the upgrade, you changed anything in a batch file (config/<domainName>.batch) these changes will be moved to files with names config/<domainName>.batch.rpmsave. There have been major changes to the batch files. Therefore it is necessary to reapply your changes. However, keep in mind that the batch files are considered to be part of the software and not configuration files.

It should not be necessary to change them in most situations. Try to find a prober configuration variable in config/dCacheSetup. (See the template in etc/dCacheSetup.template for hints.) If it should still be necessary to change a batch file, contact and report a “request for enhancement”. (See Chapter 5, The Cell Package for background information on the batch files.)

Your old config/PoolManager.conf will not be overwritten by the upgrade. Its format did not change. Therefore, it is fine to keep your old one. In case you did not customize the pool manager configuration, make sure that the set costcuts line reads

set costcuts -idle=0.0 -p2p=2.0 -alert=0.0 -halt=0.0 -fallback=0.0

Prior versions installed a config/PoolManager.conf with -idle=1.0 which will lead to undesired behaviour of the pool manager.

Before switching on the companion in config/dCacheSetup with the line

cacheInfo=companion

you have to be aware of the following:

For each file the list of pools the file is stored on (the cache info) is now stored within the pnfs namespace metadata. When switching on the companion, the dCache system expects it to be stored in a PostgreSQL database. You should first create this database:

[root] # createdb -U srmdcache companion
[root] # psql -U srmdcache companion -f /opt/d-cache/etc/psql_install_companion.sql

on the node where the PnfsManager will run (normally the admin node). Now, put

cacheInfo=companion

into config/dCacheSetup and restart the PnfsManager:

/opt/d-cache/bin/dcache-core restart

Now the dCache system will not be aware of any files stored on the pools. To make it aware again, you have to go through the following steps: Since this will take a while and will put a considerable load on the PnfsManager, take care that this is done with one pool at a time. You should also plan for a downtime:

In the admin interface (see the section called “The Admin Interface”) go to a pool, e.g.

(local) admin > cd <hostname>_1

and issue the command

(<poolname>) admin > pnfs register

Then go to the pnfs manager:

(<poolname>) admin > ..
(local) admin > cd PnfsManager

Check the output of the “info” command repeatedly:

(PnfsManager) admin > info
...
Threads (4) Queue
    [0] 10
    [1] 12
    [2] 9
    [3] 13
...

and wait till the value for all four queues is zero. Then go to the next pool and repeat the process.

black_bg
Copyright dCache.org © 2003 - 2008