Like other services, the srm
service can be enabled in
the layout file
/etc/dcache/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 10, 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 /usr/share/dcache/defaults
.
If you want to modify parameters, copy them to
/etc/dcache/dcache.conf
or to your
layout file
/etc/dcache/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
/usr/share/dcache/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
/usr/share/dcache/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.