...
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | piilossa |
---|
|
sudo -u barman barman check siilo # onko kaikki hyvin?
sudo -u barman barman backup siilo # tee base-varmuuskopio
sudo -u barman barman list-backup siilo # listaa varmuuskopiot
sudo -u barman barman recover siilo 20170902T162930 /tmp/foo # palauta varmuuskopio annettuun sijaintiin |
Siilo räjähti – Paniikkipalautus Nuolelle
Case: Siilo katosi maan päältä. Piilo toimii, varmuuskopiot tallessa. Hoida tietokannan ajantasaisin tila vaan johonkin jossa conikuvat.fi pääsee käsiksi siihen.
Järjestä barman@piilolle SSH-pääsy Nuolelle esim. omalle käyttäjätunnuksellesi (oma avain barman@piilon authorized_keysiin ja ssh -A barman@piilo).
Code Block |
---|
|
barman@piilo $ barman recover siilo 20181025T093714 --remote-ssh-command 'ssh japsu@nuoli.tracon.fi' /home/japsu/main
root@nuoli # curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
root@nuoli # cat > /etc/apt/sources.list/pgdg.list << EOF
deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
EOF
root@nuoli # apt update && apt install postgresql-11
root@nuoli # rm -rf /var/lib/postgresql/11/main
root@nuoli # mv /home/japsu/main /var/lib/postgresql/11/
root@nuoli # chown -R postgres:postgres /var/lib/postgresql/11/main
root@nuoli # cat >> /etc/postgresql/11/main/pg_hba.conf << EOF
# docker bridge
host all all 172.17.0.1/16 md5
EOF
root@nuoli # cat >> /etc/postgresql/11/main/postgresql.conf << EOF
listen_address = '*'
root@nuoli # sudo ufw allow from 172.17.0.1/16 to any port 5433
root@nuoli # service postgresql start |
Nyt voikin sit muuttaa Ansiblesta esim. edegal_postgresql_hostname = nuoli.tracon.fi:5433 ja deplata.
Tiettyyn ajanhetkeen palaaminen varmuuskopiosta
...
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
title | piilossa |
---|
|
sudo -u barman barman check siilo # näyttää parit FAILEDit
sudo -u barman barman receive-wal --create-slot siilo
sudo -u barman barman receive-wal --reset siilo
sudo -u barman barman check siilo # saattaa kestää muutaman sekunnin kunnes FAILEDit ovat vaihtuneet OK:ksi
sudo -u barman barman backup siilo |
pgAdmin4-hallintakäyttöliittymä
Tietokantojen hallintaan on asennettu pgAdmin4-käyttöliittymä seuraaviin osoitteisiin:
Pääsääntöisesti tietyllä koneella pyörivästä pgAdminista pääsee käsiksi samalla koneella pyörivään PostgreSQL:ään. Poikkeuksena Nuoli, jolta pääsee lisäksi Kurikalle.
Käyttäjätunnuksen ja salasanan löydät Ansible Vaultista (group_vars/all/vault) tai voit kysyä sen Japsulta.
...
PostgreSQL:n päivitys
Oletus: vanha versio 10, uusi versio 11, päivitettävä palvelin Siilo, varmuuskopiointipalvelin Piilo
Code Block |
---|
language | bash |
---|
title | piilossa |
---|
|
# eka on hyvä käydä ottaas täys varmuuskopio piilossa vanhalla versiolla
sudo -u barman barman backup siilo
# ja asentaas uuden version clientit ku vanhat ei oo yhteensopivia uuden serverin kanssa
sudo apt update
sudo apt upgrade
sudo apt install postgresql-client-11 |
Code Block |
---|
language | bash |
---|
title | siilossa |
---|
|
# ÄLÄ poista vanhaa versiota palvelimesta vielä tässä vaiheessa! Sen binäärejä tarvitaan rullaamaan kanna uuteen versioon.
sudo apt update
sudo apt upgrade
sudo apt install postgresql-11
# asennus loi tyhjän tietokannan, joka on tiellä. varmistathan että tässä on UUDEN version numero, ei vanhan
sudo pg_dropcluster 11 main
# ja sit me päivitetään
sudo pg_upgradecluster 10 main
# tässä vaiheessa on hyvä testaa että esim. https://conikuvat.fi toimaa
# sit voiki poistaa vanhan. varmista että tässä on VANHAN version numero, ei uuden
sudo pg_dropcluster 10 main
sudo apt purge postgresql-10 |
Code Block |
---|
language | bash |
---|
title | piilossa |
---|
|
# Sit pitäis vielä suostutella Barman jatkamaan varmuuskopiointia uudesta versiosta. Höhö lol mitenhän se tehdään.
sudo -iu barman
cd /var/lib/barman
mv siilo siilo-10
barman cron
barman switch-wal siilo
# Sit iteroidaan kunnes kaikki FAILEDit muuttuu OK:ks
barman status siilo
# Otetaan täys backup uudesta versiosta
barman backup siilo
# Lopuks hyvä tarkastaa vielä kaikki
for cmd in check status replication-status; do barman $cmd siilo; done |