Management of Dcache

main services to maintain

head01 : dcache-core

head02: postgresql pnfs dcache-core

pool nodes: dcache-core dcache-pool

main configuration files:

general configuration files on head01, head02 ,pool nodes:

1. /opt/d-cache/etc/node_config (to configure what kind of services are runing on this Node)
the following it is an example of head01..
GSIDCAP=no
DCAP=no
GRIDFTP=no
SRM=yes
XROOTD=no
replicaManager=no
infoProvider=yes
statistics=no
lmDomain=yes
httpDomain=yes
pnfsManager=no
poolManager=yes
adminDoor=yes
utilityDomain=yes
dirDomain=no
gPlazmaService=yes
2. /opt/d-cache/etc/dcache.kpwd

configure the authorization and authentication for dcache uses..Dcache can support 4 kinds of Authorization and Authentication policy..and you can configure which is the primary , which is the secondary..

3 /opt/d-cache/config/*.batch
once you choose to run some service on some node, you should all create a *. batch file for this service on this node..

such as gridftpdoor.batch which is the configuration file for gridftp and defines a set of attributes of gridftp services..

*.batch file on head01:
root@head01 /opt/d-cache/config# ls *.batch
adminDoor.batch  
gPlazma.batch      
 lm.batch   
statistics.batch
copy.batch       
gridftpdoor.batch   
pnfs.batch     
utility.batch
dCache.batch     
gsidcapdoor.batch   
pool.batch     
xrootdDoor.batch
dir.batch        
httpd.batch         
replica.batch
door.batch      
 infoProvider.batch  
srm.batch
once you need to add a new services which are suppoted by dcache on the node(for example )

1. you have to create the copy.batch file in its correct format

2. run /opt/d-cache/jobs/initPackage.sh to generate a service management scripts in the directory /opt/d-cache/jobs/copy. (actually , copy is just a soft link to wrapper2.sh in the same directory )..

3. run /opt/d-cache/jobs/copy start|stop to manage this service..

4 ssh -l admin -c blowfish -p 22223 localhost to login the admin interface
(local) admin > cd copy0    (copy0 is the name assigned in the copy.batch)
(copy0) admin > help
 pin <comment> # adds the <comment> to the pinboard
 copy <fromPool> <toPool> [toPool2 [...]] [-max=<maxParallel>] [-precious]
 info [-l|-a]
 exec context  <arg-0>
 drain  # drains current transfers but doesn't start new transfers
 ls [-d] [-w] [-a] [pnfsId]
 dump pinboard <filename> # dumps the full pinboard to <filename>
 stop [-interrupt]  # DEBUG only
 show pinboard [<lines>] # dumps the last <lines> to the terminal
 set printout  <arg-0>
 xgetcellinfo 
 say  <arg-0>

4. /opt/d-cache/config/dCacheSetup ( This is the central configuration file for a dCache instance )
serviceLocatorHost=head01.aglt2.org
serviceLocatorPort=11111
resilientGroupName=ResilientPools
portBase=22
dCapPort=${portBase}125
ftpPort=${portBase}126
kerberosFtpPort=${portBase}127
dCapGsiPort=${portBase}128
#gsiFtpPortNumber=2811
srmPort=8443
xrootdPort=1094
adminPort=${portBase}223
httpdPort=${portBase}88
sshPort=${portBase}124

6 /opt/d-cache/etc/dcachesrm-gplazma.policy
set the authorization and authentication policy of dcache..
saml-vo-mapping-priority="1"
kpwd-priority="2"
grid-mapfile-priority="3"
gplazmalite-vorole-mapping-priority="4"
gridMapFilePath="/etc/grid-security/grid-mapfile"
storageAuthzPath="/etc/grid-security/storage-authzdb"
mappingServiceUrl="https://linat02.grid.umich.edu:8443/gums/services/GUMSAuthorizationServicePort"
gridVoRolemapPath="/etc/grid-security/grid-vorolemap"
gridVoRoleStorageAuthzPath="/etc/grid-security/storage-authzdb"

configuration files on head02:

7. /pnfs/fs/admin/etc/exports/192.41.230.77
(for each node of dcache, there is a file whose name is the IP address of that node in this diretory , which make the pnfs mountable to this node)
/pnfsdoors    /0/root/fs/usr           0 nooptions
8. /pnfs/fs/admin/etc/config/dCache/dcache.conf
(this file comprise the dcap door endpoints.Add each dcap door to this file)
....
c-7-36.aglt2.org:22136
c-7-36.aglt2.org:22137
c-7-36.aglt2.org:22138
c-7-36.aglt2.org:22139
c-7-36.aglt2.org:22140
....
configuration files on pool node (take c-1-16 for example)

9. /opt/d-cache/config/c-1-16.poollist
(define the pool list on this node)
c-1-16_1  /dcache/pool  sticky=allowed recover-space recover-control recover-anyway lfs=precious tag.hostname=c-1-16
c-1-16_2  /dcache1/pool  sticky=allowed recover-space recover-control recover-anyway lfs=precious tag.hostname=c-1-16
c-1-16_3  /dcache2/pool  sticky=allowed recover-space recover-control recover-anyway lfs=precious tag.hostname=c-1-16

Postgres Notes

As currently configured postgres generates large logfiles that it rotates once per day. Root's crontab on head02 runs a "find" every day which removes files older than 10 days in /var/lib/pgsql/data/pg_log.

Adding existing pools to storage resources - step by step

(see also HowToAddNewPoolsToDcache and AssociateDirectoryToPools)

  • /opt/d-cache/config/PoolManager.conf (self-explanatory)
  • (root@head01, no password):   ssh -l admin -c blowfish -p 22223 localhost
  • cd PoolManager
  • reload -yes

-- WenjingWu - 22 Oct 2007
Topic revision: r11 - 24 Jun 2009, BenMeekhof
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback