Frequently Asked Questions

  • Support email :

Copyright Notice

1. Introduction

BeStMan is a full implementation of SRM v2.2, developed by Lawrence Berkeley National Laboratory, for disk based storage systems and mass storage systems such as HPSS. End users may have their own personal BeStMan that manages and provides an SRM interface to their local disks or storage systems. It works on top of existing disk-based unix file system, and has been reported so far to work on file systems such as NFS, PVFS, AFS, GFS, GPFS, PNFS, HFS+ and Lustre. It also works with any file transfer service, such as gsiftp, http, https and ftp, as supported file transfer protocols. It requires the minimal administrative efforts on the deployment and maintenance. BeStMan also has a gateway mode by configuration that would provide a lightweight SRM interface on any existing file system without queuing or space management.

SRM v2.2 specification can be found on BeStMan downloads and instructions can be found on

2.1 What happens when BeStMan server configuration parameter is not recognized?

Those unrecognized entries in the bestman.rc configuration file would be ignored when running BeStMan server. So, having conf parameters for full management mode would not affect the server running on gateway mode.

2.2 Does BeStMan work with srmcp from FNAL dCache?

Yes. Refer to sections 7.5-7.9 on BeStMan guide for sample commands.

2.3 Does BeStMan work with lcg-cp or lcg-ls from lcg-utils?

Yes. Refer to sections 7.10-7.11 on BeStMan guide for sample commands.

2.4 Does BeStMan work with FTS?

Yes. It works with FTS with or without space token. glite-url-copy also works.

2.5 Where can I find BeStMan? contains the latest gzipped tar pkg for direct downloading and installation. VDT contains the BeStMan package, and pacman installation includes gridftp server. Sample pacman command is following: pacman -get Pacman BeStMan installation does not include EDG-mkgridmap, and you can install it separately: pacman -get OSG BeStMan VDT installation guide can be found on here.

2.6 GUMS connection from BeStMan is not working.

  • When GUMS connection is successful, srm-ping to the BeStMan server will display the properly mapped local id. When GUMS connection is not working, localIDMapped will be null instead. e.g.
         Value=/DC=org/DC=doegrids/OU=People/CN=Arie Shoshani 12345
  • Check proper GUMSserviceURL in conf/bestman.rc.
    • e.g. GUMSserviceURL=
  • Check proper GUMSCurrHostDN in conf/bestman.rc.
    • e.g. GUMSCurrHostDN=/DC=org/DC=doegrids/OU=Services/
  • GUMSCurrHostDN should be the DN that GUMS server allows to decide which mapping group you are in. Many times, it’s the host DN where BeStMan server runs: e.g. openssl x509 -in /etc/grid-security/hostcert.pem -noout -subject returns subject=/DC=org/DC=doegrids/OU=Services/
  • An example of host mapping on a typical GUMS server is: /?
  • The local mapping can be checked on the web to your GUMS server by clicking on the “host to group mappings” link or directly at https://yourgumsserver.domain.tld:8443/gums/hostToGroupMappings.jsp
  • Sometimes, local system where BeStMan server runs needs the existence of the following path: /etc/grid-security/vomsdir/vdt_empty.pem. Try the following two commands:
       % mkdir /etc/grid-security/vomsdir
       % touch /etc/grid-security/vomsdir/vdt_empty.pem
  • BeStMan GUMS connection does not depend on /etc/grid-security/gsi-authz.conf and /etc/grid-security/prima-authz.conf files.

2.7 I have a customized gridftp server with DSI backend. Can I have BeStMan use my gridftp server?

Yes, for full management mode and for gateway mode.
During the configuration, provide your customized gridftp server url --with-transfer-servers.
E.g. --with-transfer-servers=gsiftp://mygsiftp.domain.tld:2812 You can confirm or modify by checking conf/bestman.rc for entry:

2.8 I have a few gridftp servers to work with. Can I have BeStMan use the all of those gridftp servers?

Yes, for full management mode and for gateway mode. During the configuration, provide your gridftp server urls --with-transfer-servers with semi-colon separated entries. Those gsiftp servers would be used in round-robin bases for TURLs.
E.g. --with-transfer-servers="gsiftp://gsiftp1.domain.tld;gsiftp://gsiftp2.domain.tld;gsiftp://gsiftp3.domain.tld"; You can confirm or modify by checking conf/bestman.rc for entry:

2.9 Can BeStMan server handle large numbers in file size or space reservation?

As long as there is enough space on the storage, BeStMan can handle as much as java allows. Currently it is 18,446,744,073,709,551,615.

2.10 I have a customized mass storage system. Can I use BeStMan on top of our MSS?

If your customized mass storage system has POSIX compliant file system, BeStMan as is would work on top of your MSS. If you have special clients for your MSS access, you can extend BeStMan MSS plugin library to support your customized MSS as custodial quality storage. For more info on how to extend the plugin library, send an email to

2.11 How much memory does srm-copy use?

Because LBNL SRM-Client tools are based on java, there is a java vm overhead. However, when one file is requested, it is somewhat optimized so that less memory (about 30MB) is used. It is still more than C-based SRM copy client such as lcg-cp, but considering modern computer hardware systems, this memory usage would be okay. Our work on the memory usage optimization will be done continuously.

2.12 How can I provide multiple sources to srm-ls?

LBNL SRM-Client tools support multiple "-s' options so that users can provide multiple source urls.

2.13 How do I do for our SRM server to be monitored for its functionality and inter-operation?

Register your SRM endpoint here and follow the instruction. There would be daily testing and results would be posted on the web: or

2.14 I have a firewall. What needs to be done extra?

If you have firewall, the gridftp port range should be properly set in VDT installation. In order to do so, you need to modify

edit $VDT_LOCATION/vdt/etc/

GLOBUS_TCP_SOURCE_RANGE= low_port,high_port 
GLOBUS_TCP_PORT_RANGE= low_port,high_port
Where low_port,high_port - controls all outbound globus connections for gridftp (e.g GLOBUS_TCP_PORT_RANGE=40000,49150).
This low_port,high_port must correspond to --globus-tcp-port-range of VDT configuration of BeStMan (or --with-globus-tcp-port-range and --with-globus-tcp-source-range from the BeStMan manual configuration).
Also, make sure that two ports for BeStMan (--http-port and --https-port from the VDT configuration) are open.

You are here:   Software/BeStMan/BeStManGuide/BeStManFAQ
Last Updated r4 on 2010-08-23 21:00:27 by Asim