The executable
interacting with the Tertiary
Storage System (TSS), as described in the chapter above, has
to be provided to dCache on all pools connected to the
TSS. The executable
, either a script or a
binary, has to be made “executable” for the user,
dCache is running as, on that host.
The following files have to be modified to allow dCache to interact with the TSS.
-
The
/var/lib/dcache/config/poolmanager.conf
file (one per system) - The pool layout file (one per pool host)
- The pool 'setup' file (one per pool)
- The namespaceDomain layout file (one per system)
After the layout files and the various ’setup’ files have been corrected, the following domains have to be restarted :
- pool services
- dCacheDomain
- namespaceDomain
To be able to read a file from the tape in case the cached file has been deleted from all pools, enable the restore-option. The best way to do this is to log in to the Admin Interface and run the following commands:
[example.dcache.org](local) admin >
cdPoolManager
[example.dcache.org](PoolManager) admin >
pm set -stage-allowed=yes [example.dcache.org](PoolManager) admin >
save
A restart of the dCacheDomain
is not necessary in this case.
Alternatively, if the file
/var/lib/dcache/config/poolmanager.conf
already
exists then you can add the entry
pm set -stage allowed=yes
and restart the dCacheDomain
.
Warning
Do not create the file/var/lib/dcache/config/poolmanager.conf
with this single entry! This will result in an error.
The dCache layout file must be modified for each pool node
connected to a TSS. If your pool nodes have been
configured correctly to work without TSS, you will find
the entry lfs=precious
in the layout file
(that is located in /etc/dcache/layouts
and in
the file /etc/dcache/dcache.conf
respectively) for each pool service. This entry is a
disk-only-option and has to be removed for each pool which
should be connected to a TSS. This will default the
lfs
parameter to hsm
which is exactly what we need.
The pool ’setup’ file is the file
$poolHomeDir/$poolName/setup
. It mainly
defines 3 details related to TSS connectivity.
-
Pointer to the
executable
which is launched on storing and fetching files. -
The maximum number of concurrent
STORE FILE
requests allowed per pool. -
The maximum number of concurrent
FETCH FILE
requests allowed per pool.
Define the executable
and Set the maximum number of
concurrent PUT
and GET
operations:
hsm set <hsmType> [<hsmInstanceName>] [-command=</path/to/executable>] [-key=<value>] # # PUT operations # set the maximum number of active PUT operations >= 1 # st set max active <numberOfConcurrentPUTS> # # GET operations # set the maximum number of active GET operations >= 1 # rh set max active <numberOfConcurrentGETs>
- <hsmType>: the type ot the TSS system. Must be set to “osm” for basic setups.
- <hsmInstanceName>: the instance name of the TSS system. Must be set to “osm” for basic setups.
- </path/to/executable>: the
full path to the
executable
which should be launched for each TSS operation.
Setting the maximum number of concurrent
PUT
and GET
operations.
Both numbers must be non zero to allow the pool to perform transfers.
Example:
We provide a script
to simulate a connection to a TSS. To use this script
place it in the directory /usr/share/dcache/lib
, and create
a directory to simulate the base of the TSS.
[root] #
mkdir -p /hsmTape/data
Login to the Admin Interface to change the entry of the pool ’setup’ file for a pool named pool_1.
(local) admin >
cd pool_1(pool_1) admin >
hsm set osm osm(pool_1) admin >
hsm set osm -command=/usr/share/dcache/lib/hsmscript.sh(pool_1) admin >
hsm set osm -hsmBase=/hsmTape(pool_1) admin >
st set max active 5(pool_1) admin >
rh set max active 5(pool_1) admin >
save
In order to allow dCache to remove files from attached TSSes, the “cleaner.enable.hsm = true” must be added immediately underneath the [namespaceDomain/cleaner] service declaration:
[namespaceDomain] ... other services ... [namespaceDomain/cleaner] cleaner.enable.hsm = true .. more ...
After restarting the necessary dCache domains, pools, already containing files, will start transferring them into the TSS as those files only have a disk copy so far. The number of transfers is determined by the configuration in the pool ’setup’ file as described above in the section called “The pool ’setup’ file”.