What is BeStMan-xrootd
Installation and Configuration
The following SRM v2.2 functions have been implemented or partially implemented:
BeStMan-xrootd requires one or more GridFTP servers. It can access the backend storage system via these GridFTP servers. It can also access the backend storage if a storage system provides a Unix-like Posix file system interface. To work with the current version of FTS and glite-url-copy , a file system interface for the storage system is required.
BeStMan-xrootd was originally designed for the
Xrootd storage system. However,
it can be used with any storage system that has a GridFTP server and a Posix
file system interface.
Though a few directory structures and configuration keywords are still named
after Xrootd, they do not mean that BeStMan-xrootd is for Xrootd storage only.
Installation and
Configuration
BeStMan-xrootd software is available at the
BeStMan web site. The version
we tested is 2.2.0.8.c3 which requires Java 1.6 (Interested users can also
download SRM clients from there). As root, expand the tar ball in, for
example /opt and
then do the following steps:
cd /opt/bestman-xrootd/setup
./configure --with-srm-home=/opt/bestman-xrootd
--with-java-home=your_jdk1.6
This will create a configuration file /opt/bestman-xrootd/conf/bestman.rc. Add the following lines to this configuration file:
supportedProtocolList=gsiftp://host1;gsiftp://host2;gsiftp://host2
checkSizeWithXrootdFS=true
checkSizeWithGsiftp=false
checkFileSysWithGsiftp=false
The above three options tell BeStMan-xrootd whether to do srmLs, srmRm, srmMkdir, srmRmdir, srmMv via file system or GridFTP servers. If all are true, file system will be used first, and GridFTP servers as a fall back mechanism. If all are false, BeStMan-xrootd will not start.
The future support of srmLs, etc. over GridFTP is unclear at this point
because LCG/gLite clients will not pass a correct proxy to BeStMan-xrootd which
will be used again to authenticate with
the GridFTP server. Users are advised to set exactly as the above so
that BeStMan-xrootd will use file system for those operations.
Running as non-root
To run BeStMan-xrootd as an ordinary user and to do the above operations via
file system, that user will need sudo provileges
in order to act as the GSI authenticated users. To do so, the following entry
need to be in BeStMan-xrootd configuration file:
useSudo=true
and the following entries need to be added to /etc/sudoers:
Cmnd_Alias SRM_CMD = /bin/rm, /bin/mkdir, /bin/rmdir, /bin/rm
Runas_Alias USER_LST = ALL, !root
daemon hostname=(USER_LST) NOPASSWD: SRM_CMD
The current version of BeStMan-xrootd assumes that all directories are world readable, and does not use sudo for srmLs.
Note that some sudo program supports "requiretty" (please check the sudoers man page). If so, "requiretty" needs to be set to off in /etc/sudoers file by adding the following line:
Defaults !requiretty
Xrootd storge doesn't support user ownership so far. Using sudo is not necessary for Xrootd storage.
staticTokenList=Token1[space in BG][desc:Token1_Description];Token2[space in BG][desc:Token2_Description]
BeStMan-xrootd doesn't keep trace or enforce static space tokens. For Xrootd
storage, BeStMan-Xrootd can add the space token info to the TURL it emits if
the following line is in the configuration file, and it is up to the Xrootd
storage system to decide what to do with that info. For other storage, the
token info is ignored.
xrootdTokenCompName=oss.cgroupSupport of Static Space Tokens
BeStMan-xrootd supports predefined, static space tokens by defining the
following line to the configuration file:
Running BeStMan-xrootd on
XrootdFS
As we explained previously, BeStMan-xrootd needs to run on top of XrootdFS.
The XrootdFS software can be found at
here. The order to start
BeStMan-xrootd and XrootdFS is not important.
BeStMan-xrootd needs to work together with the GridFTP servers. A GridFTP
server Data Storage Interface (DSI) module for Xrootd storage is available
from the Xrootd software. The source code of the DSI module has instructions
on how to compile and use it.
Acknowledgement
Thanks the LBNL SRM team, especially Alex Sim, Junmin Gu and Vijaya Natarajan
to get all these work out. Also thanks Paolo Tedesco of CERN and Hironori Ito
of BNL for very useful information regarding the interaction between SRM and
FTS.
First draft created Jan. 4, 2008
Updated Jun. 10, 2008