Hyppää sisältöön

A new version of SD Connect and SD Desktop will be available from Monday, September 28. The major upgrade will introduce significant improvements, but also includes changes that are not compatible with the current version of the service. Click here to review the available support materials.

Warning!

Puhti and Mahti computing services have been decommissioned and no new jobs are accepted or executed on its compute nodes. Puhti and Mahti login nodes and storage services are planned to remain available until 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

Allaksen käyttö Rclonella

Tämä luku sisältää ohjeet Allaksen käyttöön Rclonella Roihu-laskentaympäristössä. Rclone tarjoaa erittäin tehokkaan ja monipuolisen tavan käyttää Allasta ja muita oliotallennuspalveluja. Se osaa käyttää sekä S3- että Swift-protokollaa (sekä monia muita). Tällä hetkellä S3-protokolla on oletusvaihtoehto CSC:n Roihu-palvelimella.

VAROITUS: Rclonea ei tule käyttää objektien kopiointiin, siirtämiseen tai uudelleennimeämiseen Allaksen sisällä. Rclone tarjoaa komennot näihin toimintoihin, mutta ne eivät toimi oikein yli 5 GB:n tiedostoille.

VAROITUS: Jos yli 5 GB:n tiedoston rclone-latausprosessi keskeytyy, poista osittain ladattu objekti ennen latausprosessin käynnistämistä uudelleen. Muuten rclone ilmoittaa joskus onnistuneesta datan latauksesta, vaikka kaikkea dataa ei ole kopioitu Allakseen.

Rclonen perussyntaksi:

rclone alikomento valitsimet lähde:polku kohde:polku 

Yleisimmin käytetyt Rclone-komennot:

  • rclone copy – Kopioi tiedostoja lähteestä kohteeseen ohittaen jo kopioidut tiedostot.
  • rclone sync – Tekee lähteestä ja kohteesta identtiset muuttamalla vain kohdetta.
  • rclone move – Siirtää tiedostoja lähteestä kohteeseen.
  • rclone delete – Poistaa polun sisällön.
  • rclone mkdir – Luo polun, jos sitä ei vielä ole olemassa.
  • rclone rmdir – Poistaa polun.
  • rclone check – Tarkistaa, vastaavatko lähteen ja kohteen tiedostot toisiaan.
  • rclone ls – Listaa kaikki polun objektit, mukaan lukien koko ja polku.
  • rclone lsd – Listaa kaikki polun hakemistot/kontit/ämpärit.
  • rclone lsl – Listaa kaikki polun objektit, mukaan lukien koko, muokkausaika ja polku.
  • rclone lsf – Listaa objektit käyttäen objektien nimiin perustuvaa virtuaalista hakemistorakennetta.
  • rclone cat – Ketjuttaa tiedostot ja lähettää ne vakiotulosteeseen.
  • rclone copyto – Kopioi tiedostoja lähteestä kohteeseen ohittaen jo kopioidut tiedostot.
  • rclone moveto – Siirtää tiedoston tai hakemiston lähteestä kohteeseen.
  • rclone copyurl – Kopioi URL-osoitteen sisällön kohteeseen tallentamatta sitä tmp-tallennustilaan.

Laajempi luettelo löytyy Rclonen manuaalisivuilta tai kirjoittamalla komento rclone Puhdissa.

Tunnistautuminen CSC:n supertietokoneilla

Alla kuvaamme, miten Rclonea käytetään Roihu-supertietokoneessa. Voit käyttää Rclonea myös omalla tietokoneellasi.

Ensimmäinen vaihe on määrittää yhteys Allaksen projektiin. Rclone voi käyttää sekä S3- että Swift-protokollaa, mutta näillä yhteyksillä on eri nimet rclone-komennoissa.

Katso lisätietoja ja lisävaihtoehtoja kohdasta allas-conf.

S3-yhteys Allakseen

Voit määrittää uuden S3-yhteyden Allakseen komennolla:

allas-conf  project_proj-number
tai

allas-conf

Ensin allas-conf pyytää sinua antamaan CSC-salasanasi (Haka-salasanaa ei voi käyttää tässä). Sen jälkeen, jos kohdeprojektia ei ole annettu argumenttina, se listaa kaikki käytettävissä olevat Allas-projektit ja pyytää käyttäjää valitsemaan yhden. (Huomaa, että allas-confilla on usein ongelmia salasanojen kanssa, joissa on merkkejä, joilla on erityinen merkitys bash-komentotulkissa. Esimerkiksi välilyönti, *, ; ja erilaiset lainausmerkit voivat aiheuttaa sen, että allas-conf epäonnistuu).

Projektikohtainen käyttöavainpari tallennetaan rclonen asetustiedostoon kotihakemistossasi ($HOME/config/rclone/rclone.conf). Tämän vuoksi määritys ei ole istuntokohtainen, vaan koskee kaikkia istuntoja, joissa käytetään rclonea. S3-avaimet ovat pysyviä, joten sinun tarvitsee suorittaa allas-conf-komento uudelleen vain silloin, kun haluat ottaa käyttöön uuden oletusarvoisen S3-yhteyden. Näin ollen S3-pohjaisessa Allaksen käytössä sinun tarvitsee tavallisesti vain ladata Allas-moduuli ja alkaa käyttää Allasta.

Allas conf määrittää kaksi rclone-etäkohdetta s3allas: ja s3allas-project-proj-number:. Molemmat etäkohteet viittaavat samaan Allas-projektiin. Kun uusi projekti määritetään allas-confilla, päätepiste s3allas: muutetaan viittaamaan uuteen projektiin, mutta vanhempi projektikohtainen päätepiste säilytetään uuden luotavan projektikohtaisen päätepisteen lisäksi.

Esimerkiksi komentojen jälkeen:

allas-conf project_200111
allas-conf project_200222

Seuraavat etäkohteet ovat käytettävissä:

Rclone-etäkohde Kohdeprojekti
rclone s3allas: project_200222
rclone s3allas-project_200111: project_200111
rclone s3allas-project_200222: project_200222

Rclone Swiftin kanssa

Jos sinun täytyy käyttää rclonea Swift-pohjaisen Allas-yhteyden kanssa, esimerkiksi päästäksesi käsiksi dataan, jonka olet tallentanut Allakseen Puhdista ja Mahdista, yhteys aktivoidaan komennoilla:

module load allas
allas-conf --swift
Rclone-komennoissa tähän Swift-pohjaiseen yhteyteen viitataan etäkohteen nimellä allas:.

Alla olevissa esimerkeissä käytetään S3-pohjaista s3allas:-etäkohdemääritystä, mutta jos sinulla on määritettynä Swift-yhteys, voit korvata sen määrittelyllä allas:.

Huomaa, että sekä allas: että s3allas: voivat olla toiminnassa samanaikaisesti ja että ne voivat silti käyttää eri Allas-projekteja. Protokollien sekoittamista kannattaa kuitenkin välttää. Jos objekti ladataan käyttäen allas:, tee myös kaikki toiminnot käyttäen allas:.

Ämpärien luominen ja objektien lataaminen

Allaksen data järjestetään kontteihin, joita kutsutaan ämpäreiksi. Voit ajatella niitä juuritason hakemistoina. Kaikilla Allaksen ämpäreillä täytyy olla yksilölliset nimet – et voi luoda ämpäriä, jos jokin toinen projekti on jo käyttänyt samaa ämpärin nimeä. Hyvä nyrkkisääntö on sisällyttää ämpärin nimeen jotain projekti- tai käyttäjäkohtaista, esimerkiksi 2000620-raw-data. Katso tarkistuslista ämpärin nimeämisestä. Vältä lisäksi isoja kirjaimia ja erikoismerkkejä, mukaan lukien alaviiva (_) ämpärien nimissä. Objektien nimissä ämpärin sisällä nämä merkit ovat sallittuja.

Rclonella ämpäri luodaan näin:

rclone mkdir s3allas:2000620-raw-data
Lataa tiedosto komennolla rclone copy:
rclone copy file.dat s3allas:2000620-raw-data/
Yllä oleva komento luo objektin file.dat ämpäriin 2000620-raw-data. Jos käytät komentoa rclone move komennon rclone copy sijaan, ladatun tiedoston paikallinen versio (file.dat) poistetaan kopioinnin jälkeen.

Alikomennot copy ja move toimivat vain tiedostojen kanssa. Jos haluat kopioida kaikki hakemiston tiedostot, käytä alikomentoja copyto tai moveto.

Latauksen aikana yli 5 GB:n tiedostot pilkotaan ja tallennetaan useina objekteina. Objektit tallennetaan automaattisesti erilliseen ämpäriin nimeltä <bucket-name>_segments. Esimerkiksi jos lataisit suuren tiedoston ämpäriin 2000620-raw-data, varsinainen data tallennettaisiin useina osina ämpäriin 2000620-raw-data_segments. Kohdeämpäri (2000620-raw-data) sisältäisi vain manifestiobjektin, joka kertoo, mistä segmenteistä tallennettu tiedosto koostuu. Manifestiobjektille tehdyt toiminnot heijastuvat automaattisesti segmentteihin. Tavallisesti käyttäjien ei tarvitse käsitellä segmenttiämpäreitä lainkaan, eikä näiden ämpärien sisällä olevia objekteja tule poistaa tai muokata.

Ämpärien ja objektien listaaminen

Listaa kaikki projektiin kuuluvat ämpärit:

rclone lsd s3allas:
0 2019-06-06 14:43:40         0 2000620-raw-data

Listaa ämpärin sisältö:

rclone ls allas:2000620-raw-data
677972 file.dat

Objektien lataaminen

Käytä samoja komentoja rclone copy ja rclone copyto tiedoston lataamiseen:

rclone copy s3allas:2000620-raw-data/file.dat

Jos sisällytät latauskomentoon kohdeparametrin, Rclone luo latausta varten hakemiston:

rclone copy s3allas:2000620-raw-data/file.dat doh

ls doh
file.dat
ls -ld doh
drwxr-xr-x  3 user  staff  96 Jun  6 14:58 doh

Hakemiston synkronointi

Yksi tapa siirtää dataa Allaksen ja laskentaympäristön välillä on synkronointi. Kopioinnin ja synkronoinnin ero on se, että kopiointi lisää vain uusia objekteja tai tiedostoja lähteestä kohteeseen, kun taas synkronointi voi myös poistaa dataa kohteesta, jotta kohde vastaisi lähdettä. Tämä ominaisuus tekee synkronoinnista erittäin tehokkaan mutta myös mahdollisesti hyvin vaarallisen.

Esimerkiksi kansiolla nimeltä mydata on seuraava rakenne:

ls -R mydata

mydata/:
file1.txt  setA  setB

mydata/setA:
file2.txt

mydata/setB:
file3.txt  file4.txt

Esimerkki sync-komennon käytöstä (huomaa, että kohdeparametri vaatii kansion nimen (mydata)):

rclone sync mydata allas:2000620-raw-data/mydata
rclone ls s3allas:2000620-raw-data
   677972 mydata/file1.txt
    10927 mydata/setA/file2.txt
     1116 mydata/setB/file3.txt
     5075 mydata/setB/file4.txt

Oletetaan, että tallennamme uutta dataa (file5.txt ja file6.txt) alihakemistoon mydata/setC ja samalla poistamme tiedoston mydata/setB/file3.txt. Kun komento rclone sync suoritetaan uudelleen, uusi data lisätään Allakseen ja objekti mydata/setB/file3.txt poistetaan.

rclone sync mydata allas:2000620-raw-data/mydata

rclone ls s3allas:2000620-raw-data
   677972 mydata/file1.txt
    10927 mydata/setA/file2.txt
     5075 mydata/setB/file4.txt
     1265 mydata/setC/file5.txt
     4327 mydata/setC/file6.txt

Yllä olevissa esimerkeissä Allasta on käytetty muuttuvana kohteena. Komentoa voidaan kuitenkin käyttää myös päinvastaiseen suuntaan:

rclone sync allas:2000620-raw-data/mydata mydata

Tämä komento palauttaa ladatun datan Allaksesta hakemistoon mydata. Huomaa kuitenkin, että jos olet lisännyt uutta dataa hakemistoon mydata sen jälkeen, kun synkronoit hakemiston Allaksen kanssa, tämä data poistetaan.

Tiedostojen kopiointi suoraan oliotallennusten välillä

Rclonea voidaan käyttää myös tiedostojen suoraan kopiointiin toisesta oliotallennuksesta (esim. Lumi-O, Amazon S3, Google cloud, CREODIAS,...) Allakseen. Tätä varten molempien palvelujen tunnistetiedot täytyy tallentaa käyttäjän kotihakemistossa olevaan Rclonen asetustiedostoon (.config/rclone/rclone.conf). Esimerkki on alla:

[s3allas]
type = s3
provider = Other
env_auth = false
access_key_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
endpoint = a3s.fi
acl = private

[otherobjectstorage]
type = s3
provider = Other
env_auth = false
access_key_id = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
secret_access_key = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
endpoint = yourotherendpoint.com
acl = private
Allaksen määritys lisätään automaattisesti, kun Allas määritetään S3-tilassa

allas-conf

Tämän tiedoston luomisen tai päivittämisen jälkeen Rclonea voidaan käyttää tiedostojen kopiointiin

rclone copy otherobjectstorage:bucket-x/object-y s3allas:bucket-z/object-a

tai tiedostojen listaamiseen joko Allaksesta tai toisesta oliotallennuksesta käyttämällä vastaavaa nimeä

rclone lsf otherobjectstorage:.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta