Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

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