Szybki start

Poniższy przewodnik ma na celu przedstawienie podstawowych kroków potrzebnych do rozpoczęcia pracy z usługą.

Zakładamy, że grupa PLGrid, w której znajduje się użytkownik posiada aktywny grant z alokacją zasobów w usłudze “ACK Cyfronet Object Storage” oraz aktywną usługę “Dostęp do usługi Cyfronet Object Storage”.

Wniosek o grant można złożyć na stronie https://portal.plgrid.pl/grants

Prośbę o aktywację usługi dostępowej można złożyć na stronie https://portal.plgrid.pl/services/105

Do korzystania z usługi wymagana jest również aktywna afiliacja. Listę afiliacji użytkownika można sprawdzić na stronie https://portal.plgrid.pl/users/affiliations

Otrzymanie danych dostępowych

Do uwierzytelnienia w usłudzie wykorzystywana jest para kluczy access_key oraz secret_key. Przykład:

access_key: "plgs3p-plggbazaar-plguser1"
secret_key: "BCJuoRCv65CZxyIpseErB44RdXXDCH9Mg0fLn6SQ"

Aby je wygenerować, należy zalogować się danymi PLGrid w dostępnym pod adresem https://storage-panel.cloud.cyfronet.pl panelu zarządzania usługą (więcej informacji).

Po przejściu do zakładki “Credentials” należy wybrać grupę PLGrid oraz region przechowywania danych i nacisnąć przycisk “Generate credential”.

U góry strony pojawi sie komunikat zawierający wartości endpoint, access_key oraz secret_key wymagane do konfiguracji narzędzi. Wartość secret_key należy traktować jako wartość tajną i nie udostępniać innym osobom.

Wartość endpoint zależy od używanego regionu.

Warto wiedzieć, że:

  • każdy z członków grupy ma dostęp do wszystkich jej danych
  • każdej kombinacji grupa-region-użytkownik odpowiada osobna para kluczy dostępowych (access_key, secret_key)
  • wygenerowanie nowych kluczy dostępowych dla danej kombinacji grupa-region-użytkownik powoduje unieważnienie poprzednich

Więcej informacji o kluczach dostępowych znajduje się na tej stronie.

Przetestowanie działania kluczy dostępowych

Po wygenerowaniu w poprzednim kroku danych dostępowych wymaganych do konfiguracji narzędzi korzystających z usługi można je przetestować korzystając z interfejsu przeglądarkowego dostępnego pod adresem https://storagegw.cloud.cyfronet.pl (więcej informacji).

Na powyższej stronie należy wybrać odpowiedni region oraz uzupełnic pola danymi dostępowymi.

Jeżeli wprowadzone dane są prawidłowe, wyświetlona zostanie lista bucketów danej grupy w danym regionie. Z poziomu interfejsu można tworzyć nowe buckety, przeglądać listę obiektów znajdujących się w bucketach oraz wykonywać operacje na pojedynczych obiektach (pobranie, usunięcie, wrzucenie nowego).

Warto wiedzieć, że:

  • nazwy bucketów powinny składać się wyłącznie z małych liter od a-z, cyfr 0-9 oraz znaku -
  • nazwy bucketów muszą być globalnie unikalne
    • przy ich tworzeniu zalecamy używanie unikalnego prefiksu dla danej grupy, np.: supergrp-test zamiast test
    • nazwa błędu występującego przy próbie utworzenia bucketu, którego nazwa jest juz zajęta: BucketAlreadyExists

Konfiguracja narzędzia MinIO Client

Zalecanym narzędziem do wykonywania podstawowych operacji polegających na kopiowaniu plików do/z usługi oraz listowaniu i usuwaniu obiektów jest MinIO Client.

Uwaga: z przedstawionym narzędziem może wystąpić problem przy wrzucaniu danych, kiedy rozmiar pojedynczego pliku przekracza 80GB.

Podczas pracy na klastrze obliczeniowym narzędzie dostępne jest po załadowaniu modułu minio-client.

W systemach Linux najszybszym sposobem instalacji jest pobranie pliku wykonywalnego i umieszczenie go w jednym z katalogów zawartych w zmiennej środowiskowej PATH, np.:

$ curl --create-dirs -o ~/.local/bin/mc https://dl.min.io/client/mc/release/linux-amd64/mc
$ chmod +x ~/.local/bin/mc

Sekcja opisująca proces instalacji w oficjalnej dokumentacji (zawiera instrukcje dla systemów macOS oraz Windows): https://min.io/docs/minio/linux/reference/minio-mc.html#install-mc

Uwaga: polecenie mc może kolidować z narzędziem Midnight Commander.

Następnie należy użyć polecenia mc alias set <nazwa-aliasu> https://<endpoint> do utworzenia aliasu reprezentującego pulę danych danej grupy w danym regionie.

Przykład:

$ mc alias set cyf-s3p https://s3p.cloud.cyfronet.pl
Enter Access Key: plgs3p-plggrp1-plguser1
Enter Secret Key: BCJuoRCv65CZxyIpseErB44RdXXDCH9Mg0fLn6SQ
Added `cyf-s3p` successfully.

MinIO Client - podstawowe operacje

Utworzenie nowego bucketu:

$ mc mb <nazwa-aliasu>/<nazwa-bucketu>

$ mc mb cyf-s3p/bucketA
Bucket created successfully `cyf-s3p/bucket-a`.

Wylistowanie bucketów:

$ mc ls <nazwa-aliasu>

$ mc ls cyf-s3p
[2022-09-27 14:40:33 CEST]     0B bucket-a/
[2022-10-06 12:34:28 CEST]     0B projxyz-data-2022/

Wylistowanie obiektów znajdujących się w buckecie:

$ mc ls <nazwa-aliasu>/<nazwa-bucketu>/<prefiks-nazw-obiektów>

$ mc ls cyf-s3p/projxyz-data-2022
[2022-10-05 08:50:54 CEST] 536MiB STANDARD AlmaLinux-8-GenericCloud-8.5-20211119.x86_64.qcow2
[2022-09-27 14:40:54 CEST]  94MiB STANDARD traefik
[2022-10-06 15:37:35 CEST]     0B information/
[2022-10-06 15:37:35 CEST]     0B keygenme-py/
[2022-10-06 15:37:35 CEST]     0B pythonwrangling/
[2022-10-06 15:37:35 CEST]     0B waveaflag/

$ mc ls cyf-s3p/projxyz-data-2022/information
[2022-10-06 15:37:15 CEST] 858KiB STANDARD cat.jpg

Skopiowanie lokalnego pliku plik1 do bucketu bucket-a:

$ mc cp plik1 cyf-s3p/bucket-a/

Skopiowanie katalogu dane do bucketu projxyz-data-2022:

$ mc cp --recursive dane cyf-s3p/projxyz-data-2022

Skopiowanie obiektów z prefiksem dane-w z bucketu projxyz-data-2022 do katalogu dane:

$ mc cp --recursive cyf-s3p/projxyz-data-2022/dane-w/ dane/

Usuwanie pojedynczego obiektu:

$ mc rm cyf-s3p/projxyz-data-2022/dane-w/plik1

Dalsze informacje