Hyppää sisältöön

Miten voin liittää Allas-S3-ämpärini cPoudassa toimivaan virtuaalikoneeseen

Yhdistämällä cPoudan pilviympäristön ja Allas-tallennusympäristön voit rakentaa skaalautuvia datanhallintaympäristöjä. Tämä dokumentti näyttää yhden esimerkin siitä, miten voit yhdistää nämä kaksi palvelua liittämällä ämpärin Altaasta 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 komennolla:

    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 nämä 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 on 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 komennolla:

    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 vaihtamaan 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 antamaan 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. Voit nyt tarkastella, ladata ja siirtää tiedostoja tähän ämpäriin 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 siirtäminen:
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 virtuaalikoneeseesi niin, että se näkyy "liitettynä levynä". Voit käyttää siihen 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 nähdä 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 komennolla:

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

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