Storage Resource Manager (SRM) Setting up Grid Security for SRM Client --------------------------------------- If you are going to use gsi srm for access of srm server you, please read the README.SECURITY What is SRM? ----------- To read about SRM go to http://www-isd.fnal.gov/srm What is srmcp ------------- srmcp is the implementation of srm client as specified by srm spec v1.0 http://sdm.lbl.gov/srm/documents/joint.docs/srm.v1.0.doc. What can I use srmcp for. _______________________ You can use srmcp for optimizing the retrieval and/or storage of files to/from Mass Storage Systems (MSS) which implement SRM. For example SRM can be used to get/put files from/to Fermilab Enstore via dCache. How does SRM client srmcp transfer files? ____________________________ 1. SRM client is given a list of sources and a destination in form of local file urls or remote Site URLs (SURLs). SURLs have a form srm://host:port/path. 2. SRM client srmcp commands MSS to prepare files for transfer and negotiates the transfer protocol and Transfer URLs (TURLs) . 3. After that srm client uses the protocol specific client to transfer actual data from/to server, using TURL. The currently supported transfer protocols are : gsiftp and http. 4. Then srmcp notifies MSS that transfer is completed so that MSS can free its resources. In case of dCache/Enstore srmcp will request the staging of the file from enstore in one of the dCache pools and retrieve the TURL for that file (gsiftp url for example). In case of dCache the file path in SURL is usually the same as in gsiftp url. Srmcp usage. ----------- srmcp uses configuration file that is automatically created by the first invocation of srmcp in $HOME/.srmconfig/config.xml. Specifying command line options is needed only if you wish to override options specified in configuration file. Usage: srmcp [command line options] source(s) destination or : srmcp [command line options] -copyjobfile either source(s) or destination or both should be (an) srm url default options will be read from configuration file but can be overridden by the command line options the command line options are one or more of the following: -debug= true enables debug output, default is false -srmcphome= -gsissl= true uses gsi https, default is false -mapfile= to specify glue mapfile -wsdl_url= this options overrides -webservice_path and -webservice_protocol options -webservice_path= to specify web service path component of web service URL (for example "srm/managerv1.wsdl") -webservice_protocol= to specify the webservice protocol ( for example "http","https" or "httpg") -use_proxy= true if srmcp should use grid proxy false if it should use certificate and key directly, defult value is true -x509_user_proxy= -x509_user_cert= -x509_user_key= -x509_user_trusted_certificates= -conf= default value is config.xml -save_conf= no transfer will be performed if this option is specified -retry_timeout= -retry_num= -connect_to_wsdl= srm client now connects directly to the service without reading the wsdl first but for the compatibility with the old implementation, especially if srm urls available point to the location of the wsdl, we make the old way of connecting to the wsdl location first available -delegate= enables or disables the delegation of the user credenital to the server -full_delegation= if delegation is enabled, it specifies the type of delegation if this option is set to true the delegation is full, otherwise limited -h or -help for this help -urlcopy= to specify the path to universal url_copy script see $SRM_PATH/bin/url-copy.sh for example -buffer_size= to set the buffer size to a value different then default(2048) -tcp_buffer_size= to set the tcp buffer size to a value if option is not specified or set to 0, then thedefault tcp buffer size is used -protocols=protocol1[,protocol2[...]] the comma separated list of supported TURL protocols -pushmode= true to use the push mode in case of srm Mass Storage Systems (MSS) to MSS copy, false to use the pull mode, the default mode is pull mode (false) -use_urlcopy_script= use java native copiers of use urcopy script -copyjobfile= where is the path to the text file containing the list of sources and destination each line has a format : Srmcp usage example. -------------------- The following command will retrieve two files /mypath/myfile1.ext and /mypath/myfile1.ext from enstore via dcache and store them in the local directory /home/timur/targetdir: srmcp \ srm://cdfendca3.fnal.gov:25129//mypath/myfile1.ext \ srm://cdfendca3.fnal.gov:25129//mypath/myfile1.ext \ file://localhost//home/timur/targetdir The following will copy the same files from one storage to another srmcp \ srm://cdfendca3.fnal.gov:25129//mypath/myfile1.ext \ srm://cdfendca3.fnal.gov:25129//mypath/myfile1.ext \ srm:/stkendca.fnal.gov:24128/targetdir The following will get the file using dccp client (it should be already installed on you machine) srmcp \ -protocols=dcap \ srm:/stkendca.fnal.gov:24128/targetdir/myfile1.ext file:////tmp/myfile1.ext