Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
themeMidnight
titlepiilossa
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
languagebash
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
languagebash
themeMidnight
titlepiilossa
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
languagebash
titlepiilossa
# 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
languagebash
titlesiilossa
# Ä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
languagebash
titlepiilossa
# 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