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:
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
5 Also in dir /opt/d-cache/config/ there are other *Setup..(as lmSetup..) which are the soft links to dCacheSetup in the same directory.
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