First, we will get used to the client tools. On the dCache
admin host, change into the pnfs directory, where the users
are going to store their data:
[user] $cd /pnfs/<site.de>/data/[user] $
Note that on the dCache admin node this directory is a link to
/pnfs/fs/usr/ and the NFS
export localhost:/fs is mounted to /pnfs/fs. The NFS server running on
the dCache admin node is part of the pnfs system which is
not part of dCache but heavily used by it.
The pnfs filesystem is not intended for reading or writing
actual data with regular file operations via the NFS
protocol. However, localhost:/fs is a
special, privileged NFS export that allows reading and writing
for administrative tasks. It should only be mounted by the admin
node.
Reading and writing data to and from a dCache instance can be
done with a number of protocols. After a standard installation,
these protocols are dCap, GSIdCap, and GridFTP. In
addition dCache comes with an implementation of the SRM
protocol which negotiates the actual data transfer protocol.
We will first try dCap with the dccp
command:
[user] $export PATH=/opt/d-cache/dcap/bin/:$PATH[user] $cd /pnfs/<site.de>/data/[user] $dccp /bin/sh my-test-file 541096 bytes in 0 seconds
This command succeeds if the user user has the Unix rights to write
to the current directory /pnfs/<site.de>/data/.
The dccp command also accepts URLs. We can copy the data back
using the dccp command and the dCap protocol but this time
describing the location of the file using a URL.
[user] $ dccp dcap://<adminNode>/pnfs/<site.de>/data/my-test-file /tmp/test.tmp
541096 bytes in 0 secondsHowever, this command only succeeds if the file is world readable. The following shows how ensure the file is not world readable and illustrates dccp consequently failing to copy the file.
[user] $chmod o-r my-test-file[user] $dccp dcap://<adminNode>/pnfs/<site.de>/data/my-test-file /tmp/test2.tmp Command failed! Server error message for [1]: "Permission denied" (errno 2). Failed open file in the dCache. Can't open source file : "Permission denied" System error: Input/output error
This command did not succeed, because dCap access is
unauthenticated and the user is mapped to a non-existent user in
order to determine the access rights. However, you should be
able to access the file with the NFS mount:
[user] $ dccp my-test-file /tmp/test2.tmp
541096 bytes in 0 seconds
If you have a valid grid proxy with a certificate subject which
is properly mapped in the configuration file
/opt/d-cache/etc/dcache.kpwd you can also
try grid-authenticated access via the GSI-authenticated version
of dCap:
[user] $chgrp <yourVO> my-test-file[user] $export LD_LIBRARY_PATH=/opt/d-cache/dcap/lib/:$LD_LIBRARY_PATH[user] $dccp gsidcap://<adminNode>:22128/pnfs/<site.de>/data/my-test-file /tmp/test3.tmp 541096 bytes in 0 seconds
Or we let the SRM negotiate the protocol:
[user] $export PATH=/opt/d-cache/srm/bin/:$PATH[user] $srmcp srm://<adminNode>:8443/pnfs/desy.de/data/my-test-file file:////tmp/test4.tmp configuration file not found, configuring srmcp created configuration file in ~/.srmconfig/config.xml
If the dCache instance is registered as a storage element in
the LCG/EGEE grid and the LCG user interface software is
available the file can be accessed via SRM:
[user] $ lcg-cp -v --vo <yourVO> \
srm://<dCacheAdminFQN>/pnfs/<site.de>/data/my-test-file \
file:///tmp/test5.tmp
Source URL: srm://<dCacheAdminFQN>/pnfs/<site.de>/data/my-test-file
File size: 541096
Source URL for copy: gsiftp://<dCacheAdminFQN>:2811//pnfs/site.de/data/my-test-file
Destination URL: file:///tmp/test5.tmp
# streams: 1
Transfer took 770 ms
and it can be deleted with the help of the SRM interface:
[user] $ srm-advisory-delete srm://<dCacheAdminFQN>:8443/pnfs/<site.de>/data/my-test-file
srmcp error : advisoryDelete(User [name=...],pnfs/<site.de>/data/my-test-file)
Error user User [name=...] has no permission to delete 000100000000000000BAF0C0This works only if the grid certificate subject is mapped to a user which has permissions to delete the file:
[user] $chown <yourVO>001 my-test-file[user] $srm-advisory-delete srm://<dCacheAdminFQN>:8443/pnfs/<site.de>/data/my-test-file
If the grid functionality is not required the file can be
deleted with the NFS mount of the pnfs filesystem:
[user] $rmmy-test-file
| Copyright dCache.org © 2003 - 2008 |