Fazendo backup do PostgreSQL usando Amanda Enterprise

Fazendo backup do PostgreSQL usando Amanda Enterprise

Deve ser uma das seguintes versões do PostgreSQL:

  • PostgreSQL 8.x, 9.x
  • PostgreSQL Plus 8.3

O cliente rodando PostgreSQL deve ter GNU tar 1.23 ou posterior.
 

Mudanças no Amanda Enterprise Server
 

Se o diretório temporário de backup e o diretório de estado forem diferentes dos valores padrão Amanda, edite /etc/zmanda/zmc/zmc_aee/zmc_user_dumptypes para adicionar as seguintes linhas a app_ampgsql_user:

  • property "TMPDIR" "Path_to_temp_dir"
  • property "STATEDIR" "Path_to_state_dir"

Mudanças para o cliente Amanda executando o servidor PostgreSQL
 

Crie um diretório para o seu registro de gravação antecipada e certifique-se de que o amandabackup possa ler / gravar:

# mkdir /var/lib/amanda/postgres
# chown amandabackup:post
gres /var/lib/amanda/postgres
 

Edite o arquivo de configuração PostgreSQL ($ pgdatadir / postgres.conf).
 

archive_mode = on
archive_command = 'cp %p /var/lib/amanda/postgres/%f'
wal_level = archive # only required on Postgres 9.x or greater, acceptable options being archive or hot_standby

 

Editar amanda-client.conf arquivo de configuração, isso pode estar em /etc/amanda/backup_set_name/amanda-client.conf (pode ser necessário criar o diretório backup_set_name) ou globalmente em /etc/amanda/amanda-client.conf. Explicação das configurações abaixo.
 

property "PG-DATADIR" "Path_to_PSQL_Data_Dir"
property "PSQL-PATH" "Path_to_PSQL_Binary"
property "PG-ARCHIVEDIR" "Path_to_PSQL_Archive_Dir"
property "PG-CLEANUPWAL" "Whether_to_clean_up_WAL_Yes_or_No"
property "PG-USER" "PostgreSQL_username"
property "PG-PASSWORD" "PSQL_Password"
property "PG-HOST" "hostname_or_directory_of_socket_file"
property "PG-PORT" "TCP_port_to_connect_to. Default: 5432"
property "PG-DB" "Database_name"

 

Para especificar parâmetros para mais de uma instância do PostgreSQL em um servidor, adicione um prefixo ao nome da propriedade que corresponde ao diretório de backup. Por exemplo:
 

property "PG-USER" "amandabackup"
torna-se:
property "/path/to/data/dir-PG-USER" "amandabackup"
 

Path_to_PSQL_Data_Dir
O caminho para o diretório de dados PostgreSQL.
 

Path_to_PSQL_Archive_Dir
O caminho para onde os segmentos WAL serão armazenados em cache pelo servidor PostgreSQL durante o backup e então arquivados pelo agente Zmanda Postgres. Não deve ser definido para o diretório pg_xlog do servidor PostgreSQL! Especifique um caminho fora do diretório de dados PostgreSQL onde o comando archive copiará os arquivos a serem armazenados entre as execuções de backup completo. O usuário PostgeSQL deve ter privilégios de leitura, gravação e execução neste diretório. Zmanda recomenda o uso de grupos de sistema para gerenciar permissões em vez de conceder acesso a todos os usuários, como adicionar o usuário amandabackup ao grupo Postgres. O caminho especificado deve ser o diretório de destino do archive_command no arquivo de configuração do PostgreSQL.
 

hostname_or_directory_of_socket_file
Especifique o nome do host (localhost se apropriado) ou o diretório onde um arquivo de socket está localizado. As entradas que começam com / são interpretadas como um diretório de arquivo de soquete (apenas o diretório, por exemplo, / tmp, não /tmp/.s.PGSQL.5432). Se um diretório for usado, o servidor PostgreSQL e o servidor de backup Amanda devem residir na mesma máquina.
 

Path_to_PSQL_Binary
O caminho para o arquivo executável binário PostgreSQL psql.
 

PostgreSQL_username
O usuário do banco de dados PostgreSQL com o qual se conectar, que deve ter privilégios de superusuário.
 

PSQL_Password
A senha do PostgreSQL.
 

Whether_to_clean_up_WAL
Se deve ou não remover arquivos de segmento WAL antigos durante backups completos. Os arquivos WAL são removidos do local PG_ARCHIVEDIR após a conclusão do backup completo. O padrão é sim.
 

Database_name
O banco de dados ao qual se conectar. O PG-USER deve ter credenciais para acessar este banco de dados. O valor padrão é “template1” que existe nas instalações padrão do PostgreSQL.
* Este não é o banco de dados para backup. Todos os bancos de dados no postgres servidor são copiados.
 

Crie uma função LOGIN do PostgreSQL chamada amandabackup com privilégios SUPERUSER e uma senha que corresponda a PG-PASSWORD. Por exemplo, o seguinte comando pode ser executado dentro do banco de dados PostgreSQL como um superusuário:
 

CREATE ROLE amandabackup WITH SUPERUSER LOGIN PASSWORD 'password';
 

Para permitir o acesso do Amanda Enterprise Server ao servidor PostgreSQL, modifique o arquivo pg_hba.conf Um exemplo que permitiria ao usuário amandabackup conectar-se a partir de qualquer IP em 10.0.0.x seria o seguinte:
 

TYPEDATABASEUSERCIDR-ADDRESSMETHOD
Hostallamandabackup10.0.0.0/25md5

Para mais informações, consultehttp://docs.zmanda.com/Project:Amanda_Enterprise_3.3/Zmanda_App_modules/PostgreSQL