SRB [#!srb!#], the Storage Resource Broker from SDSC is a powerful distributed file system. The client Scommands can be installed using the GROWL Scripts or by following instructions on the SDSC Web site This chapter describes the most commonly used Scommands.

A short tutorial on SRB can be found on the NGS Web site

The GROWL library interface which uses the Scommand client is described in Chapter [*].


Version: 3.4.2
Public calls:
Public modules: SRB client Scommands
Other software required: none
Other modules required: none
Origin: DICE Project, San Diego Supercomputer Center
Remote services required: MCAT server and SRB vault(s)
Restrictions: Only one SRB connection can be active at once per program compiled with this library.
Language: C
Conditions on external use: See SDSC Web site

How to use this Package

The Scommands can be built from a client-only tarball which is unencrypted and contains a subset of the SRB v3.4.2 release. See the README file for build instructions. After the build, the Scommand executables can be found in the utilities/bin directory.

Before using Scommands the user environment must be set up, see Here we described soing that using the .MdasEnv configuratino file. This file should be located in an .srb sub-directory in your home directory. This file contains information for initializing the SRB client environment. This is a text file that contains lines of parameter/ value pair where each values are in quote such as:

mdasCollectionHome '/tcsezone/home/rja.tcse'
mdasDomainHome 'tcse'
srbHost ''
srbPort '7690'
# mcatZone defines the user's home zone
mcatZone 'tcsezone'
srbUser 'rja'
defaultResource 'tcse-vault'

# AUTH_SCHEME defines the auth scheme to use.
# valid schemes are : 
# and 

# SERVER_DN specify the GSI DN of the Server. 
# Valid only if AUTH_SCHEME is set
SERVER_DN '/C=US/O=NPACI/OU=SDSC/USERID=srb/CN=Storage Resource Broker/'

The parameters are as follows:

  1. mdasCollectionHome - This is equivalent to the user's home directory (collection) and is created by the MCAT administrator at the time of the user registration.
  2. mdasDomainHome - This is the domain name associated with the user. This domain name is assigned to the user at the time of the user registration.
  3. srbUser - This is the user name of the user. This name is assigned to the user at the time of the user registration.
  4. srbHost - This is the default host address of the SRB server when a SRB client initiates a SRB connection. This parameter can be overridden at run time by setting the environment variable "srbHost".
  5. srbPort (optional) - This is the port number of the SRB server. If "srbPort" is not specified, it will default to port number 5544.
  6. AUTH_SCHEME (optional) - This parameter defines the authentication scheme to be used. Valid input values are:

    "ENCRYPT1" - A password scheme with the passwords encrypted going from clients to servers.

    "GSI_AUTH" - Use the GSI authentication scheme. If this option is chosen, an additional parameter SERVER_DN given below is required.

    "GSI_DELEGATE" - Use the GSI Delegation (proxy) certificate for authentication. The advantage is that this certificate can be passed from server to server whereby the user's identity continues to be maintained across servers and across zones. This scheme solves the cross zone authentication issues. A slight drawback is that the overhead is somewhat higher than the normal "GSI_AUTH" scheme. If this option is chosen, an additional parameter SERVER_DN given below is required.

    "GSI_SECURE_COMM" - Use the GSI authentication scheme and use the GSI I/O library for all socket communication between client and server. If this option is chosen, an additional parameter SERVER_DN given below is required. If this parameter is not defined, the "ENCRYPT1" Authentication scheme will be used.

  7. SERVER_DN(optional) - This is the "Distinguished Name" of the user running the SRB server. Value for this parameter can be obtained from the SRB administrator. This input is meaningful only if the authentication scheme "GSI_AUTH" or "GSI_SECURE_COMM" is chosen.
  8. defaultResource (optional but recommended) - The reosurce to use if a user does not specify a resource in some Scommands (Sput, Scp, Sreplicate, etc.).
  9. mcatZone (optional but recommended) - The Zone associated with this user. If this parameter is not given, the SRB server will query the MCAT for it. But this will add to the overhead.

Specification of Scommnads

A full description can be found from the SDSC Web site


The following is an example of an SRB session. Standard Unix commands (ls, pwd, cd, etc.) will still work for your local machine during all SRB sessions.

% Sinit [start a new SRB session]

% Smkdir newDir [make an SRB directory "newDir"]

% SgetColl -ahc newDir [display information about "newDir"]

 --------------------------- RESULTS ------------------------------
 user_name :rja
 access_constraint :all
 data_grp_name :/tcsezone/home/rja.tcse/newDir

% Scd newDir [change to the SRB "newDir" directory]

% Sput file_for_SRB . [put a local file "file_for_SRB" in "newDir"]

% Sls -l [list SRB "newDir" directory contents]

   rja    0 tcse-vault           12 2002-04-19-15.37  file_for_SRB

% Scd .. [move up one SRB directory]

% Scp newDir/file_for_SRB . [copy "file_for_SRB" to the new directory]

% Spwd [print SRB working directory]


% Sls [list SRB home directory contents]


% SgetD file_for_SRB [display information about "file_for_SRB"]

 --------------------------- RESULTS ------------------------------
 data_name :file_for_SRB
 data_typ_name :generic
 path_name :/home/rd73/srb/SRBVault/rja.tcse/48/17/file_for_srb
 data_grp_name :/tcsezone/home/rja.tcse
 data_size :12
 phy_rsrc_name :tcse-vault
 container_name :
 offset :0

% Sget file_for_SRB . [write "file_for_SRB" to local machine]

% Sexit [end SRB session]

Rob Allan 2009-11-10