BARMAN

Da wiki.gienne.cloud.

!! ATTENZIONE !!


Per chissà quale motivo nelle installazioni di Postgres CentOs 6 e PostGres non c'e' nel path i binari di alcuni componenti di postgres. Per inserire il path in modo "corretto":


echo "pathmunge /usr/pgsql-9.6/bin" > /etc/profile.d/postgres.sh



# .bash_profile 
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs 
 PATH=$PATH:$HOME/bin
export PATH


SULLA MACCHINA DB:

Utente di accesso al Management DB:

createuser -s barman

Utente di streaming replication con autorizzazione Replication:

createuser --replication streaming_barman

Da psql:

ALTER USER barman WITH PASSWORD 'orione';
ALTER USER streaming_barman WITH PASSWORD 'orione'

Esempio di HBA:

  1. TYPE DATABASE USER ADDRESS METHOD
host    all             barman          10.240.1.252/32            password 
host    replication     streaming_barman 10.240.1.252/32           password
ALTER USER barman WITH PASSWORD 'orione';
ALTER USER streaming_barman WITH PASSWORD 'orione';


SULLA MACCHINA BARMAN:

yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-redhat96-9.6-3.noarch.rpm -y
yum install yum install postgresql96-server postgresql96-contrib -y
yum install barman -y

Consiglio: Aggiungere nelle prime installazioni nel file host l'ip del server con risoluzione di pg :D

10.240.1.114 SRV01

Test di accesso all'utente di DB:

psql -c 'SELECT version()' -U barman -h SRV01 postgres

Esempio di Output:

"" PostgreSQL 9.6.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17), 64-bit ""


Test di accesso all'utente di replication:

psql -U streaming_barman -h SRV01 -c "IDENTIFY_SYSTEM" replication=1

Esempio di Output:

"" psql: FATALE:  il numero di richieste di connessioni di standby supera max_wal_senders (attualmente 0) ""

Attivazione automatica della connessione nel profilo di barman:

vi .pgpass 
*:*:*:barman:orione
*:*:*:streaming_barman:orione
chmod 0600 .pgpass



SULLA MACCHINA POSTGRES - da Utente Postgres:

Modificare su postgresql.conf

""Numero di massimo di connessioni per lo streaming di backup/replication"" 
max_wal_senders = 2

""Numero di Replication Slot necessari minimi""
max_replication_slots = 2
""Attivazione della replicazione"" 
 wal_level = replica


SULLA MACCHINA DI BACKUP:


File di configurazione di connessione: Es.: /etc/barman.d/pg.conf


[SRV01]
description = "My First Server"
conninfo = host=pg  port=5432 user=barman dbname=postgres
backup_method = postgres
streaming_conninfo = host=hostsrv01  port=5432 user=streaming_barman dbname=postgres
streaming_archiver = on
slot_name = barman

Inizializzione slot da farsi la prima volta di installazione di Barman:

barman receive-wal --create-slot SRV01

Attivazione Reciver (sono da avere attivi ogni volta che si fà un task di backup):

barman cron

Lancio del primo get del Recevice dei WAL:

barman receive-wal SRV01 & 

Lancio del backup:

barman backup SRV01

Utility per forzare il checkpoint.

barman switch-xlog --force SRV01


Restore esempio di lancio:

barman recover main 20161117ET220002 /tmp