Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Usługa Powszechnej Archiwizacji – PLATON (nazywana dalej w skrócie usługą PLATON lub usługą powszechnej archiwizacji), jest adresowana do polskiego środowiska naukowego i służy do składowania kopi zapasowych i archiwalnych dużych wolumenów danych. W przypadku użytkowników portalu PL-Grid, wgrane dane są utrzymywane w dwóch kopiach, w rozproszonych geograficznie ośrodkach KDM. Użytkownik korzysta z usługi przez protokół sftp lub GridFTP. Dostęp do usługi możliwy jest z poziomu jednego z węzłów dostępowych PL-Grid (tj. z UI). W PLATON-ie serwery pozwalające na dostęp do usługi nazywane są punktami dostępowymi. Punkty dostępowe PLATON są rozmieszczone w tych samych ośrodkach co węzły dostępowe PL-Grid. Każdy punkt dostępowy PLATON eksponuje dokładnie tą samą przestrzeń danych. Pomijając kwestie wydajnościowe, bez znaczenia jest, za pośrednictwem którego z punktów dostępowych PLATON, użytkownik korzysta z usługi. Punkty dostępowe PLATON składują dane użytkowników w punktach składowania. Lokalizacja punktów składowania danych również pokrywa się z lokalizacją węzłów dostępowych PL-Grid. Docelowe punkty składowania danych są wybierane przez inteligentne algorytmy realizowane przez punkty dostępowe PLATON. Przy wyborze punktu składowania danych uwzględnia się takie parametry jak lokalizacja użytego punktu dostępowego PLATON oraz chwilowa dostępność punktów składowania w potencjalnych docelowych lokalizacjach. Dane użytkowników portalu PL-Grid są replikowane w trybie asynchronicznym, tj. gdy użytkownik wgrywa plik, najpierw trafia on do możliwie najbliższego punktu składowania danych, a następnie, gdy wgrywanie się zakończy, to w tzw. tle tworzona jest jego kopia w punkcie składowania położonym w innej lokalizacji. Głównym celem rozproszenia geograficznego danych jest zwiększenie bezpieczeństwa i dostępności danych. Przy świadomym wykorzystaniu tego mechanizmu, może on podnosić również wydajność.

Istotną cechą systemu jest fizyczny sposób składowania danych. Z uwagi na koszt jednostkowy przechowywania dużych wolumenów danych, w tym konkretnym wdrożeniu usługi PLATON, dane użytkowników, ostatecznie trafiają na bibliotekę taśmową. Oznacza to, że późniejsza próba dostępu do danych może się wiązać nawet z kilku minutowym opóźnieniem związanym z pracą tzw. robota ładującego taśmy oraz z oczekiwaniem na dostęp do wolnego (tj. nie zajętego przez inne taśmy) czytnika taśm. Jest to właściwość, która dość jasno determinuje przeznaczenie i scenariusze wykorzystania usługi (tworzenie archiwów i kopii zapasowych, składowanie dużych plików, rzadki odczyt danych).

...

Usługa jest dostępna poza systemem przydziału grantów, dlatego jest dostępna dla każdego użytkownika portalu i nie wymaga specyfikacji w grantach.Z uwagi na uwarunkowania techniczne, aktywowanie usługi jest możliwe dopiero po zarejestrowaniu w portalu PL-Grid certyfikatu SimpleCA lub

...

Aby aktywować usługę, postępuj zgodnie z instrukcjami zawartymi w Katalogu Aplikacji i Usług po uprzednim wyszukaniu usługi. Wygeneruj też certyfikat Simple CA lub zarejestruj certyfikat Polish Grid CA (patrz:

...

Certyfikaty).

Gdy usługa zostanie aktywowana, to dostęp do niej będzie możliwy z poziomu węzłów dostępowych PL-Grid wymienionych PLGrid wymienionych poniżej w sekcji "Punkty dostępowe PLATON".

...

Teoretycznie, protokoły dostępowe sftp i gridftp pozwalają na wykonanie na zdalnych plikach operacji zmiany grupy będącej właścicielem danego pliku (operacja chmod). Standardowo, w systemie Linux, jeśli użytkownik jest właścicielem pliku, to może zmieniać atrybut pliku określający grupę będącą właścicielem danego pliku. Jest to jednak możliwe tylko w zakresie grup do których użytkownik sam należy. Infrastruktura PL-Grid zapewnia, że użytkownicy portalu PL-Grid mają automatycznie zakładane konta na węzłach dostępowych. Na każdy węzeł można się zalogować przy pomocy tej samej nazwy użytkownika i hasła, których używa się w portalu. Trzeba mieć na uwadze, że w środowisku PL-Grid na każdym z węzłów dostępowych UID przydzielony użytkownikowi jest inny, brak jest możliwości wykonania operacji chmodPL-Grid na każdym z węzłów dostępowych UID przydzielony użytkownikowi jest inny, brak jest możliwości wykonania operacji chmod

Z punktami dostępowymi usługi PLATON (tzw. AN) zawsze łączymy się z poziomu jednego z węzłów dostępowych PL-Grid (tzw. UI). Jeśli połączenia będą nawiązywane z najbliższym punktem dostępowym, to poprawi to wydajność dostępu do danych. Tabela zestawiająca lokalizacje punktów AN i węzłów UI znajduje się w dalszej części dokumentu.

Pierwsze kroki

Programy klienckie

...

Schemat integracji usługi z PL-Grid

Na wstępie , zaznaczę należy zaznaczyć różnice między pomiędzy terminami: węzeł dostępowy, punkt dostępowy, punkt składowania danych i lokalizacja.

Przez węzeł dostępowy lub serwer dosępowy dostępowy rozumiemy jeden z serwerów infrastruktury PL-Grid, wymieniony w punkcie "Punkty dostępowe PLATON" w tabeli zestawiającej węzły PL-Grid z najbliższym punktami dostępowymi PLATON.

Punkt dostępowy, to z kolei jeden z serwerów infrastruktury Usługi Powszechnej Archiwizacji - PLATON.

...

  1. Logujemy się na jeden z serwerów dostępowych PL-Grid.
     

  2. Używając jednego z punktów dostępowych PLATON (patrz tabela Punkty dostępowe PLATON) oraz klucza dostarczanego przez keyfs i dostępnego pod ścieżką /mnt/keyfs/users/<username>/.globus/userkey.pem, nawiązujemy połączenie z usługą:

    Code Block
    sftp -o IdentityFile=/mnt/keyfs/users/<username>/.globus/userkey.pem <platon_access_node>


    gdzie,

    -o IdentityFile to parametr wskazujący klucz prywatny użytkownika,

    <username> to nazwa użytkownika PL-Grid,

    <platon_access_node> to nazwa punktu dostępowego PLATON, np. an6-plg.storage.pionier.net.pl

    UWAGA: Klucz prywatny użytkownika jest chroniony hasłem ustawionym z poziomu portalu PL-Grid. Program sftp, podczas uwierzytelniania w usłudze, poprosi nas o podanie tego hasła.

  3. Po poprawnym uwierzytelnieniu, program sftp dostarcza standardowego interfejsu w postaci tekstowej konsoli sftp. Domyślnie, bezpośrednio po uzyskaniu dostępu, zdalnym katalogiem roboczym jest katalog domowy użytkownika. Do wyświetlenia listy dostępnych komend służy polecenie help.

     

    Code Block
    sftp> help
    Available commands:
    bye Quit sftp
    cd path Change remote directory to 'path'
    chgrp grp path Change group of file 'path' to 'grp'
    chmod mode path Change permissions of file 'path' to 'mode'
    chown own path Change owner of file 'path' to 'own'
    df [-hi] [path] Display statistics for current directory or
    filesystem containing 'path'
    exit Quit sftp
    get [-P] remote-path [local-path] Download file
    help Display this help text
    lcd path Change local directory to 'path'
    lls [ls-options [path]] Display local directory listing
    lmkdir path Create local directory
    ln oldpath newpath Symlink remote file
    lpwd Print local working directory
    ls [-1aflnrSt] [path] Display remote directory listing
    lumask umask Set local umask to 'umask'
    mkdir path Create remote directory
    progress Toggle display of progress meter
    put [-P] local-path [remote-path] Upload file
    pwd Display remote working directory
    quit Quit sftp
    rename oldpath newpath Rename remote file
    rm path Delete remote file
    rmdir path Remove remote directory
    symlink oldpath newpath Symlink remote file
    version Show SFTP version
    !command Execute 'command' in local shell
    ! Escape to local shell
    ? Synonym for help
    
  4. Przykład wgrania do usługi PLATON pliku /etc/profile:

    Code Block
    sftp> put /etc/profile
    Uploading /etc/profile to /home/kmd/plgrid-portal/users/plggracjan/profile
    /etc/profile 100% 1796 1.8KB/s 00:00
    
  5. Przykład wyświetlenia listy plików wgranych do usługi:

    Code Block
    sftp> ls
    profile 
  6. Przykład pobrania z usługi pliku profile. Plik zostanie zapisany na UI w bieżącym katalogu roboczym:

    Code Block
    sftp> get profile
    Fetching /home/kmd/plgrid-portal/users/plggracjan/profile to profile
    /home/kmd/plgrid-portal/users/plggracjan/prof 100% 1796 1.8KB/s 00:00
  7. Przykład usunięcie pliku profile z usługi:
     

    Code Block
    sftp> rm profile
    Removing /home/kmd/plgrid-portal/users/plggracjan/profile
  8. Zakończenie pracy z sfpt:

    Code Block
    sftp> exit

Dostęp do usługi przez program sshfs

Program sshfs pozwala na podmontowanie montowanie w lokalnym katalogu zasobu dostępnego poprzez protokół sftp. Przykładowa procedura użycia tego programu wygląda następująco:

  1. Logujemy się na jeden z serwerów dostępowych PL-Grid.

  2. W katalogu domowym (na serwerze dostępowym PL-Grid) zakładamy katalog pomocniczy, do którego następnie podmontujemy montujemy przestrzeń udostępnianą przez usługę PLATON.

    Code Block
    mkdir platon-backup
  3. Używając jednego z punktów dostępowych usługi PLATON (patrz tabela Punkty dostępowe PLATON) oraz klucza dostarczonego przez keyfs i dostępnego pod ścieżką /mnt/keyfs/users/<username>/.globus/userkey.pem, montujemy przestrzeń wystawianą przez usługę w lokalnym katalogu (w tym przypadku w katalogu platon-backup):

    Code Block
    sshfs -o idmap=user,gid=$(id -g) -o IdentityFile=/mnt/keyfs/users/<username>/.globus/userkey.pem <platon_access_node>:. platon-backup


    gdzie,

    -o idmap=user to parametr włączający mapowanie UID-ów właściciela plików po stronie serwera ssh na UID-y lokalnego użytkownika, jest to parametr pomagający trochę ukryć niedogodności wynikające z faktu że w PL-Grid ten sam użytkownik ma różne UID-y na róźnych węzłach dostępowych

    -o IdentityFile to parametr wskazujący ścieżkę do klucza prywatnego użytkownika,

    <username> to nazwa użytkownika PL-Grid,

    <platon_access_node> to nazwa punktu dostępowego usługi PLATON

    UWAGA: Klucz prywatny użytkownika jest chroniony hasłem ustawionym z poziomu portalu PL-Grid. Program sftp, podczas uwierzytelniania w usłudze, poprosi nas o podanie tego hasła.

  4. Po poprawnym zakończeniu powyższego polecenia, przestrzeń udostępniana przez usługę PLATON powinna być dostępna na serwerze dostępowym PL-Grid w katalogu domowym użytkownika w podkatalogu platon-backup.

  5. Wgrywanie, pobieranie i usuwanie plików z usługi PLATON, sprowadza się do standardowych operacji na systemie plików.

  6. Ewentualnego odmontowania przestrzeni dokonujemy poleceniem:

    Code Block
    fusermount -u platon-backup


    gdzie,

    platon-backup to ścieżka do katalogu w którym podmontowaliśmy wcześniej przestrzeń wystawioną przez usługę PLATON, w tym przypadku jest to ścieżka względna, bezpośrednio wskazująca na  katalog w bieżącym katalogu roboczym

...