Like other services, the srm service can be enabled in
the layout file
/opt/d-cache/etc/layouts/<mylayout>
of your dCache installation. For an overview of the layout
file format, please see the section called “Defining domains and services”.
Example:
To enable SRM in a separate
<srm-${host.name}Domain> in
dCache, add the following lines to your layout file:
[<srm-${host.name}Domain>]
[<srm-${host.name}Domain>/srm]
The use of the srm service requires an authentication
setup, see Chapter 12, Authorization in dCache for a general
description or the section called “Authentication and Authorization in dCache” for an
example setup with X.509 certificates.
You can now copy a file into your dCache using the SRM,
Note
Please make sure to use latest srmcp client otherwise you
will need to specify -2 in order to use
the right version.
[user] $srmcp file:////bin/sh srm://<dcache.example.org>:<8443>/data/world-writable/srm-test-file
copy it back
[user] $srmcp srm://<dcache.example.org>:<8443>/data/world-writable/srm-test-file file:////tmp/srmtestfile.tmp
and delete it
[user] $srmrm srm://<dcache.example.org>:<8443>/data/world-writable/srm-test-file
The defaults for the following configuration parameters can be
found in the .properties files in the
directory /opt/d-cache/share/defaults.
If you want to modify parameters, copy them to
/opt/d-cache/etc/dcache.conf or to your
layout file
/opt/d-cache/etc/layouts/<mylayout>
and update their value.
Example:
Change the value for srmDatabaseHost=localhost in
the layout file.
[<srm-${host.name}Domain>]
[<srm-${host.name}Domain>/srm]
srmDatabaseHost=hostname
In the file
/opt/d-cache/share/defaults/srm.properties
you will find the default values
# ---- Database name srmDbName=dcache # ---- Database user name srmDbUser=srmdcache
The defaults for the configuration parameters for the
SRM service can be found in
/opt/d-cache/share/defaults/dcache.properties.
srmCopyReqThreadPoolSize=250
remoteGsiftpMaxTransfers=${srmCopyReqThreadPoolSize}
If you want to modify these values make sure that both
srmCopyReqThreadPoolSize and
remoteGsiftpMaxTransfers are set to the
same values. The common value should be the roughly equal to
the maximum number of the SRM - to -SRM copies your system
can sustain.
Example:
So if you think about 3 gridftp transfers per pool and you have 30 pools then the number should be 3x30=90.
srmCopyReqThreadPoolSize=90 remoteGsiftpMaxTransfers=90
Example:
US-CMS T1 has:
srmCopyReqThreadPoolSize=2000 remoteGsiftpMaxTransfers=2000
Note
SRM might produce a lot of log entries, especially if
it runs in debug mode. It is recommended to make sure that
logs are redirected into a file on a large disk.