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
, cyfr0-9
oraz znaku-
- nazwy bucketów muszą być globalnie unikalne
- przy ich tworzeniu zalecamy używanie unikalnego prefiksu dla danej grupy, np.:
supergrp-test
zamiasttest
- nazwa błędu występującego przy próbie utworzenia bucketu, którego nazwa jest juz zajęta:
BucketAlreadyExists
- przy ich tworzeniu zalecamy używanie unikalnego prefiksu dla danej grupy, np.:
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