release notes | Book: 3.2, 4.0, 4.1, 4.2, 5.0, 5.1 (unreleased) | Wiki | Q&A black_bg
Web: Multi-page, Single page | PDF: A4-size, Letter-size | eBook: epub black_bg

Configuring the srm service

[return to top]

The Basic Setup

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

[return to top]

Important srm configuration options

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 srm.db.host in the layout file.

[<srm-${host.name}Domain>]
[<srm-${host.name}Domain>/srm]
srm.db.host=hostname

The property srm.request.copy.threads controls number of copy requests in the running state. Copy requests are 3-rd party srm transfers and therefore the property transfermanagers.limits.external-transfers is best to be set to the same value as shown below.

srm.request.copy.threads=250
transfermanagers.limits.external-transfers=${srm.request.copy.threads}

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.

srm.request.copy.threads=90
transfermanagers.limits.external-transfers=90

Example:

US-CMS T1 has:

srm.request.copy.threads=2000
transfermanagers.limits.external-transfers=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.