There are a few parameters in dCacheSetup
that you might find useful for nontrivial SRM
deployment.
srmSpaceManagerEnabled
tells if the space
management is activated in SRM
.
Possible values are yes
and no
. Default is yes
.
Usage example:
srmSpaceManagerEnabled=yes
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
overwriteEnabled
tells to SRM
and
GridFTP
servers if the overwrite is allowed. If enabled on
SRM
node, should be enabled on all GridFTP
nodes.
Possible values are yes
and
no
. Default is no
.
Usage example:
overwriteEnabled=yes
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
srmDatabaseHost
tells to 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
spaceManagerDatabaseHost
tells to SRM
Space Manager 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
pinManagerDatabaseHost
tells to SRM
Pin
Manager 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
srmDbName tells to SRM
which database
to connect to. Do not change unless you know what you are
doing.
Default value is dcache
.
Usage example:
srmDbName=dcache
srmDbUser
tells to 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
srmDbPassword
tells to SRM
which database
password to use when connecting to database. Do not change
unless you know what you are doing.
Usage example:
srmDbPassword=NotVerySecret
srmPasswordFile
tells to 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
srmJdbsMonitoringLogEnabled
tells the 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
srmDbLogEnabled
tells to 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, diable it.
Possible values are true
and
false
. Default is false
.
Usage example:
srmDbLogEnabled=false
srmVersion
not used by SRM
, it was
mentioned that this value us used by some publishing scritps.
Default is version1
.
pnfsSrmPath
tells to SRM
what is 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"
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
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
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
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
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
srmGetReqMaxReadyRequests
and
srmPutReqMaxReadyRequests
specify the
maximum number of the files for which the transfer URLs will
be be computed and given to the users in responce 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
srmCopyReqThreadPoolSize
and
remoteGsiftpMaxTransfers
.
srmCopyReqThreadPoolSize is used to specify how many parallel
srmCopy file copies to execute simultaneously. Once the this
SRM
contacted remote SRM
system, and obtained a Transfer
URL (usually GSI-FTP
URL), it contact a Copy Manager
module (usually RemoteGsiftpTransferManager), and asks it to
perform a GridFTP
transfer between remote GridFTP
server
and a dCache pool. The maximum number of the 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
srmCustomGetHostByAddr
srmCustomGetHostByAddr enables using the BNL developed
procedure for host by IP resolution if standard InetAddress
method failed.
Usage example:
srmCustomGetHostByAddr=true
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