Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

Miten liitän Allas S3 -ämpärini cPoudassa toimivaan virtuaalikoneeseen

cPouta-pilviympäristön ja Allas-tallennusympäristön yhdistäminen mahdollistaa skaalautuvien datanhallintaympäristöjen rakentamisen. Tässä dokumentissa näytetään yksi esimerkki siitä, miten voit yhdistää nämä kaksi palvelua liittämällä Altaasta ämpärin Ubuntu 22.04:ään (testattu myös Ubuntu 20.04:llä ja 18.04:llä) tai Centos7-pohjaiseen virtuaalikoneeseen, joka toimii cPoudassa.

OpenStackin, s3cmd:n ja s3fs:n asentaminen

Ubuntu 22.04 LTS:ssä (toimii myös Ubuntu 20.04:ssä ja 18.04:ssä)

  • Kun olet käynnistänyt Ubuntu-pohjaisen virtuaalikoneen cPoudassa, avaa pääteyhteys virtuaalikoneeseen ja päivitä se komennolla:

    sudo apt update
    

Warning

Vanhemmissa Ubuntu-versioissa on vanhempia ja käytöstä poistuneita Python-versioita. On suositeltavaa käyttää uusinta Poudassa saatavilla olevaa Ubuntu-versiota.

  • Asenna sitten OpenStack-asiakasohjelma seuraavasti:

    sudo apt install python3-pip python3-dev python3-setuptools
    sudo pip install --upgrade pip
    sudo pip install python-openstackclient
    

    Info

    Ubuntu 18.04:ssä kirjoita seuraavat komennot:

    sudo apt install python3-pip python3-dev python3-setuptools
    sudo pip3 install --upgrade pip
    sudo pip install python-openstackclient --ignore-installed PyYAML
    

    Jos jätät pois --ignore-installed PyYAML, saat virheilmoituksen:

    Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
    
    Se pitäisi olla asennettu distutils-työkalulla, joten poistoprosessi ei voi varmistaa, mitkä tiedostot kuuluvat siihen.

  • Asenna seuraavaksi s3cmd- ja s3fs-komennot virtuaalikoneellesi.

    sudo apt install s3cmd s3fs
    

Centos7:ssä (ylläpitopäivitysten EOL 2024-06-30)

  • Kun olet käynnistänyt Centos7-pohjaisen virtuaalikoneen cPoudassa, avaa pääteyhteys virtuaalikoneeseen ja päivitä se komennolla:

    sudo yum update
    
  • OpenStackin ja s3cmd:n voi sitten asentaa seuraavasti:

    sudo yum install python3 python3-devel wget
    sudo python3 -m pip install --upgrade pip
    sudo python3 -m pip install python-openstackclient
    sudo yum install s3cmd
    
  • s3fs-fuse voidaan asentaa tällä komennolla:

    sudo yum install s3fs-fuse
    

Allaksen määrittäminen ja käyttö

Käytä s3cmd:tä tiedostojen lukemiseen ja kirjoittamiseen

Kun openstack, s3cmd ja s3fs on asennettu, lataa ja suorita poutaos_configure-työkalu määrittääksesi s3cmd:n käyttämään cPouta-projektiasi. Voit käyttää tätä työkalua myös vaihtaaksesi eri Allas-projektien välillä, jos sinulla on niitä useita.

wget https://a3s.fi/tools/poutaos_configure
chmod u+x poutaos_configure
./poutaos_configure

poutaos_configure kysyy ensin CSC-käyttäjätunnustasi ja salasanaasi. Näet CSC-käyttäjätunnuksesi MyCSC-profiili -sivulla, ja voit myös vaihtaa salasanasi siellä. Sen jälkeen työkalu listaa Allas-projektisi ja pyytää sinua täyttämään käytettävän projektin. Lopuksi se kysyy chunk size -arvoa; on suositeltavaa jättää oletusarvo käyttöön.

Tämän jälkeen voit käyttää Allas-projektisi tallennusaluetta s3cmd-komennoilla. Nyt voit nähdä, ladata palvelusta ja ladata palveluun tiedostoja tässä ämpärissä s3cmd:llä.

  • Listaa kaikki ämpärisi:
$ s3cmd ls s3://
2022-10-17 07:03  s3://data-europe
2020-09-17 11:12  s3://images-sky
2020-11-06 13:56  s3://case_1
  • Oletetaan, että sinulla on jo Altaassa ämpäri nimeltä case_1 ja että tässä ämpärissä on joitakin dataobjekteja (eli tiedostoja).
$ s3cmd ls s3://case_1
2022-10-17 07:14     67213268  s3://case_1/file1.txt
  • Tiedoston noutaminen:
s3cmd get s3://case_1/file1.txt
  • Uuden tiedoston lataaminen palveluun:
s3cmd put file2.txt s3://case_1/

Tämä on suositeltu tapa käyttää Allasta S3-protokollalla komentorivikäyttöliittymästä. On kuitenkin myös mahdollista liittää ämpäri virtuaalikoneeseen niin, että se näkyy "liitettynä levynä". Tähän voit käyttää s3fs:ää.

Käytä s3fs:ää kansion liittämiseen virtuaalikoneeseesi

  1. Tee tätä varten ensin tyhjä hakemisto (esimerkiksi os_case_1), jota käytetään liitospisteenä:

    mkdir os_case_1
    

    Info

    Mitä tahansa tyhjää hakemistoa voidaan käyttää liitospisteenä

  2. Luo kotihakemistoosi .passwd-s3fs-tiedosto. Tiedoston muodon on oltava: ACCESS_KEY_ID:SECRET_ACCESS_KEY, ja sillä on oltava 600-oikeudet. (Projektisi on oltava sourcettu: source project_xxxxxxx)

    $ openstack ec2 credentials list -f value | grep $OS_PROJECT_ID | tail -1 |\
       awk '{print $1":"$2}' >.passwd-s3fs
    Password:
    $ chmod 600 .passwd-s3fs
    
  3. käytä sitten s3fs-komentoa ämpärin liittämiseen.

    s3fs case_1 os_case_1 -o passwd_file=~/.passwd-s3fs -o url=https://a3s.fi/ \
        -o use_path_request_style -o umask=0333,uid=$(id -u)
    

    Info

    Komennon id -u palauttaman uid-arvon pitäisi olla oletuskäyttäjällä 1000

    Info

    Umask-arvo 0333 liittää tiedostot vain luku -tilassa. Jos haluat liittää ne luku- ja kirjoitustilassa, käytä sen sijaan arvoa 0027

  4. Tämän jälkeen sinun pitäisi pystyä näkemään liitetyn ämpärin objektit tiedostoina. Kokeile esimerkiksi komentoa:

    ls -l os_case_1
    

    Tulosteen pitäisi olla sama kuin komennolla s3cmd ls s3://case_1

    Info

    Voit myös tarkistaa liitoksen kirjoittamalla komennon df -h

  5. Kun olet valmis, voit irrottaa kansion seuraavasti:

    sudo umount os_case_1
    

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta