Zasoby zewnętrzne
W niektórych przypadkach istnieje konieczność dostępu do zasobów zewnętrznych, w szczególności do zewnętrznych zasobów przechowywania danych.
W systemie modułów dostępny jest program rclone pozwalający na dostęp do wielu popularnych serwisów przechowywania danych oraz obsługujący standardowe protokoły takie jak sftp czy SMB/CIFS.
Po załadowaniu modułu należy utworzyć konfigurację:
module load rclone
rclone config
Zapamiętywanie poświadczeń niesie ze sobą ryzyko. Należy zadbać o poprawne uprawnienia dla pliku przechowującego ustawienia ~/.config/rclone
.
Możliwe jest jego zaszyfrowanie poprzez wybranie odpowiedniej pozycji w menu konfiguracyjnym. Ta metoda nie jest kompatybilna ze wsadowym przetwarzaniem zadań w klastrze. ale działa prawidłowo w trybach interaktywnych.
Aby dodać zewnętrzny zasób należy z menu wybrać pozycję nn:
n) New remote
Następnie nazwę oraz typ, na przykład SFTP dla konta laboratoryjnego LABS WMI:
name> sftp-labs
Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
[...]
44 / SSH/SFTP
\ (sftp)
[...]
Storage> 44
Zostanie następnie zadana seria pytań konfiguracyjnych, poniżej przykładowe odpowiedzi dla konta studenckiego. Dla pozostałych pytań zostały użyte wartości domyślne poprzez wciśnięcie EnterEnter:
Option host.
SSH host to connect to.
E.g. "example.com".
Enter a value.
host> lts.wmi.amu.edu.pl
Option user.
SSH username.
Enter a string value. Press Enter for the default (s123456).
user> s123456
Option port.
SSH port number.
Enter a signed integer. Press Enter for the default (22).
port>
Option pass.
SSH password, leave blank to use ssh-agent.
Choose an alternative below. Press Enter for the default (n).
y) Yes, type in my own password
g) Generate random password
n) No, leave this optional password blank (default)
y/g/n> y
Enter the password:
password:
Confirm the password: password:
Po udzieleniu odpowiedzi na wszystkie pytania należy sprawdzić poprawność konfiguracji i ją zatwierdzić:
Configuration complete.
Options:
- type: sftp
- host: lts.wmi.amu.edu.pl
- user: s123456
- pass: *** ENCRYPTED ***
Keep this "sftp-labs" remote?
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote y/e/d>y
Po wyjściu z trybu konfiguracji poprzez wciśnięcie qq należy utworzyć katalog, do którego zamontowany zostanie utworzony remote:
mkdir ~/sftp-remote
Jeśli polecenie zamontowania udziału nie zwróci błędu, to dane będą dostępne w wybranym katalogu do czasu odmontowania:
rclone mount --daemon sftp-labs: ~/sftp-remote
Użycie montowania z parametrem --daemon
powoduje przeniesienie procesu do tła. Ma to swoje konsekwencje dla zadań trybu wsadowego, gdyż taki proces może pozostać aktywny po zakończeniu głównych obliczeń i powodować marnowanie przyznanego czasu obliczeń. Należy zadbać o odmontowanie używanych zasobów na końcu skryptu.
Po skończeniu pracy z udziałem należy go odmontować:
umount ~/sftp-remote
Najczęściej występującym w tym momencie błędem jest target is busy.
W takim wypadku istnieje program, który aktywnie używa danego katalogu. Należy upewnić się że wszystkie takie aplikacje zostały zakończone oraz że katalog bieżący powłoki nie jest punktem montowania ani jego podkatalogiem.