Opis ogólny

GridFTP jest usługą pozwalającą na bezpieczny i wydajny transfer danych. Bazuje na powszechnie stosowanym protokole FTP, dodając, m. in.:

  • bezpieczeństwo transferu (szyfrowanie) i autoryzacji użytkowników (np. klucze publiczne)
  • automatyczną kontrolę poprawności transferu i ponawianie nieudanych operacji
  • optymalizację transferu dużych plików (równoczesny transfer pliku podzielonego na mniejsze części)
  • transfer określonych fragmentów pliku
  • optymalizację parametrów połączenia sieciowego

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.

Opis korzystania

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ń:

  • typowych (zgodnych z RFC 3820), utworzonych poleceniem grid-proxy-init (w celu dostępu do centralnych serwerów GridFTP w ośrodkach) lub
  • rozszerzonych o atrybuty VOMS, utworzonych poleceniem voms-proxy-init -voms NAZWA_VO (które będą przydatne w przypadku korzystania z bardziej zaawansowanych serwerów GridFTP, np. dla usługi DPM).
Tworzenie certyfikatu proxy
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

Klient interaktywny

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ą)

Przykład

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)

Kopiowanie katalogu
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>

Klient wsadowy

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.

Przykład

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)

Przykład globus-url-copy
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 "/").

Zaawansowane użycie

GridFTP umożliwia wykonywanie tzw. "third party transfer", czyli zlecenia wykonania przesyłu plików między zdalnymi maszynami.

Przykład

Katalog do_wyslania skopiowany na UI w Cyfronecie ma zostać przesłany również na UI w ICM.

Third party transfer
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.

  • No labels