Przykład pracy na klastrze

Na klastrach dostępne są moduły minio-client oraz rclone.

Praca z narzędziem rclone

Konfiguracja rclone (domyślna lokalizacja: ~/.config/rclone/rclone.conf):

[s3p-plggtraining]
type = s3
provider = Ceph
access_key_id = plgs3p-plggtraining-plgkoziomek
secret_access_key = EzZb2YY9xbIEKKND3SxGoNCdjis3MwOzvUM7h7bu
endpoint = https://s3p.cloud.cyfronet.pl
chunk_size = 50Mi
max_upload_parts = 1000
disable_http2 = true

Skrypt (data_stage_in.sh):

#!/bin/bash -l
#SBATCH -J data_stage_in
#SBATCH -N 1
#SBATCH --ntasks-per-node=8
#SBATCH --mem-per-cpu=2GB
#SBATCH --time=01:00:00 
#SBATCH -A plgtraining2022-cpu
#SBATCH -p plgrid-testing
#SBATCH --output="output.out"
#SBATCH --error="error.err"

# załadowanie modułu rclone
module add rclone

# pobranie danych do katalogu roboczego
rclone copy s3p-plggtraining:<path> $SCRATCH/<path>

# pełna weryfikacja poprawności pobranych danych
rclone check s3p-plggtraining:<path> $SCRATCH/<path> --download

Zlecenie zadania:

sbatch data_stage_in.sh

Praca z narzędziem MinIO Client

Załadowanie modułu:

module add minio-client

Ze względu na konflikt polecenia mc z narzędziem Midnight Commander, należy usunąć alias mc poleceniem:

unalias mc

Konfguracja narzędzia oraz podstawowe operacje zostały opisane na stronie Szybki start.

Poleceniem analogicznym do rclone copy jest mc cp:

mc cp --recursive s3p-plggtraining/<path> $SCRATCH/<path>

Przykładowy skrypt:

#!/bin/bash -l
#SBATCH -J data_stage_in
#SBATCH -N 1
#SBATCH --ntasks-per-node=8
#SBATCH --mem-per-cpu=2GB
#SBATCH --time=01:00:00 
#SBATCH -A plgtraining2022-cpu
#SBATCH -p plgrid-testing
#SBATCH --output="output.out"
#SBATCH --error="error.err"

# załadowanie modułu minio-client
module add minio-client

# pobranie danych do katalogu roboczego
mc cp --recursive s3p-plggtraining/<path> $SCRATCH/<path>

# szybka weryfikacja kompletności pobranego zbioru danych
mc diff s3p-plggtraining/<path> $SCRATCH/<path>