dCache.Org eagle
black_bg
home | documentation | downloads | feedback | search | imprint
black_bg
release notes | Book: 1.9.5, 1.9.12 (opt, FHS), 2.0 (opt, FHS) 2.1 (opt, FHS) | Wiki | Q&A | Client API | dccp
black_bg
Web: Multi-page, Single page | PDF: A4-size, Letter-size | eBook: epub
black_bg

SRM configuration for experts

There are a few parameters in dcache.properties that you might find useful for nontrivial SRM deployment.

[return to top]

srmSpaceManagerEnabled

srmSpaceManagerEnabled tells if the space management is activated in SRM.

Possible values are yes and no. Default is yes.

Usage example:

srmSpaceManagerEnabled=yes

[return to top]

srmImplicitSpaceManagerEnabled

srmImplicitSpaceManagerEnabled tells if the space should be reserved for SRM Version 1 transfers and for SRM Version 2 transfers that have no space token specified. Will have effect only if srmSpaceManagerEnabled.

Possible values are yes and no. This is enabled by default, disabled if srmSpaceManagerEnabled is set to no.

Usage example:

srmImplicitSpaceManagerEnabled=yes

[return to top]

overwriteEnabled

overwriteEnabled tells SRM and GridFTP servers if the overwrite is allowed. If enabled on the SRM node, should be enabled on all GridFTP nodes.

Possible values are yes and no. Default is no.

Usage example:

overwriteEnabled=yes

[return to top]

srmOverwriteByDefault

srmOverwriteByDefault Set this to true if you want overwrite to be enabled for SRM v1.1 interface as well as for SRM v2.2 interface when client does not specify desired overwrite mode. This option will be considered only if overwriteEnabled is set to yes.

Possible values are true and false. Default is false.

Usage example:

srmOverwriteByDefault=false 

[return to top]

srmDatabaseHost

srmDatabaseHost tells SRM which database host to connect to. Do not change unless you know what you are doing.

Default value is localhost.

Usage example:

srmDatabaseHost=database-host.example.org

[return to top]

spaceManagerDatabaseHost

spaceManagerDatabaseHost tells SpaceManager which database host to connect to. Do not change unless you know what you are doing.

Default value is localhost.

Usage example:

spaceManagerDatabaseHost=database-host.example.org

[return to top]

pinManagerDatabaseHost

pinManagerDatabaseHost tells PinManager which database host to connect to. Do not change unless you know what you are doing.

Default value is localhost.

Usage example:

pinManagerDatabaseHost=database-host.example.org

[return to top]

srmDbName

srmDbName tells SRM which database to connect to. Do not change unless you know what you are doing.

Default value is dcache.

Usage example:

srmDbName=dcache

[return to top]

srmDbUser

srmDbUser tells SRM which database user name to use when connecting to database. Do not change unless you know what you are doing.

Default value is srmdcache.

Usage example:

srmDbUser=srmdcache

[return to top]

srmDbPassword

srmDbPassword tells SRM which database password to use when connecting to database. Do not change unless you know what you are doing.

Usage example:

srmDbPassword=NotVerySecret

[return to top]

srmPasswordFile

srmPasswordFile tells SRM which database password file to use when connecting to database. Do not change unless you know what you are doing. It is recommended that MD5 authentication method is used. To learn about file format please see http://www.postgresql.org/docs/8.1/static/libpq-pgpass.html. To learn more about authentication methods please visit http://www.postgresql.org/docs/8.1/static/encryption-options.html, Please read "Encrypting Passwords Across A Network" section.

This option is not set by default.

Usage example:

srmPasswordFile=/root/.pgpass

[return to top]

srmJdbcMonitoringLogEnabled

srmJdbsMonitoringLogEnabled tells SRM to store the history of the SRM request executions in the database. This option is useful if you are using SRMWatch web monitoring tool. Activation of this option might lead to the increase of the database activity, so if the PostgreSQL load generated by SRM is excessive, disable it.

Possible values are true and false. Default is false.

Usage example:

srmJdbsMonitoringLogEnabled=false

[return to top]

srmDbLogEnabled

srmDbLogEnabled tells SRM to store the information about the remote (copy, srmCopy) transfer details in the database. This option is useful if you are using SRMWatch web monitoring tool. Activation of this option might lead to the increase of the database activity, so if the PostgreSQL load generated by SRM is excessive, disable it.

Possible values are true and false. Default is false.

Usage example:

srmDbLogEnabled=false

[return to top]

srmVersion

srmVersion is not used by SRM; it was mentioned that this value is used by some publishing scripts.

Default is version1.

[return to top]

pnfsSrmPath

pnfsSrmPath tells SRM what the root of all SRM paths is in pnfs. SRM will prepend path to all the local SURL paths passed to it by SRM client. So if the pnfsSrmPath is set to /pnfs/fnal.gov/THISISTHEPNFSSRMPATH and someone requests the read of srm://srm.example.org:8443/file1, SRM will translate the SURL path /file1 into /pnfs/fnal.gov/THISISTHEPNFSSRMPATH/file1. Setting this variable to something different from / is equivalent of performing Unix chroot for all SRM operations.

Default value is /.

Usage example:

pnfsSrmPath="/pnfs/fnal.gov/data/experiment"

[return to top]

parallelStreams

parallelStreams specifies the number of the parallel streams that SRM will use when performing third party transfers between this system and remote GSI-FTP servers, in response to SRM v1.1 copy or SRM V2.2 srmCopy function. This will have no effect on srmPrepareToPut and srmPrepareToGet command results and parameters of GridFTP transfers driven by the SRM clients.

Default value is 10.

Usage example:

parallelStreams=20

[return to top]

srmBufferSize

srmBufferSize specifies the number of bytes to use for the in memory buffers for performing third party transfers between this system and remote GSI-FTP servers, in response to SRM v1.1 copy or SRM V2.2 srmCopy function. This will have no effect on srmPrepareToPut and srmPrepareToGet command results and parameters of GridFTP transfers driven by the SRM clients.

Default value is 1048576.

Usage example:

srmBufferSize=1048576

[return to top]

srmTcpBufferSize

srmTcpBufferSize specifies the number of bytes to use for the tcp buffers for performing third party transfers between this system and remote GSI-FTP servers, in response to SRM v1.1 copy or SRM V2.2 srmCopy function. This will have no effect on srmPrepareToPut and srmPrepareToGet command results and parameters of GridFTP transfers driven by the SRM clients.

Default value is 1048576.

Usage example:

srmTcpBufferSize=1048576

[return to top]

srmAuthzCacheLifetime

srmAuthzCacheLifetime specifies the duration that authorizations will be cached. Caching decreases the volume of messages to the gPlazma cell or other authorization mechanism. To turn off caching, set the value to 0.

Default value is 120.

Usage example:

srmAuthzCacheLifetime=60

[return to top]

srmGetLifeTime, srmPutLifeTime and srmCopyLifeTime

srmGetLifeTime, srmPutLifeTime and srmCopyLifeTime specify the lifetimes of the srmPrepareToGet (srmBringOnline) srmPrepareToPut and srmCopy requests lifetimes in millisecond. If the system is unable to fulfill the requests before the request lifetimes expire, the requests are automatically garbage collected.

Default value is 14400000 (4 hours)

Usage example:

srmGetLifeTime=14400000
srmPutLifeTime=14400000
srmCopyLifeTime=14400000

[return to top]

srmGetReqMaxReadyRequests, srmPutReqMaxReadyRequests, srmGetReqReadyQueueSize and srmPutReqReadyQueueSize

srmGetReqMaxReadyRequests and srmPutReqMaxReadyRequests specify the maximum number of the files for which the transfer URLs will be computed and given to the users in response to SRM get (srmPrepareToGet) and put (srmPrepareToPut) requests. The rest of the files that are ready to be transfered are put on the Ready queues, the maximum length of these queues are controlled by srmGetReqReadyQueueSize and srmPutReqReadyQueueSize parameters. These parameters should be set according to the capacity of the system, and are usually greater than the maximum number of the GridFTP transfers that this dCache instance GridFTP doors can sustain.

Usage example:

srmGetReqReadyQueueSize=10000
srmGetReqMaxReadyRequests=2000
srmPutReqReadyQueueSize=10000
srmPutReqMaxReadyRequests=1000

[return to top]

srmCopyReqThreadPoolSize and remoteGsiftpMaxTransfers

srmCopyReqThreadPoolSize and remoteGsiftpMaxTransfers. srmCopyReqThreadPoolSize is used to specify how many parallel srmCopy file copies to execute simultaneously. Once the SRM contacted the remote SRM system, and obtained a Transfer URL (usually GSI-FTP URL), it contacts a Copy Manager module (usually RemoteGSIFTPTransferManager), and asks it to perform a GridFTP transfer between the remote GridFTP server and a dCache pool. The maximum number of simultaneous transfers that RemoteGSIFTPTransferManager will support is remoteGsiftpMaxTransfers, therefore it is important that remoteGsiftpMaxTransfers is greater than or equal to srmCopyReqThreadPoolSize.

Usage example:

srmCopyReqThreadPoolSize=250
remoteGsiftpMaxTransfers=260

[return to top]

srmCustomGetHostByAddr

srmCustomGetHostByAddr srmCustomGetHostByAddr enables using the BNL developed procedure for host by IP resolution if standard InetAddress method failed.

Usage example:

srmCustomGetHostByAddr=true

[return to top]

RecursiveDirectoryCreation

RecursiveDirectoryCreation allows or disallows automatic creation of directories via SRM, allow=true, disallow=false.

Automatic directory creation is allowed by default.

Usage example:

RecursiveDirectoryCreation=true

[return to top]

hostCertificateRefreshPeriod

This option allows you to control how often the SRM door will reload the server’s host certificate from the filesystem. For the specified period, the host certificate will be kept in memory. This speeds up the rate at which the door can handle requests, but also causes it to be unaware of changes to the host certificate (for instance in the case of renewal).

By changing this parameter you can control how long the host certificate is cached by the door and consequently how fast the door will be able to detect and reload a renewed host certificate.

Please note that the value of this parameter has to be specified in seconds.

Usage example:

hostCertificateRefreshPeriod=86400

[return to top]

trustAnchorRefreshPeriod

The trustAnchorRefreshPeriod option is similar to hostCertificateRefreshPeriod. It applies to the set of CA certificates trusted by the SRM door for signing end-entity certificates (along with some metadata, these form so called trust anchors). The trust anchors are needed to make a decision about the trustworthiness of a certificate in X.509 client authentication. The GSI security protocol used by SRM builds upon X.509 client authentication.

By changing this parameter you can control how long the set of trust anchors remains cached by the door. Conversely, it also influences how often the door reloads the set of trusted certificates.

Please note that the value of this parameter has to be specified in seconds.

Tip

Trust-anchors usually change more often than the host certificate. Thus, it might be sensible to set the refresh period of the trust anchors lower than the refresh period of the host certificate.

Usage example:

trustAnchorRefreshPeriod=3600
black_bg
Copyright dCache.org © 2003 - 2012