Setting up your dCache pool

Once you've installed the dcache-cta plugin, you must complete the following steps to activate it. Note that you have all of this information on the README.md file of the plugin too.

Create an hsm instance

To activate the plugin, we have to create an hsm instance that points at it. You can create an hsm instance either through the dCache admin shell or editing the pool setup file. Either way, this should be the syntax:

hsm create <hsmType> <hsmName> <plugin> -cta-user
     -cta-group -cta-instance-name
     -cta-frontend-addr
     [-cta-ca-chain] [-cta-use-tls] 
     [-io-endpoint] [-io-port]

This table contains the description of the parameters shown above:

Name
Description
required
default

cta-instance-name

The dCache instance name configured in CTA

yes

-

cta-frontend-addr

The CTA cta-dcache endpoint

yes

-

cta-user

The dCache instance associated user in CTA

yes

-

cta-group

The dCache instance associated group in CTA

yes

-

cta-ca-chain

The path to CA root chain for use with TLS

no

-

cta-use-tls

A switch (true/false) to enable TLS for CTA control connection

no

false

io-endpoint

The hostname or IP offered by dCache for IO by CTA

no

hostname

io-port

The TCP port offered by dCache for IO by CTA

no

-

A basic example of an hsm string would be:

hsm create osm cta dcache-cta -cta-user=ctauser -cta-group=ctagroup -cta-instance-name=ctainstance -cta-frontend-addr=<IP>:<port> 

This will define the storage-uri format of the stored files as follows:

<hsmType>://<hsmName>/<pnfsid>?arichiveid=<id>

Where pnfsid is the dCache id, and the archiveId is the CTA internal id. For example:

osm://cta/00001D43C0C086CA459298C634D67F68AB6B?archiveid=8402

If you need to modify your hsm instance, you can either :

  • Modify the hsm string on the setup file of your pool (that is $poolHomeDir/$poolName/setup) and reload to save the changes:

vim /dcpool/vpool1/setup 
systemctl daemon-reload
  • Use the dCache admin shell to list, remove, and change your hsm definitions with the following commands:

\s <pool> hsm ls [<instances>]...  # list nearline storages
\s <pool> hsm remove <instance>  # remove nearlinestorage definition
\s <pool> hsm set [-<key>[=<value>]] ... <instance>  # set nearline storage options
\s <pool> hsm show providers # list available providers
\s <pool> hsm unset -<key> ... <instance>  # unset nearline storage options
\s <pool> save # save your changes

Set the queue class

As CTA has its own scheduler and flush/restore queue the dCache pools should be configured to submit as much request as possible. Thus grouping and collecting request on the pool side should be disabled, putting all values to 0:

queue define class -expire=0 -pending=0 -total=0 -open <hsmType> *

Last updated