Difference between revisions of "Globus Online testing"
(19 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[Category: Community Engagement]] | |||
* | Tests have been carried out while creating this [[Globus_Online_cookbook_for_EGI_VOs|Cookbook]]. | ||
* | |||
* | 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> | <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' | -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 | - SE: bostorm.bo.infn.it | ||
- VOInfoPath /dteam | |||
</pre> | </pre> | ||
Line 14: | Line 49: | ||
<pre> | <pre> | ||
-bash-3.2$ srmls -2 srm://bostorm.bo.infn.it:8444/dteam | -bash-3.2$ srmls -2 srm://bostorm.bo.infn.it:8444/dteam | ||
Picked up _JAVA_OPTIONS: -Xmx512M | 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> | </pre> | ||
Line 35: | Line 87: | ||
<pre> | <pre> | ||
-bash-3.2$ uberftp bostorm.bo.infn.it "ls /dteam" | -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. | 220 bostorm.bo.infn.it GridFTP Server 6.10 (gcc64, 1334324800-83) [Globus Toolkit 5.2.0] ready. | ||
230 User dteam028 logged in. | 230 User dteam028 logged in. | ||
Could not list /dteam: 500-Command failed. : System error in stat: No such file or directory | 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-A system call failed: No such file or directory | ||
500 End. | 500 End. | ||
</pre> | </pre> | ||
Line 46: | Line 105: | ||
<pre> | <pre> | ||
-bash-3.2$ uberftp bostorm.bo.infn.it "ls /storage" | -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. | 220 bostorm.bo.infn.it GridFTP Server 6.10 (gcc64, 1334324800-83) [Globus Toolkit 5.2.0] ready. | ||
230 User dteam028 logged in. | 230 User dteam028 logged in. | ||
drwxrwxr-x 21 storm storm 4096 Sep 26 12:45 alice | drwxrwxr-x 21 storm storm 4096 Sep 26 12:45 alice | ||
drwxrwxr-x 4 storm storm 4096 Sep 26 12:45 atlas | drwxrwxr-x 4 storm storm 4096 Sep 26 12:45 atlas | ||
drwxrwxr-x 3 storm storm 4096 Sep 26 12:45 cms | drwxrwxr-x 3 storm storm 4096 Sep 26 12:45 cms | ||
drwxr-x--- 2 storm storm 4096 Sep 26 12:45 comput-er.it | 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 2 storm storm 4096 Jun 29 09:34 computer | ||
drwxrwxr-x 6 storm storm 4096 Oct 29 15:01 dteam | drwxrwxr-x 6 storm storm 4096 Oct 29 15:01 dteam | ||
drwxr-x--- 2 storm storm 4096 Sep 26 12:45 infngrid | drwxr-x--- 2 storm storm 4096 Sep 26 12:45 infngrid | ||
drwx------ 2 root root 16384 Jun 7 18:43 lost+found | drwx------ 2 root root 16384 Jun 7 18:43 lost+found | ||
drwxrwxr-x 4 storm storm 69632 Nov 2 09:58 ops | drwxrwxr-x 4 storm storm 69632 Nov 2 09:58 ops | ||
-bash-3.2$ uberftp bostorm.bo.infn.it "ls /storage/dteam" | -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. | 220 bostorm.bo.infn.it GridFTP Server 6.10 (gcc64, 1334324800-83) [Globus Toolkit 5.2.0] ready. | ||
230 User dteam028 logged in. | 230 User dteam028 logged in. | ||
Could not list /storage/dteam: 500-Command failed. : System error in scandir: Permission denied | Could not list /storage/dteam: 500-Command failed. : System error in scandir: Permission denied | ||
500-A system call failed: Permission denied | 500-A system call failed: Permission denied | ||
500 End. | 500 End. | ||
</pre> | </pre> | ||
Line 74: | Line 152: | ||
<pre> | <pre> | ||
"Could not access /dpm/nikhef.nl/home/dteam/karolis. | "Could not access /dpm/nikhef.nl/home/dteam/karolis. | ||
Please check the path and try again. | Please check the path and try again. | ||
Error listing directory '/dpm/nikhef.nl/home/dteam/karolis/' on endpoint 'ekarolis#nikhef_DPM': | 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: | |||
Error: Embedded '/' in '/dpm/nikhef.nl/home/dteam/karolis' dirlist: dirlist/recurse.cpp:206: | |||
void _process_direntry(MLSDEntry*, OpDirlist*): Assertion `0' failed. hide details" | void _process_direntry(MLSDEntry*, OpDirlist*): Assertion `0' failed. hide details" | ||
</pre> | </pre> | ||
Line 96: | Line 180: | ||
<b>Retrieve all SEs from BDII</b> | <b>Retrieve all SEs from BDII</b> | ||
<pre> | <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 | -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> | </pre> | ||
Count how much hosts we have | Count how much hosts we have | ||
<pre> | <pre> | ||
bash-3.2$ wc -l EGI_ALL_SE_HOSTS | bash-3.2$ wc -l EGI_ALL_SE_HOSTS | ||
489 EGI_ALL_SE_HOSTS | 489 EGI_ALL_SE_HOSTS | ||
</pre> | </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 | Probe for GridFTP 2811 port EGI_ALL_SE_HOSTS | ||
<pre> | <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 | -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> | </pre> | ||
Count how many of them responded with GridFTP open | Count how many of them responded with GridFTP open | ||
<pre> | <pre> | ||
-bash-3.2$ grep FTP EGI_ALL_SE_GRIDFTP_VERSIONS|wc -l | -bash-3.2$ grep FTP EGI_ALL_SE_GRIDFTP_VERSIONS|wc -l | ||
299 | 299 | ||
</pre> | </pre> | ||
What are the GridFTP Server versions | What are the GridFTP Server versions | ||
<pre> | <pre> | ||
-bash-3.2$ awk '{print $8}' EGI_ALL_SE_GRIDFTP_VERSIONS|sort|uniq | -bash-3.2$ awk '{print $8}' EGI_ALL_SE_GRIDFTP_VERSIONS|sort|uniq | ||
2.3 | 2.3 | ||
2.7 | 2.7 | ||
2.8 | 2.8 | ||
3.23 | 3.23 | ||
3.28 | |||
3.28 | |||
3.33 | 3.33 | ||
6.10 | 6.10 | ||
6.14 | 6.14 | ||
6.5 | 6.5 | ||
</pre> | </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> | <b>Retrieve only SRM hosts from BDII</b> | ||
<pre> | <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> | </pre> | ||
Count how much SRM endpoints we have | 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> | <pre> | ||
-bash-3.2$ wc -l | |||
-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> | </pre> | ||
Line 147: | Line 333: | ||
* GridFTP must accept VOMS proxy e.g. user is mapped to /home/dteam009 at storage element | * 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 | * 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. | * 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. | ||
Line 157: | Line 345: | ||
a) copy file using SRM and listing file using GO Web<br> | a) copy file using SRM and listing file using GO Web<br> | ||
b) copy file using GO Web and listing file using SRM<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> | 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> | 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> | e) deleting file using GO Web (file was put by using SRM)<br> | ||
f) Transfer file from NIKHEF DPM to SARA dCache.<br> | f) Transfer file from NIKHEF DPM to SARA dCache.<br> | ||
Line 167: | Line 360: | ||
DPM 1.8.2 - tbn18.nikhef.nl<br> | DPM 1.8.2 - tbn18.nikhef.nl<br> | ||
dCache 2.2.4 - srm.grid.sara.nl<br> | dCache 2.2.4 - srm.grid.sara.nl<br> | ||
STORM 1.8.2 - bostorm.bo.infn.it<br> | STORM 1.8.2 - bostorm.bo.infn.it<br> | ||
Line 173: | Line 368: | ||
<pre> | <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 | -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 | - 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 | -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 | - 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 | -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 | - Service: httpg://bostorm.bo.infn.it:8444/srm/managerv2 | ||
- ServiceEndpoint httpg://bostorm.bo.infn.it:8444/srm/managerv2 | |||
</pre> | </pre> | ||
Line 189: | Line 392: | ||
<pre> | <pre> | ||
-bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SE=tbn18.nikhef.nl' --attrs 'VOInfoPath' | -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 | - 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' | -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 | - 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' | -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 | - SE: bostorm.bo.infn.it | ||
- VOInfoPath /dteam | |||
</pre> | </pre> | ||
Line 205: | Line 416: | ||
<pre> | <pre> | ||
-bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam | -bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam | ||
Picked up _JAVA_OPTIONS: -Xmx512M | Picked up _JAVA_OPTIONS: -Xmx512M | ||
0 /dpm/nikhef.nl/home/dteam/ | |||
< output truncated > | < output truncated > | ||
-bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam | -bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam | ||
Picked up _JAVA_OPTIONS: -Xmx512M | Picked up _JAVA_OPTIONS: -Xmx512M | ||
512 /pnfs/grid.sara.nl/data/dteam/ | |||
< output truncated > | < output truncated > | ||
-bash-3.2$ srmls -2 srm://bostorm.bo.infn.it:8444/dteam | -bash-3.2$ srmls -2 srm://bostorm.bo.infn.it:8444/dteam | ||
Picked up _JAVA_OPTIONS: -Xmx512M | Picked up _JAVA_OPTIONS: -Xmx512M | ||
0 /dteam/ | |||
< output truncated > | < output truncated > | ||
</pre> | </pre> | ||
Line 224: | Line 446: | ||
<pre> | <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 | -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 | dn: GlueSALocalID=test:replica:online,GlueSEUniqueID=tbn18.nikhef.nl,Mds-Vo-na | ||
me=resource,o=grid | |||
GlueSATotalOnlineSize: 32 | GlueSATotalOnlineSize: 32 | ||
GlueSAUsedOnlineSize: 4 | 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 | -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 | - SE: srm.grid.sara.nl | ||
- UsedOnline 0 | |||
0 | |||
0 | |||
- TotalOnline 0 | |||
15000 | |||
58681 | |||
Note: three values because it is dCache. | 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 | -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 | - SE: bostorm.bo.infn.it | ||
- UsedOnline 0 | |||
- TotalOnline 100 | |||
</pre> | </pre> | ||
Line 251: | Line 488: | ||
<pre> | <pre> | ||
-bash-3.2$ srmcp -2 file:///100M.rand srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/100M.rand -debug | -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 | Picked up _JAVA_OPTIONS: -Xmx512M | ||
Storage Resource Manager (SRM) Client version 2.1.5-16 | 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: In SRMClient ExpectedName: host | ||
Tue Oct 30 09:24:36 CET 2012: SRMClient(https,srm/managerv2,true) | 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 | 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 : connecting to srm at httpg://tbn18.nikhef.nl:8446/srm/managerv2 | ||
SRMClientV2 : srmPrepareToPut , contacting service httpg://tbn18.nikhef.nl:8446/srm/managerv2 | SRMClientV2 : srmPrepareToPut , contacting service httpg://tbn18.nikhef.nl:8446/srm/managerv2 | ||
copy_jobs is empty | 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: srm returned requestToken = bd7521b6-65ab-4c21-a301-9c484ef81098 | ||
Tue Oct 30 09:24:39 CET 2012: sleeping 5 seconds ... | Tue Oct 30 09:24:39 CET 2012: sleeping 5 seconds ... | ||
SRMClientV2 : srmStatusOfPutRequest , contacting service httpg://tbn18.nikhef.nl:8446/srm/managerv2 | 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 | Tue Oct 30 09:24:44 CET 2012: no more pending transfers, breaking the loop | ||
copy_jobs is not empty | 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 | 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: memory buffer size is set to 131072 | ||
GridftpClient: connecting to hooiwagen.nikhef.nl on port 2811 | GridftpClient: connecting to hooiwagen.nikhef.nl on port 2811 | ||
GridftpClient: gridFTPClient tcp buffer size is set to 1048576 | 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, 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: 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: set local data channel authentication mode to None | ||
GridftpClient: parallelism: 10 | GridftpClient: parallelism: 10 | ||
GridftpClient: waiting for completion of transfer | 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: starting a transfer to hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0 | ||
GridftpClient: DiskDataSink.close() called | GridftpClient: DiskDataSink.close() called | ||
GridftpClient: gridFTPWrite() wrote 104857600bytes | GridftpClient: gridFTPWrite() wrote 104857600bytes | ||
GridftpClient: closing client : org.globus.ftp.GridFTPClient@3b5b123b | GridftpClient: closing client : org.globus.ftp.GridFTPClient@3b5b123b | ||
GridftpClient: closed client | 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 | 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 | SRMClientV2 : srmPutDone , contacting service httpg://tbn18.nikhef.nl:8446/srm/managerv2 | ||
srmPutDone status code=SRM_SUCCESS | srmPutDone status code=SRM_SUCCESS | ||
copy_jobs is empty | copy_jobs is empty | ||
stopping copier | stopping copier | ||
</pre> | </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. | 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. | ||
But we can use lcg-gt as well: | |||
<pre> | |||
-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 gsiftp | |||
-bash-3.2$ gsiftp://bee33.grid.sara.nl:2811/pnfs/grid.sara.nl/data/lsgrid/test | |||
</pre> | |||
7) Listing file via GO Web and deleting the file via GO Web. | 7) Listing file via GO Web and deleting the file via GO Web. | ||
<pre> | <pre> | ||
-bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/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 | 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 | -bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/100M.rand | ||
Picked up _JAVA_OPTIONS: -Xmx512M | Picked up _JAVA_OPTIONS: -Xmx512M | ||
Tue Oct 30 09:32:12 CET 2012: Return status: | Tue Oct 30 09:32:12 CET 2012: Return status: | ||
- Status code: SRM_FAILURE | |||
SRM_INVALID_PATH File/directory 0 /dpm/nikhef.nl/home/dteam/100M.rand does not exist. | |||
- Explanation: null | |||
SRM_INVALID_PATH File/directory 0 /dpm/nikhef.nl/home/dteam/100M.rand does not exist. | |||
</pre> | </pre> | ||
Line 306: | Line 599: | ||
<pre> | <pre> | ||
-bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/1G.rand | -bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/1G.rand | ||
Picked up _JAVA_OPTIONS: -Xmx512M | 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 | -bash-3.2$ srmrm -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/1G.rand | ||
Picked up _JAVA_OPTIONS: -Xmx512M | Picked up _JAVA_OPTIONS: -Xmx512M | ||
-bash-3.2$ | -bash-3.2$ | ||
</pre> | </pre> | ||
Line 318: | Line 617: | ||
Before upload: | Before upload: | ||
<pre> | <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 | -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 | dn: GlueSALocalID=test:replica:online,GlueSEUniqueID=tbn18.nikhef.nl,Mds-Vo-na | ||
me=resource,o=grid | |||
GlueSATotalOnlineSize: 32 | GlueSATotalOnlineSize: 32 | ||
GlueSAUsedOnlineSize: 4 | GlueSAUsedOnlineSize: 4 | ||
</pre> | </pre> | ||
Listing file with SRM client: | Listing file with SRM client: | ||
<pre> | <pre> | ||
-bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/karolisPicked up _JAVA_OPTIONS: -Xmx512M | -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> | </pre> | ||
After upload: | After upload: | ||
<pre> | <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 | -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 | dn: GlueSALocalID=test:replica:online,GlueSEUniqueID=tbn18.nikhef.nl,Mds-Vo-na | ||
me=resource,o=grid | |||
GlueSATotalOnlineSize: 32 | GlueSATotalOnlineSize: 32 | ||
GlueSAUsedOnlineSize: 9 | GlueSAUsedOnlineSize: 9 | ||
</pre> | </pre> | ||
Line 345: | Line 663: | ||
<pre> | <pre> | ||
-bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam/karolis | -bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam/karolis | ||
Picked up _JAVA_OPTIONS: -Xmx512M | Picked up _JAVA_OPTIONS: -Xmx512M | ||
512 /pnfs/grid.sara.nl/data/dteam/karolis/ | |||
5242880000 /pnfs/grid.sara.nl/data/dteam/karolis/5G.rand | |||
</pre> | </pre> | ||
Line 355: | Line 677: | ||
<pre> | <pre> | ||
=== Task Deta-bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam/karolis | === 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 | Picked up _JAVA_OPTIONS: -Xmx512M | ||
512 /pnfs/grid.sara.nl/data/dteam/karolis/ | |||
5242880000 /pnfs/grid.sara.nl/data/dteam/karolis/5G.rand | |||
ils === | ils === | ||
Task ID : 429d16a4-2278-11e2-bf56-1231380b8963 | Task ID : 429d16a4-2278-11e2-bf56-1231380b8963 | ||
Task Type : TRANSFER | Task Type : TRANSFER | ||
Parent Task ID : n/a | Parent Task ID : n/a | ||
Status : SUCCEEDED | Status : SUCCEEDED | ||
Request Time : 2012-10-30 09:57:48Z | Request Time : 2012-10-30 09:57:48Z | ||
Deadline : 2012-10-31 09:57:48Z | Deadline : 2012-10-31 09:57:48Z | ||
Completion Time : 2012-10-30 09:58:56Z | Completion Time : 2012-10-30 09:58:56Z | ||
Total Tasks : 1 | Total Tasks : 1 | ||
Tasks Successful : 1 | Tasks Successful : 1 | ||
Tasks Expired : 0 | Tasks Expired : 0 | ||
Tasks Canceled : 0 | Tasks Canceled : 0 | ||
Tasks Failed : 0 | Tasks Failed : 0 | ||
Tasks Pending : 0 | Tasks Pending : 0 | ||
Tasks Retrying : 0 | Tasks Retrying : 0 | ||
Command : API 0.10 eu | Command : API 0.10 eu | ||
Label : from NIKHEF DPM to SARA dCache | Label : from NIKHEF DPM to SARA dCache | ||
Sync Level : n/a | Sync Level : n/a | ||
Data Encryption : No | Data Encryption : No | ||
Checksum Verification: No | Checksum Verification: No | ||
Delete : No | Delete : No | ||
Files : 1 | Files : 1 | ||
Files Skipped : 0 | Files Skipped : 0 | ||
Directories : 0 | Directories : 0 | ||
Bytes Transferred : 5242880000 | Bytes Transferred : 5242880000 | ||
Bytes Checksummed : 0 | Bytes Checksummed : 0 | ||
MBits/sec : 626.016 | MBits/sec : 626.016 | ||
Faults : 0 | Faults : 0 | ||
</pre> | </pre> |
Latest revision as of 16:55, 19 April 2013
Tests have been carried out while creating this Cookbook.
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 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
SRM storage directory
-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
VOInfoPath is /dteam for SRM interface:
-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
but if we connnect using GridFTP, /dteam directory even does not exist:
-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.
because , it is a "symlink" in SRM WS to real directory which is /storage/dteam, but only SRM interface may access it:
-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.
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:
"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"
It fails on Nikhef DPM node, but works fine on SARA dCache node.
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:
Retrieve all SEs from BDII
-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
Count how much hosts we have
bash-3.2$ wc -l EGI_ALL_SE_HOSTS 489 EGI_ALL_SE_HOSTS
OR
-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
Probe for GridFTP 2811 port EGI_ALL_SE_HOSTS
-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
Count how many of them responded with GridFTP open
-bash-3.2$ grep FTP EGI_ALL_SE_GRIDFTP_VERSIONS|wc -l 299
What are the GridFTP Server versions
-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
Lets see how many types of storage exists in EGI
-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
How many of DPM, dCache, Storm ?
-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
Retrieve only SRM hosts from BDII
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
Count how much SRM endpoints we have
-bash-3.2$ wc -l EGI_ALL_SRM_ENDPOINTS 423 EGI_ALL_SRM_ENDPOINTS
OR
-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
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
b) copy file using GO Web and listing file using SRM
c) checking if correct Disk Used Sizes are reported by BDII (transfering at least 1GB)
d) deleting file using SRM (file was put by using GO Web)
e) deleting file using GO Web (file was put by using SRM)
f) Transfer file from NIKHEF DPM to SARA dCache.
1) Picked up few SEs:
DPM 1.8.2 - tbn18.nikhef.nl
dCache 2.2.4 - srm.grid.sara.nl
STORM 1.8.2 - bostorm.bo.infn.it
2) Finding SRM endpoints for these SEs:
-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
3) Finding SRM VO home path for these SRM endpoints:
-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
4) Listing files in SRM endpoints:
-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 >
5) Listing used and total space on SEs (in GB units):
-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
6) Uploading file from UI via SRM client to SE endpoint:
-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
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.
But we can use lcg-gt as well:
-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 gsiftp -bash-3.2$ gsiftp://bee33.grid.sara.nl:2811/pnfs/grid.sara.nl/data/lsgrid/test
7) Listing file via GO Web and deleting the file via GO Web.
-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.
8) Uploading file from GO Web to SE endpoint, listing with SRM client and deleting with SRM:
-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$
9) Uploading 5GB size file from laptop to SE using GO Web and checking if BDII is reporting space correctly.
Before upload:
-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
Listing file with SRM client:
-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
After upload:
-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
10) Making transfer from Nikhef DPM to SARA dCache using GO Web and listing file using SRM on dCache:
-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
And notification by email was received:
=== 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