Histórico da Página
Informações | ||
---|---|---|
| ||
Para utilizar a ferramenta Barman, você precisa ter um ambiente em PostgreSQL. Para ambientes de produção, utilize o PostgreSQL em Linux. |
...
Nesta página são demonstrados os passos com duas máquinas diferentes, uma contendo a instalação padrão do PostgreSQL para seu ambiente e outra contendo a configuração do Barman. Note que nos comandos de exemplo, estas são referidas como vm-postgresql01 e vm-barman, respectivamente.
No servidor PostgreSQL
Altere o arquivo /etc/hosts e inclua o servidor do Barman:
...
Após isto, é necessária a criação dos usuários barman e streaming_barman.
Bloco de código | ||
---|---|---|
| ||
createuser -s -P barman createuser -s -P streaming_barman |
...
Também é necessária a alteração no arquivo de controle dos métodos de autenticação (pg_hba.conf).
Bloco de código | ||
---|---|---|
| ||
vim /var/lib/pgsql/12/data/pg_hba.conf |
...
Nota | ||
---|---|---|
| ||
Verifique com a área de segurança de rede , qual o melhor formato de configuração para melhor segurança do ambiente, de acordo com a política de cada empresa. |
...
Bloco de código |
---|
systemctl restart postgresql-12.service |
...
No servidor Barman
Altere o arquivo /etc/hosts e inclua o servidor vmpostgresql:
...
Crie o arquivo de senhas (/var/lib/barman), e de a permissão necessária:
Bloco de código | ||
---|---|---|
| ||
vim .pgpass |
Bloco de código |
---|
vm-postgresql01:5432:postgres:barman:Barman@123
vm-postgresql01:5432:postgres:streaming_barman:Barman@123
## Permissão no arquivo
chmod 0600 .pgpass |
Configurar barman.conf:
Bloco de código |
---|
vim /etc/barman.conf
compression = gzip |
Realize a cópia do arquivo: streaming-server.conf-template, para acesso ao servidor do postgresql:
Bloco de código | ||
---|---|---|
| ||
cp streaming-server.conf-template vm-postgresql.conf |
Altere o arquivo que foi copiado:
Bloco de código |
---|
[vm-postgresql] conninfo = host=vm-postgresql user=barman dbname=postgres streaming_conninfo = host=vm-postgresql user=streaming_barman streaming_backup_name = barman_streaming_backup create_slot = auto streaming_archiver_name = barman_receive_wal streaming_archiver_batch_size = 50 path_prefix = "/usr/pgsql-12/bin" |
Para realizar um backup no Servidor Barman, utilize o seguinte comando:
Bloco de código |
---|
[barman@vmbarman ~]$ barman backup vmpostgresql |
Ao realizar o comando, o resultado será apresentado na tela:
WARNING: |
...
No |
...
backup |
...
strategy |
...
set |
...
for |
...
server |
...
'vmpostgresql' |
...
(using |
...
default |
...
'exclusive_backup'). |
...
WARNING: |
...
The |
...
default |
...
backup |
...
strategy |
...
will |
...
change |
...
to |
...
'concurrent_backup' |
...
in |
...
the |
...
future. |
...
Explicitly |
...
set |
...
'backup_options' |
...
to |
...
silence |
...
this |
...
warning. |
...
Starting |
...
backup |
...
using |
...
rsync-exclusive |
...
method |
...
for |
...
server |
...
vmpostgresql |
...
in |
...
/var/lib/barman/vmpostgresql/base/20220304T120404 |
...
Backup |
...
start |
...
at |
...
LSN: |
...
0/C000028 |
...
(00000001000000000000000C, |
...
00000028) |
...
Starting |
...
backup |
...
copy |
...
via |
...
rsync/SSH |
...
for |
...
20220304T120404 |
...
Copy |
...
done |
...
(time: |
...
1 |
...
second) |
...
Asking |
...
PostgreSQL |
...
server |
...
to |
...
finalize |
...
the |
...
backup. |
...
Backup |
...
size: |
...
24.5 |
...
MiB |
...
Backup |
...
end |
...
at |
...
LSN: |
...
0/C000100 |
...
(00000001000000000000000C, |
...
00000100) |
...
Backup |
...
completed |
...
(start |
...
time: |
...
2022-03-04 |
...
12:04:05.098223, |
...
elapsed |
...
time: |
...
2 |
...
seconds) |
...
Processing |
...
xlog |
...
segments |
...
from |
...
file |
...
archival |
...
for |
...
vmpostgresql 00000001000000000000000B 00000001000000000000000C 00000001000000000000000C.00000028.backup |
Liste o Para listar os backups realizados com , execute o seguinte comando:
Bloco de código |
---|
[barman@vmbarman barman.d]$ barman list-backup vmpostgresql vmpostgresql 20220304T120404 - Fri Mar 4 |
O resultado será similar a isto:
vmpostgresql 20220304T120404 - Fri Mar 4 12:04:06 |
...
2022 |
...
- |
...
Size: |
...
24.5 |
...
MiB |
...
- |
...
WAL |
...
Size: |
...
96.5 |
...
KiB |
...
vmpostgresql |
...
20220303T210358 |
...
- |
...
Thu Mar 3 21:04:00 |
...
2022 |
...
- |
...
Size: |
...
24.5 |
...
MiB |
...
- |
...
WAL |
...
Size: |
...
32.2 |
...
KiB |
...
vmpostgresql |
...
20220303T210310 |
...
- |
...
Thu Mar 3 21:03:11 |
...
2022 |
...
- |
...
Size: |
...
24.5 |
...
MiB |
...
- |
...
WAL |
...
Size: |
...
32.2 |
...
KiB |
...
vmpostgresql |
...
20220303T210206 |
...
- |
...
Thu Mar 3 21:02:07 |
...
2022 |
...
- |
...
Size: |
...
24.5 |
...
MiB |
...
- |
...
WAL |
...
Size: |
...
32.2 |
...
KiB |
É possível listar os detalhes de um backup específico com o comando a seguir:
Bloco de código | ||
---|---|---|
| ||
barman [barman@vm-barman ~]$ barman show-backup vm-postgresql01 20220607T193746 Backup 20220607T193746: Server Name : vm-postgresql01 System Id : 7106500250670266068 Status : DONE PostgreSQL Version : 120011 PGDATA directory : |
Mais detalhes sobre o backup feito:
Backup 20220607T193746: Server Name : vm-postgresql01 System Id : 7106500250670266068 Status : DONE PostgreSQL Version : 120011 PGDATA directory : /var/lib/pgsql/12/data |
...
Base backup information: Disk usage : 23.6 MiB (23.6 |
...
MiB |
...
with |
...
WALs) |
...
Incremental size : 23.6 |
...
MiB |
...
(-0.00%) |
...
Timeline : 1 Begin WAL : 000000010000000000000009 End WAL : 000000010000000000000009 WAL number : 1 WAL compression ratio: 99.90% Begin time : 2022-06-07 19:37:46.705044+00:00 |
...
End time : 2022-06-07 |
...
19:37:47.295758+00:00 |
...
...
Copy time : less than one second Estimated throughput : 40.6 MiB/s Begin Offset : 40 End Offset : 0 Begin LSN : 0/9000028 End LSN : 0/A000000 WAL information: No of files : 0 Disk usage : 0 B Last available : 000000010000000000000009 Catalog information: Retention Policy : not enforced Previous Backup : 20220607T193735 Next Backup : - (this is the latest base backup) |