Prenos dát¶
Prenos súborov medzi lokálnym počítačom a vzdialeným
serverom je možné uskutočniť cez terminál (konzolu) pomocou príkazov
scp, rsync a sftp, pozri nižšie. Ďalšou
populárnou možnosťou na prenos súborov je použitie klientov pre
Windows MobaXterm
alebo WinSCP. Príklady použitia
týchto nástrojov nájdete nižšie.
Prenos dát medzi lokálnym a vzdialeným počítačom¶
Použitie terminálu (konzoly)¶
Tieto možnosti sú dostupné bez dodatočnej inštalácie softvéru na
systémoch macOS, Linux a Windows 11 (PowerShell). Príkazy scp,
rsync a sftp sa musia spustiť z lokálneho počítača. Viac
informácií o týchto príkazoch získate zadaním man scp,
man rsync alebo man sftp v termináli (konzole), prípadne
na webových stránkach pre scp,
rsync alebo
sftp.
Príkaz scp: základná syntax¶
scp (secure copy protocol) je sieťový protokol na bezpečné
kopírovanie súborov a adresárov. scp umožňuje prenášať
súbory alebo adresáre medzi lokálnym a vzdialeným hostiteľom
alebo medzi dvoma vzdialenými hostiteľmi. Ak chcete kopírovať
súbor do adresára, v ktorom sa práve nachádzate, použite bodku na
konci príkazu.
Všeobecná syntax príkazu scp:
scp [options] [user@local_host]:<source_path> [user@remote_host]:<destination_path>
Kopírovanie dátových súborov a adresárov z lokálneho počítača na vzdialený server.
scp -P 5522 <path-to-source-file-on-local-computer> <username>@login.<cluster>.sav.sk:<path-to-destination-file-on-cluster>
scp -r -P 5522 <path-to-source-folder-on-local-computer> <username>@login.<cluster>.sav.sk:<path-to-destination-folder-on-cluster>
Kopírovanie dátových súborov a adresárov zo vzdialeného servera do lokálneho počítača.
scp -P 5522 <username>@login.<cluster>.sav.sk:<path-to-source-file-on-cluster> <path-to-destination-file-on-local-computer>
scp -r -P 5522 <username>@login.<cluster>.sav.sk:<path-to-source-folder-on-cluster> <path-to-destination-folder-on-local-computer>
scp -r -P 5522 <username>@login.<cluster>.sav.sk:<path-to-source-folder-on-cluster> .
Príkaz rsync: základná syntax¶
rsync sa dá použiť na zrkadlenie dát, kopírovanie súborov
medzi systémami, zálohovanie a ako náhrada za scp, sftp
a cp. Jeho výhodou je, že znižuje množstvo prenášaných dát
tým, že prenáša len rozdiely medzi zdrojovými súbormi a súbormi
už prítomnými na cieľovom mieste, čo ho robí reštartovateľným.
Ak chcete prenášať väčšie množstvo súborov, odporúča sa použiť
príkaz rsync, pretože spojenie môže zlyhať na jednej alebo
druhej strane alebo môžu nastať iné nešpecifikované problémy.
rsync sa dá použiť spoločne s protokolom SSH pomocou možnosti-e.
Všeobecná syntax rsync je:
rsync [options] [user@local_host]:<source_path> [user@remote_host]:<destination_path>
Kopírovanie súboru z lokálneho počítača na vzdialený server.
Na zobrazenie priebehu prenosu dát z lokálneho počítača
na vzdialený server použite možnosť --progress alebo -P.
rsync -avhe "ssh -p 5522" <path-to-source-file-on-local-computer> <username>@login.<cluster>.sav.sk:<path-to-destination-file-on-cluster>
rsync -avhe "ssh -p 5522" --progress <path-to-source-file-on-local-computer> <username>@login.<cluster>.sav.sk:<path-to-destination-folder-on-cluster>
rsync -avhe "ssh -p 5522" -P <path-to-source-file-on-local-computer> <username>@login.<cluster>.sav.sk:<path-to-destination-folder-on-cluster>
Kopírovanie súboru zo vzdialeného servera do lokálneho počítača pomocou SSH.
rsync -avhe "ssh -p 5522" <username>@login.<cluster>.sav.sk:<path-to-source-file-on-cluster> <path-to-destination-file-on-local-computer>
Kopírovanie adresára zo vzdialeného servera do lokálneho počítača pomocou SSH.
rsync -avhe "ssh -p 5522" --progress <username>@login.<cluster>.sav.sk:<path-to-source-folder-on-cluster> <path-to-destination-folder-on-local-computer>
rsync -avhe "ssh -p 5522" -P <username>@login.<cluster>.sav.sk:<path-to-source-folder-on-cluster> <path-to-destination-folder-on-local-computer>
Nasledujúce možnosti sa bežne používajú s rsync:
-
-a- Archivačný režim; zachováva práva prístupu k súborom a nasleduje symbolické odkazy. Archivačný režim nezachováva pevné odkazy, pretože hľadanie viacnásobne prepojených súborov je náročné. Pre pevné odkazy je potrebné explicitne špecifikovať možnosť-H. -
-v- Zapne podrobný režim a zobrazí rozšírené informácie. -
-h- Vypíše čísla v ľudsky čitateľnom formáte. -
-Palebo--progress- Zobrazí priebeh počas prenosu. -
-e- Vyberie vzdialený shell, v tomto prípade SSH. Možnosť-esa musí umiestniť pred"ssh -p 5522"v reťazci možností; dá sa zapísať akorsync -avhe "ssh -p 5522"aleborsync -avh -e "ssh -p 5522". -
-z- Zapne kompresiu a komprimuje dáta súborov počas prenosu.
Príkaz sftp: základná syntax¶
sftp (secure file transfer protocol) je šifrovaný protokol
na prenos súborov cez sieťové spojenie. Vykonáva všetky operácie
cez šifrovanú SSH reláciu s využitím jej funkcií, ako je
autentifikácia pomocou verejného kľúča a kompresia dát.
sftpsa môže spustiť v interaktívnej relácii, ktorá sa prihlási na špecifikovaného hostiteľa, kde je možné zadávať príkazy na výzve.
Spustenie interaktívnej relácie na clustri alebo v konkrétnom adresári.
sftp -P 5522 <username>@login.<cluster>.sav.sk
sftp -P 5522 <username>@login.<cluster>.sav.sk:<path-to-starting-folder-on-cluster>
sftpsa dá tiež použiť na automatický prenos súborov bez interakcie používateľa, a to v batch režime (spúšťanie pomocou skriptu).
Kopírovanie súboru zo vzdialeného servera do lokálneho počítača pomocou sftp.
sftp -P 5522 <username>@login.<cluster>.sav.sk:<path-to-source-file-on-cluster> /<path-to-destination-file-on-local-computer>
sftp -b batchfile -P 5522 <username>@login.<cluster>.sav.sk:/home/<username> /<path-to-destination-folder-on-local-computer>
kde batchfile obsahuje:
cd <path-to-destination-folder-on-cluster>
put file*.txt
Po vykonaní všetkých príkazov (úspešne alebo neúspešne) sa
sftp odhlási a vráti sa do príkazového riadku.
Bežné možnosti pre sftp zahŕňajú:
-
-B buffer_size- Špecifikuje veľkosť buffera, ktorýsftppoužíva pri prenášaní súborov. Väčšie buffery vyžadujú menej prebiehajúcich prenosov, ale potrebujú viac pamäte. Predvolená hodnota je 32768 bajtov. -
-b batchfile- Zapne batch režim. -
-C- Zapne kompresiu. -
-i identity_file- Vyberie súbor, z ktorého sa číta identita (súkromný kľúč) na autentifikáciu pomocou verejného kľúča. Táto možnosť sa priamo odovzdáva príkazussh. -
-P port- Špecifikuje port na spojenie so vzdialeným hostiteľom. -
-q- Tichý režim: vypne indikátor priebehu a varovacie a diagnostické správy od ssh. -
-r- Rekurzívne kopíruje celé adresáre pri nahrávaní a sťahovaní. Pozor,sftpnenasleduje symbolické odkazy nájdené pri prechádzaní stromu. -
-v- Podrobný výstup. Táto možnosť sa tiež odovzdáva príkazussh.
Cesta k SSH kľúču
Ak sa váš SSH kľúč nachádza mimo predvoleného adresára
(~/.ssh), musíte použiť príznak -i na špecifikovanie
cesty ku kľúču: sftp -i <path-to-identity-key> ....
Lokálne pripojenie vzdialeného adresára pomocou SSHFS¶
Adresár z HPC infraštruktúry SAV je možné pripojiť ako súborový systém na lokálnom počítači pomocou SSHFS.
Na Linux klientoch nainštalujte fuse-sshfs (distribúcie
Red Hat) alebo sshfs (distribúcie Debian).
Lokálne pripojenie domovského adresára z clustra
sshfs -p 5522 -oIdentityFile=<path-to-identity-key> <username>@login.<cluster>.sav.sk:/<path-to-destination-folder-on-cluster> /<path-to-destination-folder-on-local-computer>
Po spustení tohto príkazu by adresár
/<path-to-destination-folder-on-local-computer> mal
zobrazovať obsah adresára
<path-to-destination-folder-on-cluster> na HPC. Nie je
potrebné pripájať celý domovský adresár; najlepšie je pripojiť
iba adresár, ku ktorému potrebujete prístup.
Odmountovanie súborového systému
Keď skončíte prácu so svojimi súbormi, odmontujte adresár; inak môžu pri vypínaní počítača vzniknúť problémy s pripojeným súborovým systémom. Na odmountovanie súborového systému vykonajte nasledujúci príkaz:
fusermount -u /<path-to-destination-folder-on-local-computer>
Pre používateľov Ubuntu Linux môže byť potrebné použiť
sudo na spustenie príkazu sshfs a prípadne pridať
používateľa do skupiny fuse.
Stiahnite a nainštalujte najnovšiu stabilnú inštalačnú verziu WinFSP z tohto miesta. Stiahnite a nainštalujte najnovšiu stabilnú 64-bitovú inštalačnú verziu SSHFS-Win z tohto miesta.
Po nainštalovaní môžete nastaviť SSHFS spojenie tak, ako je opísané nižšie.
Otvorte Prieskumník súborov, kliknite pravým tlačidlom na Tento počítač a vyberte Mapovať sieťovú jednotku. V poli Jednotka vyberte písmeno jednotky, ktoré ešte nie je namapované. Už namapované jednotky budú mať za písmenom jednotky zobrazenú lokalitu. Do poľa Priečinok zadajte:
Pripojenie domovského adresára z clustra cez Prieskumníka súborov
\\sshfs.k\<username>@login.<cluster>.sav.sk!5522\<path-to-destination-folder-on-cluster>
kde <path-to-destination-folder-on-cluster> je adresár,
ktorý chcete pripojiť.
Cesta ku kľúču sshfs.k
sshfs.k používa SSH kľúč uložený v
%USERPROFILE%\.ssh\id_rsa (t. j.
C:\Users\<local_user>\.ssh\id_rsa).
Nezvoľte možnosť „Reconnect at sign-in“. Domovský adresár HPC by ste mali pripájať iba vtedy, keď ho potrebujete. Keď k nemu už nepotrebujete prístup, mal by byť „odpojený“. Kliknite na Dokončiť.
Nakoniec, keď skončíte prácu, mali by ste „odpojiť“ namapovanú jednotku od HPC. V Prieskumníkovi súborov kliknite pravým tlačidlom na namapovanú jednotku a vyberte Odpojiť.
Stiahnite najnovšie stabilné vydania FUSE for macOS a modulu SSHFS z tohto miesta. Vytvorte na svojom Macu adresár, ktorý sa použije ako mountpoint.
V Termináli spustite nasledujúci príkaz na pripojenie adresára na vzdialenom systéme do lokálneho adresára, ktorý ste vytvorili:
Pripojenie domovského adresára z clustra pomocou sshfs
sshfs <username>@login.<cluster>.sav.sk:/<path-to-destination-folder-on-cluster> /<path-to-destination-folder-on-local-computer> -i <path-to-identity-key> -p 5522
Odmountovanie súborového systému
Keď skončíte prácu so svojimi súbormi, odmontujte adresár; inak môžu pri vypínaní počítača vzniknúť problémy s pripojeným súborovým systémom.
Windows klienti¶
Tieto možnosti fungujú v systéme Windows po nainštalovaní
príslušného klienta (MobaXterm alebo WinSCP); poskytujú grafickú
alternatívu k príkazom scp a sftp opísaným vyššie.
- Pomocou MobaXterm si môžete jednoducho prezerať vzdialený počítač pomocou okna naľavo od terminálu. Jeho aktuálnu lokalitu vidíte na hornom paneli a po počítači sa môžete pohybovať klikaním na adresáre, ako je zobrazené na snímke nižšie.
Môžete sa tiež po počítači pohybovať pomocou príkazového riadka v okne vpravo a sledovať zmeny v adresári naľavo, ak zaškrtnete políčko Follow terminal folder.
- Na stiahnutie súboru do vášho lokálneho počítača najprv nájdite a vyberte na vzdialenom počítači súbor, ktorý chcete stiahnuť, pomocou jednej z metód opísaných vyššie. Sťahovanie súboru alebo adresára prebieha rovnakým spôsobom.
- Potom kliknite na modrú šípku na stiahnutie. Otvorí sa okno zobrazujúce váš lokálny počítač, v ktorom budete vyzvaní na výber umiestnenia, kam chcete súbory stiahnuť. Po výbere umiestnenia kliknite na tlačidlo OK na potvrdenie sťahovania.
Najnovšiu verziu klienta WinSCP si môžete stiahnuť a nainštalovať z tohto miesta.
- Pripojte sa na HPC cluster pomocou autentifikačného kľúča.
- Po pripojení sa zobrazí okno na prenos súborov WinSCP. Ľavý panel zobrazuje lokálny počítač, pravý panel súbory vzdialeného počítača. Presuňte súbor, ktorý chcete preniesť, a upustite ho na opačnej strane.
- Vyberte umiestnenie súboru vo vyskakovacom okne a potom kliknite na OK na spustenie prenosu súboru.
Open OnDemand¶
Pre prenos súborov pomocou Open OnDemand pozrite sekciu Prenos súborov.
Prenos dát z internetu na cluster¶
Jedným z najpriamejších spôsobov, ako stiahnuť súbory, je použitie
wget. Každý súbor, ktorý váš webový prehliadač dokáže otvoriť
pomocou priameho odkazu, je možné stiahnuť aj pomocou wget.
Ide o rýchly spôsob, ako stiahnuť datasety alebo zdrojový kód.
Príkladom je stiahnutie súboru z internetu pomocou nasledujúceho príkazu:
wget <URL>
Niekedy sú dáta, pipeline alebo softvér, ktoré potrebujete,
uložené v repozitári na GitHub alebo GitLab. V tomto prípade
môžete buď stiahnuť jednotlivé („raw“) súbory pomocou wget,
alebo celý repozitár pomocou git clone.
Príkladom je stiahnutie tohto testovacieho repozitára pomocou:
git clone https://github.com/octocat/Hello-World.git
Repozitár bude uložený do aktuálneho adresára v novom adresári
s názvom repozitára, v tomto prípade teda Hello-World.