|
|
Line 239: |
Line 239: |
|
| |
|
| Tests have been carried out while creating this Cookbook: [[GO_testing]] | | Tests have been carried out while creating this Cookbook: [[GO_testing]] |
|
| |
| This page is a summary of the tests that Karolis Eigelis from the EGI User Community Support Team (UCST) carried out with the European Globus Online service during October-November 2012.
| |
|
| |
| The tests helped UCST establish a [[Globus_Online_cookbook_for_EGI_VOs|Globus Online Cookbook for EGI Virtual Organisations]]. Other results of the tests are a number of conclusions:
| |
|
| |
| * Because of lack of regulations, restrictive permissions are set on local storage elements for the main SRM directory.
| |
|
| |
| * VOInfoPath in BDII may be the path only for SRM interface, but patgh for the related GridFTP server is different.
| |
|
| |
| * The SRM hostname that is advertised in BDII is not always the same site where the GridFTP server operates (but usually is). Globus Online uses GridFTP endpoints.
| |
|
| |
| The tests involved the following services:
| |
|
| |
| * Globus Online: http://www.globusonline.eu
| |
|
| |
| * MyProxy server: px.grid.sara.nl
| |
|
| |
| * User Interface: bosui.nikhef.nl
| |
|
| |
| * BDII: bdii.grid.sara.nl
| |
|
| |
| * Storage Elements:
| |
|
| |
| ** DPM 1.8.2 - tbn18.nikhef.nl
| |
|
| |
| ** dCache 2.2.4 - srm.grid.sara.nl
| |
|
| |
| ** Storm 1.8.2 - bostorm.bo.infn.it
| |
|
| |
| * VO: dteam
| |
|
| |
|
| |
| <b>SRM storage directory</b>
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SE=bostorm.bo.infn.it' --attrs 'VOInfoPath'
| |
|
| |
| - SE: bostorm.bo.infn.it
| |
|
| |
| - VOInfoPath /dteam
| |
|
| |
| </pre>
| |
|
| |
| VOInfoPath is /dteam for SRM interface:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ srmls -2 srm://bostorm.bo.infn.it:8444/dteam
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| 0 /dteam/
| |
|
| |
| 599 /dteam/20080528-143657-3356-0.txt
| |
|
| |
| 755 /dteam/20081117-145803-15525-0.txt
| |
|
| |
| 599 /dteam/20080528-143353-2676-0.txt
| |
|
| |
| 0 /dteam/misurelli
| |
|
| |
| 0 /dteam/testas
| |
|
| |
| 0 /dteam/-acls
| |
|
| |
| 599 /dteam/20080528-145209-4387-0.txt
| |
|
| |
| 755 /dteam/20081117-145800-15187-0.txt
| |
|
| |
| 0 /dteam/karolis
| |
|
| |
| 599 /dteam/20080528-144905-4048-0.txt
| |
|
| |
| 755 /dteam/20081117-150109-16203-0.txt
| |
|
| |
| 0 /dteam/generated
| |
|
| |
| 0 /dteam/dbauer
| |
|
| |
| </pre>
| |
|
| |
| but if we connnect using GridFTP, /dteam directory even does not exist:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ uberftp bostorm.bo.infn.it "ls /dteam"
| |
|
| |
| 220 bostorm.bo.infn.it GridFTP Server 6.10 (gcc64, 1334324800-83) [Globus Toolkit 5.2.0] ready.
| |
|
| |
| 230 User dteam028 logged in.
| |
|
| |
| Could not list /dteam: 500-Command failed. : System error in stat: No such file or directory
| |
|
| |
| 500-A system call failed: No such file or directory
| |
|
| |
| 500 End.
| |
|
| |
| </pre>
| |
|
| |
| because , it is a "symlink" in SRM WS to real directory which is /storage/dteam, but only SRM interface may access it:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ uberftp bostorm.bo.infn.it "ls /storage"
| |
|
| |
| 220 bostorm.bo.infn.it GridFTP Server 6.10 (gcc64, 1334324800-83) [Globus Toolkit 5.2.0] ready.
| |
|
| |
| 230 User dteam028 logged in.
| |
|
| |
| drwxrwxr-x 21 storm storm 4096 Sep 26 12:45 alice
| |
|
| |
| drwxrwxr-x 4 storm storm 4096 Sep 26 12:45 atlas
| |
|
| |
| drwxrwxr-x 3 storm storm 4096 Sep 26 12:45 cms
| |
|
| |
| drwxr-x--- 2 storm storm 4096 Sep 26 12:45 comput-er.it
| |
|
| |
| drwxrwxr-x 2 storm storm 4096 Jun 29 09:34 computer
| |
|
| |
| drwxrwxr-x 6 storm storm 4096 Oct 29 15:01 dteam
| |
|
| |
| drwxr-x--- 2 storm storm 4096 Sep 26 12:45 infngrid
| |
|
| |
| drwx------ 2 root root 16384 Jun 7 18:43 lost+found
| |
|
| |
| drwxrwxr-x 4 storm storm 69632 Nov 2 09:58 ops
| |
|
| |
| -bash-3.2$ uberftp bostorm.bo.infn.it "ls /storage/dteam"
| |
|
| |
| 220 bostorm.bo.infn.it GridFTP Server 6.10 (gcc64, 1334324800-83) [Globus Toolkit 5.2.0] ready.
| |
|
| |
| 230 User dteam028 logged in.
| |
|
| |
| Could not list /storage/dteam: 500-Command failed. : System error in scandir: Permission denied
| |
|
| |
| 500-A system call failed: Permission denied
| |
|
| |
| 500 End.
| |
|
| |
| </pre>
| |
|
| |
|
| |
| === Directory listing on GlobusOnline ===
| |
|
| |
| On GO Web, if directory is empty, GO Web fails with error listing that directory, if at least on file exists it works fine.
| |
|
| |
| e.g. if i try to enter the directory which is empty i get:<br>
| |
|
| |
| <pre>
| |
|
| |
| "Could not access /dpm/nikhef.nl/home/dteam/karolis.
| |
|
| |
| Please check the path and try again.
| |
|
| |
| Error listing directory '/dpm/nikhef.nl/home/dteam/karolis/' on endpoint 'ekarolis#nikhef_DPM':
| |
|
| |
| Error: Embedded '/' in '/dpm/nikhef.nl/home/dteam/karolis' dirlist: dirlist/recurse.cpp:206:
| |
|
| |
| void _process_direntry(MLSDEntry*, OpDirlist*): Assertion `0' failed. hide details"
| |
|
| |
| </pre>
| |
|
| |
| It fails on Nikhef DPM node, but works fine on SARA dCache node.<br>
| |
|
| |
| === SRM -> GO endpoint ===
| |
|
| |
| Go endpoint can be created from all three types (DPM, dCache, STORM) of storage elements within EGI, but SEs have to meet some requirements:
| |
|
| |
|
| |
| Software versions:
| |
|
| |
| * GridFTP compatible versions with GlobusOnline access methods within EGI
| |
|
| |
|
| |
| Gathering info within EGI:
| |
|
| |
| <b>Retrieve all SEs from BDII</b>
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(objectClass=GlueSE)' GlueSEUniqueID|grep GlueSEUniqueID:|awk '{print $2}' > EGI_ALL_SE_HOSTS
| |
|
| |
| </pre>
| |
|
| |
| Count how much hosts we have
| |
|
| |
| <pre>
| |
|
| |
| bash-3.2$ wc -l EGI_ALL_SE_HOSTS
| |
|
| |
| 489 EGI_ALL_SE_HOSTS
| |
|
| |
| </pre>
| |
|
| |
| OR
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --attrs 'SE'|tr -d '\-SE:[:blank:]'|tr -s '\r' '\n'|sort|uniq|wc -l
| |
|
| |
| 483
| |
|
| |
| </pre>
| |
|
| |
|
| |
| Probe for GridFTP 2811 port EGI_ALL_SE_HOSTS
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ for i in `cat EGI_ALL_SE_HOSTS`;do echo ¨Connecting to $i `nc -w 2 $i 2811`¨;done|tee EGI_ALL_SE_GRIDFTP_VERSIONS
| |
|
| |
| </pre>
| |
|
| |
| Count how many of them responded with GridFTP open
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ grep FTP EGI_ALL_SE_GRIDFTP_VERSIONS|wc -l
| |
|
| |
| 299
| |
|
| |
| </pre>
| |
|
| |
| What are the GridFTP Server versions
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ awk '{print $8}' EGI_ALL_SE_GRIDFTP_VERSIONS|sort|uniq
| |
|
| |
| 2.3
| |
|
| |
| 2.7
| |
|
| |
| 2.8
| |
|
| |
| 3.23
| |
|
| |
| 3.28
| |
|
| |
| 3.33
| |
|
| |
| 6.10
| |
|
| |
| 6.14
| |
|
| |
| 6.5
| |
|
| |
| </pre>
| |
|
| |
| <b>Lets see how many types of storage exists in EGI </b>
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectClass=GlueSE))' GlueSEImplementationName|grep ^GlueSE|sort|uniq
| |
|
| |
| GlueSEImplementationName: ARC
| |
|
| |
| GlueSEImplementationName: bestman
| |
|
| |
| GlueSEImplementationName: BeStMan
| |
|
| |
| GlueSEImplementationName: CASTOR
| |
|
| |
| GlueSEImplementationName: classicSE
| |
|
| |
| GlueSEImplementationName: dcache
| |
|
| |
| GlueSEImplementationName: dCache
| |
|
| |
| GlueSEImplementationName: DPM
| |
|
| |
| GlueSEImplementationName: HDFS
| |
|
| |
| GlueSEImplementationName: StoRM
| |
|
| |
| GlueSEImplementationName: xrootd
| |
|
| |
| </pre>
| |
|
| |
| How many of DPM, dCache, Storm ?
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectClass=GlueSE)(GlueSEImplementationName=dcache))' GlueSEUniqueID|grep ^GlueSE|wc -l
| |
|
| |
| 79
| |
|
| |
| -bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectClass=GlueSE)(GlueSEImplementationName=dpm))' GlueSEUniqueID|grep ^GlueSE|wc -l
| |
|
| |
| 217
| |
|
| |
| -bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectClass=GlueSE)(GlueSEImplementationName=storm))' GlueSEUniqueID|grep ^GlueSE|wc -l
| |
|
| |
| 54
| |
|
| |
| </pre>
| |
|
| |
|
| |
| <b>Retrieve only SRM hosts from BDII</b>
| |
|
| |
| <pre>
| |
|
| |
| bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectclass=GlueService)(GlueServiceType=SRM))' GlueServiceEndpoint |grep GlueServiceEndpoint| awk '{print $2}'|sort|uniq|sed -e '/managerv1/d'|sed -e 's/httpg:\/\///g'|sed -e 's/:.*//' > EGI_ALL_SRM_ENDPOINTS
| |
|
| |
| </pre>
| |
|
| |
| Count how much SRM endpoints we have
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ wc -l EGI_ALL_SRM_ENDPOINTS
| |
|
| |
| 423 EGI_ALL_SRM_ENDPOINTS
| |
|
| |
| </pre>
| |
|
| |
| OR
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ lcg-info --list-service --bdii ldap://bdii.grid.sara.nl:2170 --query 'ServiceType=SRM'|awk {'print $3'}|sort|uniq|sed -e '/managerv1/d'|sed -e 's/httpg:\/\///g'|sed -e 's/:.*//'|wc -l
| |
|
| |
| 420
| |
|
| |
| </pre>
| |
|
| |
|
| |
| Configuration issues:
| |
|
| |
| * GridFTP must accept VOMS proxy e.g. user is mapped to /home/dteam009 at storage element
| |
|
| |
| * Main storage directory used by SRM must allow VO member using his VOMS proxy to access it e.g. /storage/dteam, and not only his home directory which is e.g. /home/dteam009
| |
|
| |
| * BDII or SRM WS should provide the real path to the main storage directory used on storage element e.g. VOInfoPath from BDII MAY contain the path for SRM ONLY and SRM does the mapping to the real path, but GridFTP does not know how to do that mapping.
| |
|
| |
| Note: Configuration issues may be different, depending on how EGI decides to configure SRM/GridFTP/SEs in general and how GlobusOnline finds important information within EGI):
| |
|
| |
| === File operations ===
| |
|
| |
| All operations below were performed succesufully:
| |
|
| |
| a) copy file using SRM and listing file using GO Web<br>
| |
|
| |
| b) copy file using GO Web and listing file using SRM<br>
| |
|
| |
| c) checking if correct Disk Used Sizes are reported by BDII (transfering at least 1GB)<br>
| |
|
| |
| d) deleting file using SRM (file was put by using GO Web)<br>
| |
|
| |
| e) deleting file using GO Web (file was put by using SRM)<br>
| |
|
| |
| f) Transfer file from NIKHEF DPM to SARA dCache.<br>
| |
|
| |
|
| |
| 1) Picked up few SEs:
| |
|
| |
| DPM 1.8.2 - tbn18.nikhef.nl<br>
| |
|
| |
| dCache 2.2.4 - srm.grid.sara.nl<br>
| |
|
| |
| STORM 1.8.2 - bostorm.bo.infn.it<br>
| |
|
| |
| 2) Finding SRM endpoints for these SEs:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ lcg-info --list-service --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'ServiceType=SRM' --attrs 'ServiceEndpoint'| grep tbn18.nikhef.nl
| |
|
| |
| - Service: httpg://tbn18.nikhef.nl:8446/srm/managerv2
| |
|
| |
| - ServiceEndpoint httpg://tbn18.nikhef.nl:8446/srm/managerv2
| |
|
| |
| -bash-3.2$ lcg-info --list-service --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'ServiceType=SRM' --attrs 'ServiceEndpoint'| grep srm.grid.sara.nl
| |
|
| |
| - Service: httpg://srm.grid.sara.nl:8443/srm/managerv2
| |
|
| |
| - ServiceEndpoint httpg://srm.grid.sara.nl:8443/srm/managerv2
| |
|
| |
| -bash-3.2$ lcg-info --list-service --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'ServiceType=SRM' --attrs 'ServiceEndpoint'| grep bostorm.bo.infn.it
| |
|
| |
| - Service: httpg://bostorm.bo.infn.it:8444/srm/managerv2
| |
|
| |
| - ServiceEndpoint httpg://bostorm.bo.infn.it:8444/srm/managerv2
| |
|
| |
| </pre>
| |
|
| |
| 3) Finding SRM VO home path for these SRM endpoints:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SE=tbn18.nikhef.nl' --attrs 'VOInfoPath'
| |
|
| |
| - SE: tbn18.nikhef.nl
| |
|
| |
| - VOInfoPath /dpm/nikhef.nl/home/dteam
| |
|
| |
| -bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SE=srm.grid.sara.nl' --attrs 'VOInfoPath'
| |
|
| |
| - SE: srm.grid.sara.nl
| |
|
| |
| - VOInfoPath /pnfs/grid.sara.nl/data/dteam
| |
|
| |
| -bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SE=bostorm.bo.infn.it' --attrs 'VOInfoPath'
| |
|
| |
| - SE: bostorm.bo.infn.it
| |
|
| |
| - VOInfoPath /dteam
| |
|
| |
| </pre>
| |
|
| |
| 4) Listing files in SRM endpoints:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| 0 /dpm/nikhef.nl/home/dteam/
| |
|
| |
| < output truncated >
| |
|
| |
| -bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| 512 /pnfs/grid.sara.nl/data/dteam/
| |
|
| |
| < output truncated >
| |
|
| |
| -bash-3.2$ srmls -2 srm://bostorm.bo.infn.it:8444/dteam
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| 0 /dteam/
| |
|
| |
| < output truncated >
| |
|
| |
| </pre>
| |
|
| |
| 5) Listing used and total space on SEs (in GB units):
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ ldapsearch -LLL -h tbn18.nikhef.nl -p 2170 -x -b mds-vo-name=resource,o=grid '(&(objectClass=GlueSA)(GlueSAAccessControlBaseRule=VO:dteam))' GlueSATotalOnlineSize GlueSAUsedOnlineSize
| |
|
| |
| dn: GlueSALocalID=test:replica:online,GlueSEUniqueID=tbn18.nikhef.nl,Mds-Vo-na
| |
|
| |
| me=resource,o=grid
| |
|
| |
| GlueSATotalOnlineSize: 32
| |
|
| |
| GlueSAUsedOnlineSize: 4
| |
|
| |
| -bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SAVOs=VO:dteam' --attrs 'UsedOnline,TotalOnline'|grep srm.grid.sara.nl -A 7
| |
|
| |
| - SE: srm.grid.sara.nl
| |
|
| |
| - UsedOnline 0
| |
|
| |
| 0
| |
|
| |
| 0
| |
|
| |
| - TotalOnline 0
| |
|
| |
| 15000
| |
|
| |
| 58681
| |
|
| |
| Note: three values because it is dCache.
| |
|
| |
| -bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SAVOs=VO:dteam' --attrs 'UsedOnline,TotalOnline'|grep bostorm.bo.infn.it -A 3
| |
|
| |
| - SE: bostorm.bo.infn.it
| |
|
| |
| - UsedOnline 0
| |
|
| |
| - TotalOnline 100
| |
|
| |
| </pre>
| |
|
| |
| 6) Uploading file from UI via SRM client to SE endpoint:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ srmcp -2 file:///100M.rand srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/100M.rand -debug
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| Storage Resource Manager (SRM) Client version 2.1.5-16
| |
|
| |
| Tue Oct 30 09:24:36 CET 2012: In SRMClient ExpectedName: host
| |
|
| |
| Tue Oct 30 09:24:36 CET 2012: SRMClient(https,srm/managerv2,true)
| |
|
| |
| SRMClieldapsearch -LLL -h tbn18.nikhef.nl -p 2170 -x -b mds-vo-name=resource,o=grid '(&(objectClass=GlueSA)(GlueSAAccessControlBaseRule=VO:dteam))' GlueSATotalOnlineSize GlueSAUsedOnlineSizentV2 : user credentials are: /O=dutchgrid/O=users/O=egi/CN=Karolis Eigelis
| |
|
| |
| SRMClientV2 : connecting to srm at httpg://tbn18.nikhef.nl:8446/srm/managerv2
| |
|
| |
| SRMClientV2 : srmPrepareToPut , contacting service httpg://tbn18.nikhef.nl:8446/srm/managerv2
| |
|
| |
| copy_jobs is empty
| |
|
| |
| Tue Oct 30 09:24:39 CET 2012: srm returned requestToken = bd7521b6-65ab-4c21-a301-9c484ef81098
| |
|
| |
| Tue Oct 30 09:24:39 CET 2012: sleeping 5 seconds ...
| |
|
| |
| SRMClientV2 : srmStatusOfPutRequest , contacting service httpg://tbn18.nikhef.nl:8446/srm/managerv2
| |
|
| |
| Tue Oct 30 09:24:44 CET 2012: no more pending transfers, breaking the loop
| |
|
| |
| copy_jobs is not empty
| |
|
| |
| copying CopyJob, source = file:///100M.rand destination = gsiftp://hooiwagen.nikhef.nl/hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0
| |
|
| |
| GridftpClient: memory buffer size is set to 131072
| |
|
| |
| GridftpClient: connecting to hooiwagen.nikhef.nl on port 2811
| |
|
| |
| GridftpClient: gridFTPClient tcp buffer size is set to 1048576
| |
|
| |
| GridftpClient: gridFTPWrite started, source file is java.io.RandomAccessFile@74bfed5a destination path is hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0
| |
|
| |
| GridftpClient: gridFTPWrite started, destination path is hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0
| |
|
| |
| GridftpClient: set local data channel authentication mode to None
| |
|
| |
| GridftpClient: parallelism: 10
| |
|
| |
| GridftpClient: waiting for completion of transfer
| |
|
| |
| GridftpClient: starting a transfer to hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0
| |
|
| |
| GridftpClient: DiskDataSink.close() called
| |
|
| |
| GridftpClient: gridFTPWrite() wrote 104857600bytes
| |
|
| |
| GridftpClient: closing client : org.globus.ftp.GridFTPClient@3b5b123b
| |
|
| |
| GridftpClient: closed client
| |
|
| |
| execution of CopyJob, source = file:///100M.rand destination = gsiftp://hooiwagen.nikhef.nl/hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0 completed
| |
|
| |
| SRMClientV2 : srmPutDone , contacting service httpg://tbn18.nikhef.nl:8446/srm/managerv2
| |
|
| |
| srmPutDone status code=SRM_SUCCESS
| |
|
| |
| copy_jobs is empty
| |
|
| |
| stopping copier
| |
|
| |
| </pre>
| |
|
| |
| Note: In the log above we see that in fact the real SE endpoint is "hooiwagen.nikhef.nl", which is not advertized in BDII, but pre-configured inside SRM WS.
| |
|
| |
| 7) Listing file via GO Web and deleting the file via GO Web.
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/100M.rand
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| 104857600 /dpm/nikhef.nl/home/dteam/100M.rand
| |
|
| |
| -bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/100M.rand
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| Tue Oct 30 09:32:12 CET 2012: Return status:
| |
|
| |
| - Status code: SRM_FAILURE
| |
|
| |
| - Explanation: null
| |
|
| |
| SRM_INVALID_PATH File/directory 0 /dpm/nikhef.nl/home/dteam/100M.rand does not exist.
| |
|
| |
| </pre>
| |
|
| |
| 8) Uploading file from GO Web to SE endpoint, listing with SRM client and deleting with SRM:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/1G.rand
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| 1048576000 /dpm/nikhef.nl/home/dteam/1G.rand
| |
|
| |
| -bash-3.2$ srmrm -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/1G.rand
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| -bash-3.2$
| |
|
| |
| </pre>
| |
|
| |
| 9) Uploading 5GB size file from laptop to SE using GO Web and checking if BDII is reporting space correctly.
| |
|
| |
| Before upload:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ ldapsearch -LLL -h tbn18.nikhef.nl -p 2170 -x -b mds-vo-name=resource,o=grid '(&(objectClass=GlueSA)(GlueSAAccessControlBaseRule=VO:dteam))' GlueSATotalOnlineSize GlueSAUsedOnlineSize
| |
|
| |
| dn: GlueSALocalID=test:replica:online,GlueSEUniqueID=tbn18.nikhef.nl,Mds-Vo-na
| |
|
| |
| me=resource,o=grid
| |
|
| |
| GlueSATotalOnlineSize: 32
| |
|
| |
| GlueSAUsedOnlineSize: 4
| |
|
| |
| </pre>
| |
|
| |
| Listing file with SRM client:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/karolisPicked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| 0 /dpm/nikhef.nl/home/dteam/karolis/
| |
|
| |
| 5242880000 /dpm/nikhef.nl/home/dteam/karolis/5G.rand
| |
|
| |
| </pre>
| |
|
| |
| After upload:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ ldapsearch -LLL -h tbn18.nikhef.nl -p 2170 -x -b mds-vo-name=resource,o=grid '(&(objectClass=GlueSA)(GlueSAAccessControlBaseRule=VO:dteam))' GlueSATotalOnlineSize GlueSAUsedOnlineSize
| |
|
| |
| dn: GlueSALocalID=test:replica:online,GlueSEUniqueID=tbn18.nikhef.nl,Mds-Vo-na
| |
|
| |
| me=resource,o=grid
| |
|
| |
| GlueSATotalOnlineSize: 32
| |
|
| |
| GlueSAUsedOnlineSize: 9
| |
|
| |
| </pre>
| |
|
| |
| 10) Making transfer from Nikhef DPM to SARA dCache using GO Web and listing file using SRM on dCache:
| |
|
| |
| <pre>
| |
|
| |
| -bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam/karolis
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| 512 /pnfs/grid.sara.nl/data/dteam/karolis/
| |
|
| |
| 5242880000 /pnfs/grid.sara.nl/data/dteam/karolis/5G.rand
| |
|
| |
| </pre>
| |
|
| |
| And notification by email was received:
| |
|
| |
| <pre>
| |
|
| |
| === Task Deta-bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam/karolis
| |
|
| |
| Picked up _JAVA_OPTIONS: -Xmx512M
| |
|
| |
| 512 /pnfs/grid.sara.nl/data/dteam/karolis/
| |
|
| |
| 5242880000 /pnfs/grid.sara.nl/data/dteam/karolis/5G.rand
| |
|
| |
| ils ===
| |
|
| |
| Task ID : 429d16a4-2278-11e2-bf56-1231380b8963
| |
|
| |
| Task Type : TRANSFER
| |
|
| |
| Parent Task ID : n/a
| |
|
| |
| Status : SUCCEEDED
| |
|
| |
| Request Time : 2012-10-30 09:57:48Z
| |
|
| |
| Deadline : 2012-10-31 09:57:48Z
| |
|
| |
| Completion Time : 2012-10-30 09:58:56Z
| |
|
| |
| Total Tasks : 1
| |
|
| |
| Tasks Successful : 1
| |
|
| |
| Tasks Expired : 0
| |
|
| |
| Tasks Canceled : 0
| |
|
| |
| Tasks Failed : 0
| |
|
| |
| Tasks Pending : 0
| |
|
| |
| Tasks Retrying : 0
| |
|
| |
| Command : API 0.10 eu
| |
|
| |
| Label : from NIKHEF DPM to SARA dCache
| |
|
| |
| Sync Level : n/a
| |
|
| |
| Data Encryption : No
| |
|
| |
| Checksum Verification: No
| |
|
| |
| Delete : No
| |
|
| |
| Files : 1
| |
|
| |
| Files Skipped : 0
| |
|
| |
| Directories : 0
| |
|
| |
| Bytes Transferred : 5242880000
| |
|
| |
| Bytes Checksummed : 0
| |
|
| |
| MBits/sec : 626.016
| |
|
| |
| Faults : 0
| |
|
| |
| </pre>
| |
About
This page provides guidance for Virtual Organisations (VO) of the European Grid Infrastructure (EGI) on how to use the Globus Online service that is available at http://www.globusonline.eu. The services provides robust and easy to use file transfer capabilities for EGI users. Globus Online manages file transfers for you, monitoring performance, retrying failures, auto-tuning and recovering from faults automatically where possible, and reporting status. The Cookbook demonstrates how SRM storages of EGI could be used as endpoints for file transfers in Globus Online.
The Cookbook consists of two parts:
- The first part provides step-by-step instructions for VO Managers on how to register SRM storage services in Globus Online in such a way, that these appear as endpoints that VO members can find and use for file tranfers. Although these steps could be performed by any member of a VO, we assume that for most VOs the VO Manager is the most suitable person to complete the steps, because the VO Managers have sufficient knowledge on storage sites of the VO and about using the BDII information system to obtain detailed information about these storages.
- The second part provides step-by-step instructions for VO members on how to use storage endpoints in Globus Online. These steps can be carried out by any VO member.
The "lsgrid" VO is used as an example in the Cookbook to demonstrate Globus Online usage.
Please email any feedback about this Cookbook to the EGI.eu User Community Support Team: ucst@egi.eu.
VO Managers
All commands are performed from the command line of a gLite User Interface (UI). The "lsgrid" VO is used as an example.
1. Find storage elements available for your VO:
-bash-3.2$ lcg-infosites --is bdii.grid.sara.nl --vo lsgrid se
Avail Space(kB) Used Space(kB) Type SE
------------------------------------------
< output truncated >
717032688 382478939 SRM se.grid.rug.nl
17542103037 460842863 SRM se.lsg.hubrecht.eu
16560797796 1442148104 SRM se.lsg.psy.vu.nl
58680692895 n.a SRM srm.grid.sara.nl
14994733204 5266796 SRM srm.grid.sara.nl
n.a n.a SRM srm.grid.sara.nl
Our tests with Globus Online were successful with DMP and dCache type of SRM storages, however the same process may work with some Storm storages (Storm is the third SRM storage type in use in EGI). With this query you can find out the type of the SRM storage that support your VO (GlueSEUniqueID=<SE_hostname>):
-bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectClass=GlueSE)(GlueSEUniqueID=se.grid.rug.nl))' GlueSEImplementationName
GlueSEImplementationName: dCache
-bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectClass=GlueSE)(GlueSEUniqueID=se.lsg.hubrecht.eu))' GlueSEImplementationName
GlueSEImplementationName: DPM
2. Find the SRM endpoint for chosen storage element:
-bash-3.2$ lcg-info --list-service --bdii ldap://bdii.grid.sara.nl:2170 --vo lsgrid --query 'ServiceType=SRM' --attrs 'ServiceEndpoint'| grep srm.grid.sara.nl
- Service: httpg://srm.grid.sara.nl:8443/srm/managerv2
- ServiceEndpoint httpg://srm.grid.sara.nl:8443/srm/managerv2
3. Find your VO home directory path for the SRM endpoint:
(This is the path of the directory where VO users can write files.)
lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo lsgrid --query 'SE=srm.grid.sara.nl' --attrs 'VOInfoPath'
- SE: srm.grid.sara.nl
- VOInfoPath /pnfs/grid.sara.nl/data/lsgrid
4. Find the GridFTP endpoint that belongs to this SRM endpoint:
-bash-3.2$ touch test
-bash-3.2$ srmcp -2 file:///test srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/lsgrid/test -debug
-bash-3.2$ lcg-gt srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/lsgrid/test gsidcap
-bash-3.2$ gsidcap://bee33.grid.sara.nl:22128/pnfs/grid.sara.nl/data/lsgrid/test
Note: we need to construct the SRM URL: e.g. srm://ServiceEndpoint_hostname:port/VOInfoPath
5. Go to http://www.globusonline.eu/
a) Create an account with your VO name e.g. lsgrid. (Note that usernames can include only letters and numbers. The name of your VO may need to be altered!)
b) Go to "Manage Endpoints" and click "Add Endpoint".
c) Filling the endpoint details:
Name lsgrid# < enter name of the Storage > (e.g. SARA)
Short Description: < enter description > (add VO default path for this storage, e.g. /pnfs/grid.sara.nl/data/lsgrid/)
Server Address gsiftp:// < storage hostname with GridFTP access > (e.g. bee51.grid.sara.nl)
Visible To: Anyone (public)
Set the Identity Provider to be used with this endpoint.
Type: MyProxy
MyProxy Hostname: < myproxy server for your VO > (e.g. px.grid.sara.nl)
VO Members
Commands are performed from the command line of a gLite User Interface (UI). The "lsgrid" VO is used as an example.
1. Generating credentials.
Generate VOMS proxy:
-bash-3.2$ voms-proxy-init --voms lsgrid
Enter GRID pass phrase:
Your identity: /O=dutchgrid/O=users/O=egi/CN=Karolis Eigelis
Creating temporary proxy .............................................................................................................. Done
Contacting voms.hellasgrid.gr:15004 [/C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms.hellasgrid.gr] "lsgrid" Done
Creating proxy ............................................................ Done
Your proxy is valid until Fri Nov 2 02:16:10 2012
Upload VOMS proxy to MyProxy.
-bash-3.2$ myproxy-init --voms lsgrid
Enter GRID pass phrase:
Your identity: /O=dutchgrid/O=users/O=egi/CN=Karolis Eigelis
Creating temporary proxy ............................. Done
Contacting voms.hellasgrid.gr:15004 [/C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms.hellasgrid.gr] "lsgrid" Done
Creating proxy ........................................... Done
Your proxy is valid until Thu Nov 8 14:17:47 2012
verify OK
Enter MyProxy pass phrase:
Verifying - Enter MyProxy pass phrase:
A proxy valid for 168 hours (7.0 days) for user karolise now exists on px.grid.sara.nl.
2. Go to to http://www.globusonline.eu/
a) Create account for yourself
b) Go to "Manage Endpoints" and click "View All".
c) Search for your VO name e.g. lsgrid
You could see something like:
lsgrid#SARA activate
d) Click on "activate"
Fill in the details for your credentials to retrieve.
MyProxy Server: < myproxy server you have credentials at > (e.g. px.grid.sara.nl)
Username: < your user on a myproxy machine > (e.g. karolise)
Passphrase: < you chosen password > (e.g. You used to Enter MyProxy pass phrase in step 1.)
e) Click "Authenticate"
f) Go to "Start Transfer"
Choose your endpoint which is: lsgrid#SARA
Look for your VO path directory in the endpoint description: /pnfs/grid.sara.nl/data/lsgrid/
That is it. Now using Globus Online you can access Storage Element in EGI which is used also by SRM and FTS.
What you can do ?
- Transfer files from your laptop using GlobusConnect client to SRM storage endpoint in EGI using GO.
- Transfer files from SRM endpoint in EGI using GO to your laptop using GlobusConnect client.
- Transfer files from one SRM endpoint in EGI to another SRM endpoint in EGI or to any other Infrastructure using GO and receive nice notifications by email
Additional materials
Tests have been carried out while creating this Cookbook: GO_testing