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 varmuuskopioida Postgres-tietokanta Altaaseen

Tässä ohjeessa näytämme, miten Rahtissa toimiva PostgreSQL- tai MariaDB-tietokanta varmuuskopioidaan Altaaseen. Yleinen ajatus on käyttää CronJob-resurssia, joka luo tietokannasta vedostiedoston ja lataa sen Altaaseen.

Warning

Tämä on yksinkertainen esimerkki: varmuuskopion SQL-tiedostoa ei pakata, tarkistussummia ei varmenneta, salausta ei käytetä, ... tässä näytetään vain perusajatus siitä, miten varmuuskopio luodaan ja tallennetaan objektiliikenteeseen.

GitHub-repositorion osoitteen löydät täältä. Voit vapaasti kloonata sen ja muokata sitä tarpeidesi mukaan.

Vaatimukset

  • PostgreSQL- tai MariaDB-tietokanta. Sinulla täytyy olla siihen lukuoikeus. Jos haluat ottaa käyttöön uuden tietokannan Rahtissa, voit käyttää katalogissa tarjolla olevaa Postgres- tai MariaDB-mallipohjaa. Myös ulkoisen tietokannan varmuuskopiointi on mahdollista, mutta kaikki ohjeet olettavat, että tietokanta toimii Rahtissa samassa nimiavaruudessa, jossa varmuuskopiointiprosessi suoritetaan.

  • Salaisuus, joka saa arvon $DBHOST (joko postgresql tai mariadb) ja sisältää seuraavat avaimet: database-user, database-password ja database-name. Tämä salaisuus luodaan rclonen mallipohjassa, mutta se täytyy luoda käsin, jos Postgres tai MariaDB toimii Rahdin ulkopuolella.

  • ACCESS_KEY ja SECRET_KEY Altaaseen pääsyä varten. Saat ne tekemällä seuraavasti:

pip install python-openstackclient

Siirry sitten kohtaan OpenRC download, lataa OpenStack RC File v2.0, suorita source sille ja anna salasanasi pyydettäessä:

$ source ~/Downloads/project_XXXXXXX-openrc.sh
Please enter your OpenStack Password for project project_XXXXXXX as user <USER>:

Lopuksi voit luoda käyttöoikeustiedot:

openstack ec2 credentials create

Tai jos olet jo luonut käyttöoikeustiedot, voit näyttää ne näin:

openstack ec2 credentials list -f yaml
  • Allas-ämpäri/kontti. Voit luoda sen selainkäyttöliittymässä tai käyttämällä rclonea.

Lisää CronJob

Ensin sinun täytyy kloonata repositorio, jossa mallipohja on, ja lisätä se siihen Rahdin nimiavaruuteen, jossa Postgres tai MariaDB toimii:

git clone https://github.com/cscfi/rclone-template.git -b psql
cd rclone-template
oc create -f rclone.yaml

Kun mallipohja on lisätty nimiavaruuteesi, sinun tarvitsee vain ottaa se käyttöön:

$ oc process rclone \
    ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
    SECRET_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \
    BUCKET_DIR=existing_bucket/existing/path \
    DBHOST=postgresql \ # tai mariadb
    SCHEDULE="0 4 * * *" | oc create -f -

Tämä suorittaa varmuuskopiointiprosessin joka päivä klo 4.00. Voit muuttaa aikataulua; katso viitteeksi https://en.wikipedia.org/wiki/Cron. Varmuuskopioita ei ylikirjoiteta, koska mukaan otetaan varmuuskopioinnin aloituspäivä ja -aika.

Lisätietoa varmuuskopiointi- ja palautuskomentoihin löydät täältä:

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta