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>