From T3_KR_KNU
(→파일이 삭제되는 버그가 있습니다. 사용에 주의하세요) |
|||
Line 2: | Line 2: | ||
* https://ggus.eu/?mode=ticket_info&ticket_id=129103 | * https://ggus.eu/?mode=ticket_info&ticket_id=129103 | ||
− | * 대상 파일이 이미 존재하여 파일 전송이 실패하는 경우 | + | * 대상 파일이 이미 존재하여 파일 전송이 실패하는 경우 대상파일이 삭제되는 버그가 있습니다. |
* UI에서 uberftp는 버그가 해결된 버전이 나올때 까지 삭제됩니다. | * UI에서 uberftp는 버그가 해결된 버전이 나올때 까지 삭제됩니다. | ||
Latest revision as of 08:02, 17 May 2021
Contents
파일이 삭제되는 버그가 있습니다. 사용에 주의하세요
- https://ggus.eu/?mode=ticket_info&ticket_id=129103
- 대상 파일이 이미 존재하여 파일 전송이 실패하는 경우 대상파일이 삭제되는 버그가 있습니다.
- UI에서 uberftp는 버그가 해결된 버전이 나올때 까지 삭제됩니다.
uberftp 사용법
uberftp는 Grid 환경에서 Storege Element를 일반 ftp client 처럼 쉽게 사용할수 있는 툴입니다.
그리드 인증기반의 프로그램이므로 사용하기전에 반드시 다음과 같이 인증절차를 진행해야 합니다.
$ voms-proxy-init --voms cms
uberftp는 interactive 모드, 혹은 command line 모드로 사용가능합니다.
- Interactive 모드
$ uberftp cluster142.knu.ac.kr
interactive 모드의 경우에는 과거에 혹시 ftp client를 사용하신 경험이 있다면 쉽게 이해하실수 있을 거라고 생각되는데 긴 srm url를 입력할 필요없이 서버명으로 접속가능하며 cd 명령어로 디렉토리를 오가면서 데이터 전송이나 업로드 작업을 진행할 수 있습니다.
사용자 홈디렉토리는 /pnfs/knu.ac.kr/data/cms/store/user/"CERN ID" 입니다. 경북대 ID가 아니라 CERN ID임을 유의해주십시요.
혹시 본인의 디렉토리가 생성되지 않았다면 lcg_knu@knu.ac.kr 로 연락주세요.
$ uberftp cluster142.knu.ac.kr 220 GSI FTP door ready 200 User :globus-mapping: logged in UberFTP (2.8)> cd /pnfs/knu.ac.kr/data/cms/store/user/testid UberFTP (2.8)> ls drwx------ 1 testid testid 512 11? 30 2012 CMSSW_1_6_12 -r-------- 1 testid testid 546 11? 30 2012 histograms_7.root -r-------- 1 testid testid 22018 11? 30 2012 output_3.root -r-------- 1 testid testid 21673 11? 30 2012 output_2.root -r-------- 1 testid testid 546 11? 30 2012 histograms_6.root -r-------- 1 testid testid 22018 11? 30 2012 output_6.root -r-------- 1 testid testid 22018 11? 30 2012 output_9.root
- Command line 모드
$ uberftp cluster142.knu.ac.kr "ls /pnfs/knu.ac.kr/data/cms/store/user/(userid)"
command line 모드에서는 다음과 같이 한줄의 명령어로 즉각적인 결과를 확인할 수 있습니다.
$ uberftp cluster142.knu.ac.kr "ls /pnfs/knu.ac.kr/data/cms/store/user/testid" 220 GSI FTP door ready 200 User :globus-mapping: logged in drwx------ 1 testid testid 512 11? 30 2012 CMSSW_1_6_12 -r-------- 1 testid testid 546 11? 30 2012 histograms_7.root -r-------- 1 testid testid 22018 11? 30 2012 output_3.root -r-------- 1 testid testid 21673 11? 30 2012 output_2.root -r-------- 1 testid testid 546 11? 30 2012 histograms_6.root -r-------- 1 testid testid 22018 11? 30 2012 output_6.root -r-------- 1 testid testid 22018 11? 30 2012 output_9.root -r-------- 1 testid testid 546 11? 30 2012 histograms_3.root
uberftp 의 장점
- "?" 나 "*" 와 같은 와일드 카드가 사용 가능합니다.
UberFTP (2.8)> ls output_?.root -rw-r--r-- 77420 1399 22018 Dec 1 07:06 output_3.root -rw-r--r-- 77420 1399 21673 Dec 1 07:06 output_2.root -rw-r--r-- 77420 1399 22018 Dec 1 07:06 output_6.root
- 파일을 받고 올릴때 "-r" 옵션을 주면 디렉토리를 그대로 업로드 할 수 있습니다.
$ get -r directory
$ put -r directory
- 디렉토리 삭제도 가능합니다.
$ rm -r directory
- 1000개 파일 제한 문제가 없습니다.
lcg-ls나 gfal-ls 명령을 사용할 때 해당 디렉토리에 1000개 이상의 파일이 존재한다면, 한번에 1000개 이상의 파일을 리스트 할수 없는 제한이 있는데 uberftp에는 그런 제한이 없습니다.
uberftp 의 단점
- 병렬 전송을 지원하지 않습니다. 때문에 원거리 데이터 전송에서는 병렬 전송을 지원하는 프로그램과 비교하여 상대적으로 전송속도가 느릴수 있습니다.
uberftp 사용시 주의 사항
- "-r" 옵션으로 데이터를 대량으로 삭제할때 해당 디렉토리를 반드시 확인해주세요. 한번 삭제한 데이터는 되돌릴 수 없습니다.
- 대량으로 파일들을 올리고 받을때는 디스크 여유공간과 업로드할 데이터의 크기를 사전에 반드시 확인해 주시기 바랍니다. 의도치 않게 디스크 여유 공간보다 많은 데이터를 전송할수 있습니다.
- Storage Element의 여유 공간을 확인하는 방법을 모르신다면 클릭
help 명령 사용하기
자세한 사용법은 help 명령을 통해서 확인할수 있습니다.
UberFTP (2.8)> help Usage "help [topic]" where topic is one of: ! ? active ascii binary blksize bugs bye cat cd cdup chgrp chmod cksum cos close dcau debug dir family get glob hash help keepalive lcat lcd lcdup lchgrp lchmod lclose ldir link llink lls llscos llsfam lmkdir lopen lpwd lquote lrename lrm lrmdir ls lscos lsfam lsize lstage lsymlink mget mkdir mode mput open order parallel passive pbsz pget pput prot put pwd quit quote rename resume retry rm rmdir runique size stage sunique symlink tcpbuf versions wait
파일을 업로드하는 put 명령어 대한 자세한 도움말을 확인해봅시다.
UberFTP (2.8)> help put Store file(s) to the remote service. If <source> implies multiple transfers, either through regular expressions or by using the recursive feature, then [destination] must be a directory. If [destination] is not specified, <source> is used.
Usage: put [-r] <source> [destination] -r Recursively transfer the given directory.