Hyppää sisältöön

Roihun datan siirto-opas

This tutorial is deprecated

This tutorial is deprecated. Mahti and Puhti were fully retired on 15 October 2026 and are no longer accessible.

Tietoa tästä oppaasta

Tämä opas on jaettu viiteen osaan:

  1. Yleiset ohjeet ja edellytykset
  2. SSH-yhteys SSH-agentin välityksellä
  3. Suositellut datan siirtomenetelmät
  4. Erityistapaukset
  5. Ei-suositellut menetelmät

Lue ensin osio Yleiset ohjeet ja edellytykset ennen kuin siirrät mitään dataa Roihuun. Jos datan siirtotarpeesi ovat pienet ja yksinkertaiset, voi riittää, että tutustut Perus-rsync -esimerkkiin. Jos sinulla on paljon dataa tai muita erityisvaatimuksia, lue myös muut osiot huolellisesti.

1. Yleiset ohjeet ja edellytykset

1.1 Tarkista ja siivoa datasi ennen siirtoa

  • Roihun scratch-levyaluetta ei ole tarkoitettu datan pitkäaikaiseen säilytykseen, vaan sitä tulee käyttää vain aktiivisessa käytössä olevalle datalle. Siksi siirrä vain data, jota todella tarvitset.

    • Hyvä datahygienia vähentää siirtoaikaa ja tiedostojärjestelmän kuormitusta sekä poistaa tarpeettoman tai päällekkäisen datan siirtämisen riskin. Roihussa on sama levyn siivouskäytäntö kuin Puhdissa, eli tiedostot, joita ei ole käytetty 180 päivään (tai 90 päivään projekteissa, joiden scratch-kiintiö on 5 TiB tai enemmän), poistetaan.
    • Suosittelemme käyttämään LUE-työkalua tunnistamaan, missä sinulla on paljon dataa. Vältä työkalujen kuten du käyttöä, sillä ne voivat aiheuttaa paljon kuormaa tiedostojärjestelmälle. Yksinkertainen käyttöesimerkki (aja lue -h nähdäksesi muut valinnat):

      module load lue
      lue <directory-to-analyze>
      
  • Muita vinkkejä:

    • Poista tai jätä pois väliaikaiset tiedostot (välimuistidata, välitulokset, lokit, tarpeettomat checkpoint-tiedostot, core dumpit jne.).
    • Suorittimille rakennetut Apptainer-kontit voidaan siirtää Roihuun. Älä älä siirrä GPU:ille tarkoitettuja kontteja tai mitään natiiveja asennuksia Puhdista tai Mahdista Roihuun. Ne täytyy rakentaa uudelleen alusta asti parhaan suorituskyvyn saavuttamiseksi tai jotta ne toimisivat ylipäätään (GPU-solmuissa on ARM-suoritinarkkitehtuuri). Lisää ohjelmistojen asentamisesta Roihussa.

1.2 Lisää Roihu-palvelun käyttöoikeus CSC-projektiisi

1.3 Varmista, että sinulla on riittävästi levytilaa Roihussa

  • Kun olet tunnistanut siirrettävän datan, tarkista, että se mahtuu Roihun oletuslevykiintiöihin:

    Levyalue Polku Oletuskoko Enimmäiskoko Oletustiedostomääräraja Enimmäistiedostomääräraja
    Home /users/$USER 15 GiB 15 GiB 150k 150k
    ProjAppl /projappl/<project> 15 GiB 250 GiB 150k 2.5M
    Dataset   /dataset/<project> 0 GiB tapauskohtainen 0 tapauskohtainen
    Scratch   /scratch/<project> 250 GiB 100 TiB 500k 10M
  • Huomaa, että Puhdin/Mahdin olemassa olevat kiintiölaajennukset eivät siirry automaattisesti Roihuun, joten sinun täytyy erikseen hakea suurempaa levykiintiötä MyCSC:n kautta etukäteen, jos datasi ei mahdu oletusrajoihin.

Uusi Dataset-levyalue Roihussa

Käyttäjät voivat hakea uusia "dataset-projekteja" (vrt. tavalliset laskentaprojektit) saadakseen käyttöönsä uuden levyalueen Roihussa – Dataset. Tämä levyalue mahdollistaa aineistojen säilyttämisen levyllä pidempään (ei siivousta, elinkaari on rajattu dataprojektin elinkaareen). Datan lukuoikeus voidaan jakaa globaalisti tai tietyille projektitunnuksille.

Dataset-projekteja ja Dataset-kiintiöitä haetaan ja hallinnoidaan MyCSC:n kautta. Dataset-kiintiö kuluttaa Storage BUja.

1.4 Siirrä datasi suoraan Puhdista/Mahdista Roihuun

  • Datan siirtämistä Roihuun Allaksen tai paikallisen työasemasi kautta ei suositella. Sen sijaan CSC suosittelee komentorivityökalujen kuten rsync käyttöä datan suoraan siirtämiseen Puhdista/Mahdista/LUMIsta Roihuun.

2. SSH-yhteys SSH-agentin välityksellä

Datan siirto Puhdin/Mahdin/LUMIn ja Roihun välillä edellyttää SSH-yhteyttä, jossa SSH-agentin välitys on käytössä.

Ennen kuin aloitat, varmista että sinulla on:

  1. Luotu SSH-avain, ladattu julkinen avain osoitteeseen my.csc.fi ja tiedät yksityisen SSH-avaimen polun kannettavallasi. Ohjeet
  2. Työkalu SSH-yhteyksiä varten. Ohjeet Linuxille/macOS:lle ja Windowsille.
  3. SSH-agentti asennettuna ja käynnissä. Ohjeet Linuxille/macOS:lle ja Windowsille.

Yhdistämistä varten:

  1. Hae allekirjoitettu SSH-varmenne Roihua varten.
    • Jos aiot käyttää SSH-yhteyttä Roihuun myös myöhemmin, on suositeltavaa käyttää vaihtoehtoa 2 SSH-varmenteen hankkimiseen. Tarjottu skripti lisää SSH-varmenteen automaattisesti SSH-agenttiin. Se vaatii ensimmäisellä kerralla enemmän vaiheita, mutta on myöhemmin helpompi.
    • Jos aiot käyttää pääasiassa Roihun selainkäyttöliittymää, käytä vaihtoehtoa 1.
    • Varmenne on voimassa 24 tuntia, joten muista toistaa tämä prosessi tarvittaessa.
  2. Lisää SSH-avain ja varmenne SSH-agenttiin.
    • Jos käytit edellisessä vaiheessa vaihtoehtoa 2, skripti teki tämän puolestasi.
    • Jos käytit edellisessä vaiheessa vaihtoehtoa 1, lisää SSH-avaimet ja varmenne SSH-agenttiin käsin. Ohjeet Linuxille/macOS:lle ja Windowsille.
    • Windowsissa Pageantilla lisää sekä allekirjoittamaton yksityinen avain Puhtia/Mahtia varten että allekirjoitettu avain Roihua varten.
  3. Kirjaudu Puhtiin niin, että SSH-agentin välitys on päällä. Ohjeet Linuxille/macOS:lle ja Windowsille.

Ennen kuin jatkat datan siirtoon, testaa ensin, että SSH-välitys toimii komennolla:

ssh roihu-cpu.csc.fi
Apua! Mitä tehdä, jos SSH-varmenteen lisääminen SSH-agenttiin ei onnistu?

Vaihtoehtoisesti voit kirjautua Roihuun ja vetää datan Puhdista. Koska yhteys Puhtiin ei vaadi SSH-varmennetta, riittää että välitetty SSH-agentti sisältää SSH-avaimesi.

Huomaa, että tarvitset silti voimassa olevan SSH-varmenteen, kun yhdistät Roihuun alun perin, mutta sitä ei tarvitse lisätä SSH-agenttiisi.

  • rsync on ensisijainen työkalu datan siirtämiseen Puhdista tai Mahdista Roihuun. Lue lisää rsync:stä täältä.
  • Ennen datansiirron aloittamista varmista, että kohdehakemisto Roihussa on olemassa ja siihen on kirjoitusoikeus.
  • Käytämme Puhtia esimerkkinä, mutta täsmälleen samat vaiheet pätevät myös Mahtiin ja LUMIin. Korvaa vain kaikki puhti-esiintymät palvelinnimissä jne. sanalla mahti.

3.1 Perus-rsync

  1. Kirjoita ylös, mikä kansio haluat siirtää Puhdista ja mihin kansioon Roihussa.
  2. Siirrä kirjautumissolmulla hakemisto /scratch/project_2001234/my-data Puhdista hakemistoon /scratch/project_2001234/ Roihussa.

    rsync -aP /scratch/project_2001234/my-data $USER@roihu-cpu.csc.fi:/scratch/project_2001234/
    
    Valitsin Kuvaus
    -a Käytä arkistotilaa: kopioi tiedostot ja hakemistot rekursiivisesti, säilytä käyttöoikeudet, aikaleimat ja symboliset linkit.
    -P Säilytä osittain siirretyt tiedostot ja näytä siirron eteneminen.
  3. Vaihtoehtoisesti, jos olet yhdistänyt Roihuun ja vedät dataa Puhdista, käytä komentoa:

    rsync -aP $USER@puhti.csc.fi:/scratch/project_2001234/my-data /scratch/project_2001234/
    

Komento rsync -aP sopii, jos:

  1. Siirrettävien tiedostojen määrä on pieni (<1000) tai tiedostot ovat riittävän suuria (>1 MB keskimäärin).
  2. Siirrät omia tiedostojasi tai sillä ei ole merkitystä, kuka tiedostot omistaa Roihussa.
    • Omistat kaikki Roihuun siirtämäsi tiedostot riippumatta siitä, kuka niiden omistaja Puhdissa on.
Huom! Loppuun tulevalla /-merkillä on merkitys rsync-komennoissa!

Loppuun tuleva /-merkki vaikuttaa siihen, mitä lähteestä siirretään. Jos lähdepolku päättyy merkkiin /, kaikki hakemiston sisältö kopioidaan, mutta ei itse hakemistoa. Jos haluat siirtää itse hakemiston (ja sen sisällön), jätä loppuviiva pois kuten edellisessä esimerkissä.

Kuinka kauan datan siirto kestää?

Alla olevaa taulukkoa voidaan käyttää karkeana viitteenä siitä, kuinka kauan tietyt rsync:llä tehtävät siirrot kestävät.

Tiedostojen määrä Keskimääräinen tiedostokoko Kokonaiskoko Kesto Huomioita
1 1 GB 1 GB 6 s
10 100 MB 1 GB 6 s
100 10 MB 1 GB 6 s
1000 1 MB 1 GB 11 s Pienten tiedostojen overhead kasvaa, pakkaa arkistoksi!
10000 100 kB 1 GB 45 s Pienten tiedostojen overhead kasvaa, pakkaa arkistoksi!
1 10 GB 10 GB ~1 min
10 1 GB 10 GB ~1 min
100 100 MB 10 GB ~1 min
1000 10 MB 10 GB ~1 min
1 100 GB 100 GB ~11 min
1 1 TB 1 TB ~ 2 h

Huomaa, että todellinen suorituskyky voi vaihdella järjestelmän senhetkisen kuormituksen mukaan. Jos sinun täytyy siirtää tuhansia pieniä tiedostoja (<1 MB), pakkaa ne yhdeksi arkistotiedostoksi paremman suorituskyvyn saavuttamiseksi.

3.2 Kuivaharjoituksen tekeminen

Voi olla hyödyllistä tehdä kuivaharjoitus ennen varsinaisen rsync-prosessin aloittamista. Lisää valitsin -n rsync-komentoosi:

rsync -anP /scratch/project_2001234/my-data $USER@roihu-cpu.csc.fi:/scratch/project_2001234/

Tämä komento ei siirrä mitään, vaan näyttää yksinkertaisesti, mitä tapahtuisi, jos ajaisit rsync:n ilman -n-valitsinta.

Huom! Kuivaharjoitus ei havaitse virheitä, jotka johtuvat riittämättömistä käyttöoikeuksista

rsync-kuivaharjoitus ei havaitse virheitä, jotka johtuvat riittämättömistä käyttöoikeuksista. Toisin sanoen se olettaa, että:

  1. Sinulla on luku- ja suoritusoikeudet kaikkiin tiedostoihin ja hakemistoihin, joita yrität siirtää Puhdista.
  2. Sinulla on kirjoitusoikeus kohteeseen (Roihu).

Jos haluat listata tiedostot ja hakemistot, joita et voi siirtää riittämättömien käyttöoikeuksien vuoksi, kokeile:

find /scratch/project_2001234/my-data ! -readable 2> /dev/null

Jos haluat tarkistaa, onko kohde kirjoitettavissa, kokeile:

ssh $USER@roihu-cpu.csc.fi "touch /scratch/project_2001234/.test && rm /scratch/project_2001234/.test"

Puuttuvat kirjoitusoikeudet aiheuttavat Permission denied -virheen. Jos kohdetta ei ole olemassa, saat virheen No such file or directory.

3.3 Datan siirtäminen, kun pieniä tiedostoja on paljon

Jos siirrettävä data sisältää tuhansia pieniä tiedostoja, on suositeltavaa arkistoida data ennen siirtoa eli pakata kaikki tiedostot yhdeksi tiedostoksi. Useimmat datansiirtotyökalut käsittelevät yhden suuren tiedoston paljon paremmin kuin tuhansia pieniä tiedostoja.

  1. Oletetaan, että haluat siirtää hakemiston /scratch/project_2001234/my-data Puhdista Roihuun. Luo siitä (c) arkisto seuraavasti:

    cd /scratch/project_2001234
    tar cf my-data.tar my-data
    
  2. Siirrä arkistoitu aineisto my-data.tar Roihuun käyttämällä rsync:ä.

  3. Pura (x) data Roihussa komennolla:

    tar xf my-data.tar
    
  4. Lue lisää tar:sta täältä.

Pidä levykiintiösi mielessä!

Arkistointi luo levylle uutta dataa. Jos aineistosi on suuri, saatat lopulta käyttää levykiintiösi loppuun, koska toimenpide käytännössä kaksinkertaistaa levynkäyttösi (ellei arkistoa myös pakata tiiviimpään muotoon).

Yksi tapa välttää uuden datan luominen Puhdin levylle on ohjata tar:n tuloste suoraan SSH:n yli Roihuun. Käytä komentoa:

tar c -C /scratch/project_2001234 my-data | ssh $USER@roihu-cpu.csc.fi 'cat > /scratch/project_2001234/my-data.tar'

Lue lisää tar:n käyttämisestä SSH:n yli.

4. Erityistapaukset

4.1 Datan pakkaaminen

Datan pakkaaminen voi olla hyödyllistä tallennustilan säästämiseksi ja datansiirron nopeuttamiseksi, mutta se voi viedä paljon aikaa. Datan pakkaaminen kuormittaa suoritinta, ja suurten aineistojen pakkaaminen voi helposti kestää useita tunteja.

Tiedostojen pakattavuus riippuu niiden sisällöstä. Tietyt tiedostomuodot ovat jo valmiiksi voimakkaasti pakattuja (esim. kuvat), ja niiden lisäpakkaaminen on haitallista. Toisaalta datan pakkaamisesta voi olla hyötyä, jos siirrät esimerkiksi paljon pieniä raakatekstitiedostoja tai suuria tekstipohjaisia aineistoja.

Tiedostotyypit, jotka pakkautuvat hyvin Tiedostotyypit, jotka eivät pakkaudu hyvin
Raakateksti Media (JPG, PNG, GIF, MP3, MP4, WAV jne.)
CSV, XML, JSON, YAML jne. Valmiiksi pakatut arkistot (ZIP, gzip jne.)
Lähdekoodi (Python, C jne.) Binääriblobit (esim. käännetyt suoritettavat tiedostot)

rsync tarjoaa sisäänrakennetun toiminnallisuuden lennonaikaiseen pakkaukseen ja purkuun -z-valitsimen avulla:

rsync -azP /scratch/project_2001234/my-data $USER@roihu-cpu.csc.fi:/scratch/project_2001234/
Vaihtoehtoisia menetelmiä suorituskyvyn maksimoimiseksi

rsync käyttää zlib-kirjastoa datan pakkaamiseen siirron aikana. Sen suorituskyky on verrattavissa gzip:iin, mutta tarvittaessa saatavilla on vielä nopeampia vaihtoehtoja. Yksi tällainen on zstd-pakkaus.

zstd-pakkaus voidaan yhdistää tar:n käyttöön SSH:n yli. Siirtääksesi hakemiston my-data Puhdista Roihuun, aja:

tar c -I zstd -C /scratch/project_2001234 my-data | ssh $USER@roihu-cpu.csc.fi 'cat > /scratch/project_2001234/my-data.tar.zst'

Tapauksissa, joissa pakkaamisesta ei ole hyötyä, voit käyttää myös tavallista tar:ia ssh:n yli kuten aiemmin selitettiin. Suorituskyky voi olla parempi kuin rsync:llä, erityisesti jos aineistosi sisältää valtavan määrän hyvin pieniä tiedostoja.

4.2 Pitkien siirtoprosessien turvallinen ajaminen

Yksi rsync:n vahvuuksista on, että keskeytyneitä siirtoja voidaan helposti jatkaa – aja vain sama rsync-komento uudelleen. rsync vertaa lähdettä ja kohdetta, ohittaa jo siirretyt tiedostot (kopioi vain puuttuvat) ja jatkaa osittain siirrettyjä tiedostoja (kunhan valitsinta -P tai --partial käytetään yllä ohjeistetulla tavalla).

Jotta vältät kokonaan keskeytyneiden SSH-istuntojen aiheuttamat virheet, voit ajaa datansiirtoprosessisi screen-istunnossa.

  1. Käynnistä Puhdissa screen-istunto:

    screen -S roihu_migration
    
  2. Käynnistä rsync-komentosi screen-istunnon sisällä:

    rsync -aP /scratch/project_2001234/my-data $USER@roihu-cpu.csc.fi:/scratch/project_2001234/
    
  3. Nyt voit irrottaa istunnon ja jättää rsync-prosessin käyntiin:

    Ctrl + A, then press D
    

    Datansiirtoprosessi jatkuu turvallisesti taustalla. Voit halutessasi kirjautua ulos Puhdista.

  4. Liitä istunto takaisin komennolla:

    screen -r roihu_migration
    

    Jos unohdit istunnon nimen, kokeile komentoa screen -ls.

  5. Kun datansiirto on valmis, lopeta istunto kirjoittamalla exit screen-istunnon sisällä.

screen:n käyttö on hyödyllistä, jos datansiirtosi kestää useita tunteja. Voit esimerkiksi sammuttaa tietokoneesi ja jättää rsync-prosessin käyntiin yön yli.

Käytä tmux:ia Roihussa

Komento screen ei ole käytettävissä Roihussa, mutta voit tehdä kaikki datansiirrot Roihuun Mahdin ja/tai Puhdin kirjautumisen kautta. Jos sinun täytyy pitää pidempi pääteistunto auki Roihussa, käytä sen sijaan tmux:ia.

Katso tmux-ohjeet Roihun tmux-oppaasta.

4.3 Tarkistussummien käyttäminen datan eheyden varmistamiseen

rsync varmistaa datan eheyden oletuksena sisäisillä tarkistussummamekanismeilla. Siksi datan eheyttä ei tarvitse varmistaa erikseen.

Jos et käytä rsync:ä, voit laskea tiedostoille tarkistussumman esimerkiksi md5sum:lla.

  1. Oletetaan, että sinulla on aineistoarkisto data.tar Puhdissa. Laske sille tarkistussumma komennolla:

    md5sum data.tar > data.tar.md5
    

    Huomaa, että tarkistussummien laskeminen valtaville aineistoille voi viedä aikaa, erityisesti jos levyn tämänhetkinen kuormitus on suuri.

  2. Siirrä aineisto ja tarkistussummatiedosto data.tar.md5 Roihuun.

  3. Kun data.tar- ja data.tar.md5-tiedostot ovat samassa hakemistossa, varmista tarkistussumma komennolla:

    md5sum -c data.tar.md5
    

    Jos yksikin tavu muuttui siirron aikana, tiedosto ei täsmää, ja näet data.tar: FAILED. Muussa tapauksessa sinun pitäisi saada data.tar: OK.

4.4 Jos tiedostojen omistajuudella on merkitystä

Sinut asetetaan kaikkien Puhdista Roihuun siirtämiesi tiedostojen omistajaksi. Tämä on tärkeää ymmärtää, kun siirrät dataa jaetuista projektihakemistoista, joissa sinulla voi olla lukuoikeus kollegoidesi omistamaan dataan.

Käyttäjillä ei ole tapaa siirtää kollegoidensa dataa siten, että omistajuudet säilyisivät ennallaan. Jos tämä on projektillesi tärkeää, niin varmistakaa, että jokainen jäsen siirtää vain oman datansa.

Jos huomaat myöhemmin virheellisiä tiedostojen omistajuuksia, Roihun järjestelmäylläpitäjät voivat korjata ne puolestasi. Ota yhteyttä CSC:n Service Deskiin ja kerro tiedot siitä, mitkä tiedostot ja/tai hakemistot ovat kyseessä ja kenet pitäisi asettaa omistajaksi.

5. Ei-suositellut menetelmät

5.1 scp

scp:llä on monia haittoja verrattuna rsync:iin. Se ei voi jatkaa keskeytyneitä siirtoja, sen metadatan säilytysominaisuudet ovat rajalliset, siinä ei ole sisäänrakennettuja eheyden tarkistuksia ja sen suorituskyky on heikompi. Sen käyttäminen datan siirtämiseen Roihuun ei siksi ole suositeltavaa, ellei aineistosi ole hyvin pieni ja yksinkertainen (<10 GB, <100 tiedostoa).

Lue lisää scp:stä täältä.

5.2 Selainkäyttöliittymien käyttäminen datan siirtämiseen

Valitettavasti ei ole hyvää tapaa käyttää Puhdin tai Mahdin selainkäyttöliittymiä datan siirtämiseen suoraan Roihuun. On olemassa joitakin epäsuoria tapoja, mutta mikään niistä ei ole tehokas, minkä vuoksi suosittelemme ensisijaisesti yllä olevia komentorivipohjaisia lähestymistapoja. Seuraavia vaihtoehtoja tulisi siksi pitää "viimeisenä keinona".

  1. Käytä ensin Puhdin/Mahdin selainkäyttöliittymän tiedostoselainta datasi lataamiseen paikallisesti ja lataa se sitten Roihuun Roihun selainkäyttöliittymän kautta. Huomaa, että yksittäisten tiedostojen latauksille on 10 GB:n raja, joten tätä suurempi data täytyy jakaa sopiviin osiin. Vaihtoehtoisesti voit käyttää graafisia tiedostonsiirtotyökaluja datan lataamiseen Roihuun, koska olet jo ladannut sen paikallisesti.
  2. Jos sinulla on LUMI-projekti, voit käyttää Puhdin/Mahdin selainkäyttöliittymän Cloud storage configuration -sovellusta yhteyden muodostamiseen LUMI-O:hon, ladata datasi sinne ja sitten hakea sen LUMI-O:sta Roihuun.
Älä käytä Allasta datan siirtämiseen Roihuun!

Allaksen käyttöä datan siirtämiseen Roihuun ei suositella lainkaan, koska Allaksen kapasiteetti on loppumassa. Suosi LUMI-O:ta, jos sinun on pakko siirtää dataa Roihuun objektiliikenteen kautta.

Onko tämä sivu hyödyllinen?
Kiitos palautteestasi!
Kiitos! Arvostamme palautettasi.

Kerro meille miten voisimme parantaa tätä sivua ottamalla meihin yhteyttä .