-
Allas-asiakasohjelmat
-
a-command
a-komennot, helppoja ja turvallisia
Allas-objektitallennusjärjestelmää voidaan käyttää monin eri tavoin ja moniin eri tarkoituksiin. Monissa tapauksissa Allaksen tehokas käyttö edellyttää, että käyttäjä tuntee sekä objektitallennusjärjestelmän että Allaksessa olevan datan hallintaan käytettävän ohjelmiston tai protokollan ominaisuudet.
Käyttäjille, jotka haluavat yksinkertaisesti käyttää Allasta CSC:n laskentaympäristössä olevan datan tallentamiseen, CSC tarjoaa joukon komentoja datan hallintaan ja siirtämiseen CSC:n laskentaympäristön ja Allaksen välillä:
a-komento |
Ohjeteksti | Toiminto |
|---|---|---|
a-put |
GitHub | Lataa tiedosto tai hakemisto Altaaseen |
a-check |
GitHub | Tarkista, löytyvätkö kaikki objektit, jotka a-put-komennon olisi pitänyt luoda, Allaksesta |
a-list |
GitHub | Luettele Allaksen ämpärit ja objektit |
a-publish |
GitHub | Lataa tiedosto Altaaseen ämpäriin, joka sallii julkisen pääsyn internetin kautta |
a-flip |
GitHub | Lataa tiedosto väliaikaisesti Altaaseen ämpäriin, joka sallii julkisen pääsyn internetin kautta |
a-get |
GitHub | Lataa tallennettu aineisto (objekti) Allaksesta |
a-find |
GitHub | Etsi ja paikanna a-put-komennolla palveluun ladattu data |
a-delete |
GitHub | Poista objekti Allaksesta |
a-info |
GitHub | Näytä tietoja Allaksessa olevasta objektista |
a-access |
GitHub | Hallitse Allaksen ämpärin käyttöoikeuksia |
a-stream |
GitHub | Välitä objektin sisältö vakiotulosteeseen |
a-encrypt |
GitHub | Tee salattu kopio Allakseen ladatusta objektista |
Edellä mainittujen komentojen lisäksi muihin tarkoituksiin on erillisiä työkaluja:
allas_conf: Määritä ja avaa yhteys Allakseenallas-backup: Luo varmuuskopio paikallisesta aineistosta Allaksessa olevaan varmuuskopiorepositorioon.allas-mount: Liitä ämpäri Allaksessa käytettäväksi paikallisessa ympäristössä vain luku -hakemistona.allas-health-check: Tarkista yli 5 GB:n objektien eheys Allaksessa.allas-dir-to-bucket: kopioi paikallinen tiedosto tai hakemisto Altaaseen. Yli 5 GB:n tiedostoille käytetään rinnakkaisia palveluunlatausprosesseja.
Jos käytät a-komentoja supertietokoneiden ulkopuolella, katso allas-cli-utils-dokumentaatiosta, miten nämä työkalut asennetaan.
Alla käsittelemme lyhyesti a-komentojen yleisimmin käytettyjä ominaisuuksia. a-komentoihin lisätään aika ajoin uusia ominaisuuksia, eikä niitä välttämättä käsitellä alla olevissa esimerkeissä. Käytä ohjevalintaa --help tarkistaaksesi komentokohtaiset tiedot. Esimerkiksi:
Esimerkki: Datan tallentaminen scratch-hakemistosta Allakseen
Yhteyden määrittäminen supertietokoneissa
Jotta voit käyttää näitä työkaluja Puhdissa ja Mahdissa, lataa ensin a-komennot:
Määritä Allas-yhteys komennolla allas-conf.
Datan kopioiminen Puhdin scratch-hakemiston ja Allaksen välillä
Datan kopioiminen hakemistosta /scratch/project_201234/dataset_3 Allakseen:
Hakemistossa dataset_3 oleva data tallennetaan oletusämpäriin 201234-puhti-SCRATCH objektina: dataset_3.tar. Allaksessa käytettävissä olevat dataämpärit voidaan listata komennolla: Ja ämpärin 201234-puhti-SCRATCH sisältö voidaan listata komennolla: Allakseen tallennettu hakemisto voidaan hakea takaisin Puhtiin komennolla:a-komennot tarkemmin
a-put
a-put-komentoa käytetään datan lataamiseen palveluun Mahdin ja Puhdin levyympäristöstä
Allaksen tallennusympäristöön. Komennon perussyntaksi:
Oletusarvoisesti tämä työkalu tekee seuraavat toiminnot:
-
Varmistaa, että yhteys Allaksen tallennuspalveluun toimii, ja määrittää projektin, jota käytetään datan tallentamiseen.
-
Hakemiston tapauksessa hakemiston sisältö kerätään yhdeksi tiedostoksi
tar-komennolla. Jos sinulla on paljon dataa, tämä ei välttämättä ole hyvä vaihtoehto; harkitse silloin jonkin muun Allas-asiakasohjelman käyttöä, joka ei paketoi tiedostoja. -
Pakattu data ladataan palveluun Allakseen
rclone-komennolla ja Swift-protokollalla.
Oletusarvoisesti a-put käyttää vakioämpäri- ja objektinimiä, jotka riippuvat käyttäjänimestä, projektista ja
palveluun ladatun datan sijainnista:
- a) Data hakemistosta /scratch Puhdissa ladataan palveluun ämpäriin projectNumber-puhti-SCRATCH
- b) Data hakemistosta /scratch Mahdissa ladataan palveluun ämpäriin projectNumber-mahti-SCRATCH
- c) Data hakemistosta /projappl Puhdissa ladataan palveluun ämpäriin projectNumber-puhti-PROJAPPL
- d) Data hakemistosta /projappl Mahdissa ladataan palveluun ämpäriin projectNumber-mahti-PROJAPPL
- e) Data hakemistosta $LOCAL_SCRATCH Puhdissa ladataan palveluun ämpäriin projectNumber-puhti-LOCAL_SCRATCH
- f) Muissa tapauksissa data ladataan palveluun ämpäriin username-projectNumber-MISC
Esimerkiksi käyttäjällä kkayttaj, joka on projektin 12345 jäsen, HOME-hakemistossa sijaitseva data ladataan palveluun ämpäriin kkayttaj-12345-MISC.
Jos haluat käyttää muuta kuin vakioämpäriä, voit määrittää ämpärin nimen valinnalla -b tai
--bucket.
Pakattu aineisto tallennetaan yhtenä objektina. Oletusarvoisesti objektin nimi riippuu tiedoston nimestä ja sijainnista. Mahdollinen alihakemistopolku Puhdissa tai Mahdissa sisällytetään objektin nimeen, esimerkiksi tiedosto nimeltä test_1.txt hakemistossa /scratch/project_2012345 Puhdissa voidaan tallentaa komennoilla:
Tässä tapauksessa tiedosto tallennetaan ämpäriin 2012345-puhti-SCRATCH objektina test_1.txt
Jos sinulla on toinen tiedosto nimeltä test_1.txt, joka sijaitsee hakemistossa /scratch/project_2012345/kkayttaj/project2/, voit tallentaa sen komennoilla
tai Tässä tapauksessa tiedosto tallennetaan ämpäriin 2012345-puhti-SCRATCH objektina kkayttaj/project2/test_1.txt.Varsinaisen dataobjektin lisäksi luodaan toinen objekti, joka sisältää metadataa. Tällä metadataobjektilla on
sama nimi kuin pääobjektilla, mutta tiedostopääte on _ameta. Tätä metadatatiedostoa käyttävät
muut a-komennot, eikä sitä normaalisti näytetä käyttäjälle, mutta jos tarkastelet ämpäreitä
työkaluilla kuten swift tai rclone, näet myös nämä metadataobjektit.
Jos haluat käyttää oletusobjektinimestä poikkeavaa nimeä, voit määrittää sen valinnalla -o tai
--object:
Yllä oleva komento lataa tiedoston test_1.txt palveluun Allakseen ämpäriin newbucket1 objektina case1.txt.zst. Koska valintaa -c käytetään, data tallennetaan zstd-pakatussa muodossa.
Voit antaa a-put-komennolle useita tiedosto- tai hakemistonimiä ja käyttää *-merkkiä jokerimerkkinä nimettäessä palveluun ladattavaa dataa. Huomaa, että näissä tapauksissa jokainen kohde (tiedosto tai hakemisto) tallennetaan erillisenä objektina. Oletetaan esimerkiksi, että meillä on hakemisto nimeltä job123, joka sisältää tiedostot input1.txt, input2.txt ja program.py. Lisäksi on hakemistot output_dir_1 ja output_dir_2 .
Komento:
lataa hakemiston output_dir_1 sisällön palveluun objektiksi job123/output_dir_1.tar ja tiedoston input1.txt objektiksi job123/input1.txt.Vastaavasti komento
lataa hakemiston output_dir_1 sisällön palveluun objektiksi job123/output_dir_1.tar ja hakemiston output_dir_2 sisällön palveluun objektiksi job123/output_dir_2.tar.Palveluunlatauksen aikana yli 5 GB:n aineistot pilkotaan ja tallennetaan useina objekteina. Tämä tehdään automaattisesti ämpäriin, jonka nimi muodostetaan lisäämällä alkuperäisen ämpärin nimeen pääte _segments. Esimerkiksi jos lataisit suuren tiedoston palveluun ämpäriin kkayttaj-12345-MISC, varsinainen data tallennettaisiin useina osina ämpäriin kkayttaj-12345-MISC_segments. Kohdeämpäri (kkayttaj-12345-MISC) sisältäisi vain etuobjektin, jossa on tieto siitä, mistä segmenteistä tallennettu aineisto koostuu. Etuobjektille 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 pidä poistaa tai muokata.
a-check
Tämä komento käy läpi ne Allas-objektien nimet, jotka vastaava a-put-komento loisi, ja tarkistaa sitten, onko samanniminen objekti jo olemassa Allaksessa. Tämän komennon päätarkoitus on tarjota työkalu sen tarkistamiseen, suoritettiinko suuri a-put-komento onnistuneesti. a-check hyväksyy samat komentorivivalinnat kuin a-put.
Esimerkiksi jos aineisto ladataan palveluun komennolla:
Palveluunlataus voidaan tarkistaa komennolla: Komento a-check vertaa palveluun ladattavien kohteiden nimiä Allaksessa oleviin vastaaviin objekteihin. Tiedostot tai hakemistot, joille ei löydy kohdeobjektia Allaksesta, raportoidaan ja tallennetaan tiedostoon: missing_bucket-name_number. Jos jokin yllä olevien esimerkkikomentojen objekteista puuttuisi,a-check listaisi puuttuvat tiedostot ja hakemistot tiedostoon missing_job123_67889 (lopussa oleva numero on
vain satunnainen numero).
Tätä puuttuvien kohteiden tiedostoa voidaan käyttää a-put-komennon valinnan --input-list kanssa epäonnistuneen palveluunlatausprosessin jatkamiseen:
Huomaa, että a-check ei tarkista, onko objektin varsinainen sisältö oikea. Se tarkistaa vain objektien nimet, jotka voivat olla peräisin muistakin lähteistä.
Tarkistamisen lisäksi a-check-komentoa voidaan käyttää a-put-komennon "dry-run"-testiin, jotta näet, mitä objekteja luodaan tai korvataan ennen varsinaisen a-put-komennon suorittamista.
a-list
a-list-komentoa käytetään Allakseen tallennettujen ämpärien ja objektien nimien näyttämiseen. a-list on suunniteltu käytettäväksi a-put-komennolla palveluun ladattujen objektien kanssa, mutta se näyttää myös muilla työkaluilla palveluun ladatut objektit. Se ei kuitenkaan näytä a-put-komennon luomia ameta-metadatatiedostoja, jotta objektien listaukset pysyvät lyhyempinä.
a-list-esimerkkejä
Listaa kaikki projektiin kuuluvat ämpärit:
Näytä ämpärin sisältämät objektit: Objektin nimen osan kirjoittaminen listaa objektien osajoukon: Yksityiskohtaisempi listaus, joka sisältää objektin koon ja päivämäärän, saadaan valinnalla-l
Valinta -d saa a-list-komennon tulkitsemaan objektinimissä olevat /-merkit pseudokansioiden erottimiksi.
a-publish
a-publish kopioi tiedoston Allakseen ämpäriin, johon voidaan päästä julkisesti käsiksi. Näin kuka tahansa, jolla on
palveluun ladatun dataobjektin osoite (URL), voi lukea ja ladata datan verkkoselaimella tai työkaluilla kuten wget ja curl.
a-publish toimii samankaltaisesti kuin a-put, mutta siinä on joitakin eroja:
1) a-publish voi ladata palveluun vain tiedostoja, ei hakemistoja.
2) Kohdeämpärin käyttöoikeudet asetetaan niin, että se on kaikkien käyttäjien saatavilla vain luku -tilassa.
Perussyntaksi:
Oletusarvoisesti tiedosto ladataan palveluun ämpäriin username-projectNumber-pub. Voit määrittää muita ämpärinimiä valinnalla -b. Huomaa, että tämä komento tekee kaiken kohdeämpärissä olevan datan julkisesti saataville, mukaan lukien data, joka on aiemmin ladattu palveluun kyseiseen ämpäriin.Dataobjektin julkinen URL on:
https://a3s.fi/username-projectNumber-pub/object_name
a-publish-komennolla palveluun ladattu objekti voidaan poistaa Allaksesta komennolla a-delete_.
Esimerkkisessio a-publish-komennolla, jossa dokumentti presentation.pdf ladataan palveluun Allaksen oletusjulkiseen ämpäriin:
$ a-publish presentation.pdf
Files to be uploaded: presentation.pdf
Bucket: kkayttaj-1234567-pub
Processing: presentation.pdf
Checking total size of presentation.pdf. Please wait.
Uploading data to allas.
Transferred: 4.188M / 4.188 MBytes, 100%, 7.700 MBytes/s, ETA 0s
Errors: 0
Checks: 0 / 0, -
Transferred: 1 / 1, 100%
Elapsed time: 500ms
Confirming upload...
presentation.pdf OK
Adding metadata for uploaded presentation.pdf
presentation.pdf uploaded to kkayttaj-1234567-pub
Publick link: https://a3s.fi/kkayttaj-1234567-pub/presentation.pdf
Upload ready
a-flip
a-flip on työkalu yksittäisten tiedostojen saattamiseen väliaikaisesti saataville internetin kautta. Se on tarkoitettu tilanteisiin, joissa
haluat tehdä tiedostosta kopion näkyväksi internetissä lyhyeksi aikaa, esimerkiksi kopiointia varten toiselle alustalle, jota jaat työtoverin kanssa.
a-flip kopioi tiedoston Allakseen ämpäriin, johon voidaan päästä julkisesti käsiksi. Näin kuka tahansa, jolla on
palveluun ladatun dataobjektin osoite (URL), voi lukea ja ladata datan verkkoselaimella tai työkaluilla kuten wget ja curl.
a-flip toimii samankaltaisesti kuin a-publish, mutta siinä on joitakin eroja:
- Vain ennalta määritettyä ämpärinimeä (username-projectNumber-flip) voidaan käyttää.
- Suorituksen yhteydessä se tarkistaa flip-ämpärin sisällön ja poistaa objektit, jotka ovat yli kaksi päivää vanhoja.
Perussyntaksi:
Tiedosto ladataan palveluun ämpäriin username-projectNumber-flip. Palveluun ladatun objektin URL:a-find
Komento a-find listaa ja paikantaa dataa, joka on ladattu palveluun Allakseen a-put-komennolla.
Perussyntaksi:
Hakutermiä verrataan niiden tiedostojen nimiin ja alkuperäisiin polkuihin, jotka on ladattu palveluun Allakseen, ja vastaavat objektit raportoidaan (mutta niitä ei ladata).
Hakutermi käsitellään säännöllisenä lausekkeena, jossa joillakin merkeillä, esimerkiksi pisteellä (.), on erityinen merkitys. Samaa säännöllisten lausekkeiden syntaksia käytetään esimerkiksi komennoissa grep, awk ja sed. Yleisimmät erikoismerkit:
- Piste (.) tarkoittaa mitä tahansa yksittäistä merkkiä.
- ^ merkitsee rivin alkua.
- $ merkitsee rivin loppua.
- [ ] vastaa mitä tahansa hakasulkeiden sisällä olevaa merkkiä. Esimerkiksi [abc] vastaisi merkkiä a, b tai c.
- [^ ] vastaa mitä tahansa merkkiä paitsi hakasulkeiden sisällä olevia merkkejä.
Esimerkiksi [^abc] valitsisi kaikki rivit, jotka sisältävät muita merkkejä kuin a, b ja c. - * vastaa nollaa tai useampaa edeltävää merkkiä tai lauseketta.
\{n,m\}vastaa edeltävän merkin tai lausekkeen n:ää–m:ää esiintymää.
Valinnat:
- -a, --all Oletusarvoisesti haetaan vain
a-put-komennon käyttämiä vakioämpäreitä. Valinta--allmäärittää, että kaikki projektin ämpärit sisällytetään hakuun. - -f, --files Listaa objektinimien lisäksi objektien sisällä olevien vastaavien tiedostojen nimet.
- -p,--project project_ID Hae osumia määritetyn projektin ämpäreistä nykyisin määritetyn projektin sijaan.
- -b, --bucket bucket_name Oletusarvoisesti haetaan kaikista
a-put-komennon käyttämistä oletusämpäreistä. Valinta -bucket mahdollistaa yhden ämpärin määrittämisen hakua varten. Käytä tätä valintaa myös silloin, kun olet tallentanut dataa ämpäriin, jolla on epästandardi nimi. - -s, -silent Tulosta vain objektien nimet ja osumien määrä. Jos valintaa -f käytetään, tulosta objektin nimi ja vastaavat tiedostonimet samalla rivillä.
a-info
Komennolla a-info voit saada tietoa aineistosta, joka on ladattu palveluun Allakseen a-put-komennolla.
a-get
Tätä työkalua käytetään sellaisen datan lataamiseen, joka on ladattu Allas-palveluun a-put-komennolla.
Perussyntaksi:
-target.
Valinnat:
- -p, --project project_ID Hae data määritetyn projektin ämpäreistä nykyisin määritetyn projektin sijaan.
- -f, --file file_name Hae vain tietty tiedosto tai hakemisto tallennetusta aineistosta. Huom: Määritä tiedoston tai hakemiston koko polku tallennetun objektin sisällä.
- -d --target_dir
Jos tämä valinta on määritetty, luodaan uusi kohdehakemisto ja data haetaan sinne. - -t --target_file
Määritä tiedostonimi palvelusta ladattavalle objektille. - -l --original_location Hae data takaisin alkuperäiseen sijaintiin hakemistorakenteessa.
- --asis Lataa objekti ilman tar-tiedostojen purkamista ja zst-pakatun datan purkamista.
- --s3s3cmd Käytä datan hakemiseen S3-protokollaa ja s3cmd-komentoa Swift-protokollan ja rclone-komennon sijasta.
Tällä hetkellä a-get voi ladata vain yhden objektin kerrallaan. Jos sinun täytyy ladata suuri määrä objekteja, sinun on käytettävä silmukoita. Esimerkiksi kaikkien ämpärissä bucket_123 olevien objektien lataamiseen voisit käyttää komentoja:
#make a list of objects
a-list bucket_123 > object_list_bucket123
#use the list in for loop
for ob in $(cat object_list_bucket123)
do
a-get $ob
done
#remove the object list
rm object_list_bucket123
a-delete
a-delete-komentoa käytetään poistamaan dataa, joka on ladattu Allas-palveluun a-put-komennolla.
Komennon perussyntaksi on:
Oletusarvoisesti a-delete pyytää käyttäjää vahvistamaan objektin poistamisen. Tämä tarkistus voidaan ohittaa valinnalla -f.
Jos haluat poistaa ämpärin, voit käyttää valintaa --rmb. Oletusarvoisesti a-delete --rmb poistaa vain tyhjät ämpärit. Jos haluat poistaa ei-tyhjän ämpärin, sinun on lisättävä komentoon valinta --FORCE.
a-access
Oletusarvoisesti vain projektin jäsenet voivat lukea ja kirjoittaa ämpärissä olevaa dataa. Projektin jäsenet voivat myöntää ämpärille ja sen sisältämille objekteille luku- ja kirjoitusoikeuksia muille Allas-projekteille tai tehdä ämpäristä julkisesti internetin kautta saavutettavan.
a-access on työkalu Allaksen ämpärin käyttöoikeuksien hallintaan (swift-protokolla).
Syntaksi
Valinnat:- +r, +read
Myönnä projektille lukuoikeus ämpäriin. - +w, +write
Myönnä projektille kirjoitusoikeus ämpäriin. - +rw, +read-write
Myönnä projektille luku- ja kirjoitusoikeus ämpäriin. - -r, -read
Poista lukuoikeus ämpäristä. - -w, -write
Poista kirjoitusoikeus ämpäristä. - -rw, -read-write
Poista projektilta luku- ja kirjoitusoikeus ämpäriin. - +p, +public Anna ämpärille julkinen vain luku -käyttöoikeus.
- -p, -public Poista ämpärin julkinen vain luku -käyttöoikeus.
Esimerkiksi jotta projektin project_2001234 jäsenille annetaan vain luku -oikeus ämpäriin my_data_bucket, voit käyttää komentoa:
Käyttöoikeudet asetetaan samalla tavalla myös vastaavaan segments-ämpäriin.Huomaa, että ämpärien listaustyökalut eivät näytä muiden projektien ämpärien nimiä, eivät edes silloin, kun projektilla on ämpäriin luku- ja/tai kirjoitusoikeus.
Esimerkiksi tässä tapauksessa käyttäjä, joka kuuluu projektiin project_2001234, ei näe my_data_bucket-ämpäriä komennon tuottamassa ämpärilistassa:
mutta käyttäjä voi silti listata tämän ämpärin sisällön komennolla:Ja ladata objekteja ämpäristä komennolla
a-get.
a-access hallitsee käyttöoikeuksia vain projektin ja ämpärin tasolla.
Käytä komentoa swift post monipuolisempaan käyttöoikeuksien hallintaan.
Jos suoritat a-access-komennon ämpärille ilman mitään muutosvalintoja,
se tulostaa ämpärin nykyiset asetukset.
a-komentojen asetusten määrittäminen
Käyttäjä voi muokata a-komentojen oletusasetuksia tekemällä kotihakemistoonsa asetustiedoston nimeltä .a_tools_conf. Tässä tiedostossa voit asettaa oletusarvoja monille toiminnoille, jotka määritetään a-put-komennon valinnoilla.
Esimerkiksi jos työskentelet enimmäkseen tiedostojen kanssa, jotka hyötyisivät pakkauksesta, saatat haluta käyttää a-put-komennon valintaa --compress. Jos haluat tämän oletusasetukseksi, voit luoda tiedoston .a_tools_conf,
joka sisältää asetuksen:
Voit tarkistaa yleisimmin käytetyt asetukset tästä esimerkkitiedostosta .a_tools_conf. Kopioi esimerkkitiedosto kotihakemistoosi ja poista kommenttimerkki sekä määritä ne muuttujat, joita haluat käyttää.