GridFTP jest usługą pozwalającą na bezpieczny i wydajny transfer danych. Bazuje na powszechnie stosowanym protokole FTP, dodając, m. in.:
W infrastrukturze PLGrid, GridFTP zasadniczo wykorzystywany jest jako usługa składowa większych systemów, w szczególności - usług dziedzinowych. Dostęp do usługi przyznawany jest automatycznie przy aktywacji gLite, UNICORE lub QosCosGrid.
Wstępnym przygotowaniem do skorzystania z usługi jest wygenerowanie certyfikatu proxy, który umożliwi uwierzytelnienie użytkownika. Można użyć następujących rodzajów poświadczeń:
grid-proxy-init
(w celu dostępu do centralnych serwerów GridFTP w ośrodkach) lubvoms-proxy-init -voms NAZWA_VO
(które będą przydatne w przypadku korzystania z bardziej zaawansowanych serwerów GridFTP, np. dla usługi DPM).WCSS [plgklajn@ui gridftp]$ voms-proxy-init -voms vo.plgrid.pl Enter GRID pass phrase for this identity: Contacting voms.cyf-kr.edu.pl:15004 [/C=PL/O=GRID/O=Cyfronet/CN=voms.cyf-kr.edu.pl] "vo.plgrid.pl"... Remote VOMS server contacted succesfully. Created proxy in /tmp/x509up_u49032. Your proxy is valid until Fri Jul 04 19:22:19 CEST 2014
Klientem usługi umożliwiającym interaktywną pracę jest program o nazwie uberftp
. Można go znaleźć na maszynach dostępowych (UI). Uruchamiany jest poleceniem uberftp z adresem maszyny docelowej jako parametrem. Podstawowe polecenia to:
ls
(wylistowanie bieżącego katalogu na systemie docelowym)lls
(wylistowanie bieżącego katalogu na systemie lokalnym)cd SCIEZKA
(zmiana bieżącego katalogu na lokalizację podaną w parametrze SCIEZKA na systemie docelowym)lcd SCIEZKA
(zmiana bieżącego katalogu na lokalizację podaną w parametrze SCIEZKA na systemie lokalnym)get SCIEZKA
(pobranie pliku ze zdalnego systemu do bieżącej lokalizacji, dodanie parametru -r
powoduje przesłanie katalogu wraz z zawartością)put SCIEZKA
(wysłanie pliku z lokalnego katalogu do zdalnego systemu, dodanie parametru -r
powoduje przesłanie katalogu wraz z zawartością)W katalogu domowym użytkownika plgklajn na UI w WCSS znajduje się katalog do_wyslania, który ma być przesłany na UI w Cyfronecie (do katalogu domowego tego samego użytkownika)
WCSS [plgklajn@ui ~]$ uberftp zeus.cyfronet.pl 220 zeus.cyfronet.pl GridFTP Server 6.19 (gcc64, 1359994843-83) [Globus Toolkit 5.2.3] ready. 230 User plgklajn logged in. UberFTP> lls do_wyslania razem 20 drwxr-xr-x 2 plgklajn plgrid 4096 07-04 07:35 . drwx------ 108 plgklajn plgrid 16384 07-04 07:34 .. -rw-r--r-- 1 plgklajn plgrid 4 07-04 07:35 plik1.txt -rw-r--r-- 1 plgklajn plgrid 4 07-04 07:35 plik2.txt UberFTP> put -r do_wyslania do_wyslania/plik1.txt: 4 bytes in 0.062448 Seconds (64.053 B/s) do_wyslania/plik2.txt: 4 bytes in 0.055663 Seconds (71.861 B/s) UberFTP> cd do_wyslania UberFTP> ls drwxr-xr-x 4 plgklajn plgrid 2048 Jul 4 07:35 . drwx------ 43 plgklajn plgrid 10240 Jul 4 07:35 .. -rw-r--r-- 1 plgklajn plgrid 4 Jul 4 07:35 plik1.txt -rw-r--r-- 1 plgklajn plgrid 4 Jul 4 07:35 plik2.txt UberFTP>
Innym poleceniem, które umożliwa wykonywanie transferów GridFTP jest globus-url-copy
. Jako parametry należy podać plik (lub katalog źródłowy) oraz lokalizację docelową. Możliwe jest podanie dodatkowych opcji, z których podstawowe to:
-r
(kopiowanie plików z podkatalogów),-cd
(tworzenie katalogu docelowego, o ile nie istnieje).Lokalne lokalizacje podaje się poprzedzając je przedrostkiem file://
, natomiast zdalne - przedrostkiem gsiftp://
.
Kopiowanie katalogów
Podczas kopiowania katalogów nazwę katalogu źródłowego należy zakończyć znakiem "/
" i umieścić ją w lokalizacji docelowej, również zakończoną tym znakiem.
W katalogu domowym użytkownika plgklajn na UI w WCSS znajduje się katalog do_wyslania, który ma być przesłany na UI w Cyfronecie (do katalogu domowego tego samego użytkownika)
WCSS [plgklajn@ui ~]$ globus-url-copy -cd -r file:///$HOME/do_wyslania/ gsiftp://zeus.cyfronet.pl/people/plgklajn/do_wyslania/ WCSS [plgklajn@ui ~]$
Jak widać na powyższym przykładzie - lokalizacja katalogu źródłowego zakończona jest znakiem "/
", natomiast do katalogu docelowego (zeus.cyfronet.pl/people/plgklajn
) dodana jest jeszcze nazwa katalogu źródłowego (zakończona znakiem "/
").
GridFTP umożliwia wykonywanie tzw. "third party transfer", czyli zlecenia wykonania przesyłu plików między zdalnymi maszynami.
Katalog do_wyslania skopiowany na UI w Cyfronecie ma zostać przesłany również na UI w ICM.
WCSS [plgklajn@ui ~]$ globus-url-copy -cd -r gsiftp://zeus.cyfronet.pl/people/plgklajn/do_wyslania/ gsiftp://ui.grid.icm.edu.pl/icm/hydra/home/grid/plgklajn/do_wyslania/ WCSS [plgklajn@ui ~]$
Więcej informacji można znaleźć na stronie projektu Globus Toolkit.