Sauvegarder PostgreSQL avec Amanda Enterprise

Sauvegarder PostgreSQL avec Amanda Enterprise

Doit être l'une des versions suivantes de PostgreSQL:

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

Le client exécutant PostgreSQL doit avoir GNU tar 1.23 ou version ultérieure.
 

Modifications pour Amanda Enterprise Server
 

Si le répertoire temporaire de sauvegarde et le répertoire d'état sont différents des valeurs par défaut d'Amanda, modifiez /etc/zmanda/zmc/zmc_aee/zmc_user_dumptypes pour ajouter les lignes suivantes à app_ampgsql_user:

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

Modifications pour le client Amanda exécutant le serveur PostgreSQL
 

Créez un répertoire pour votre journal d'écriture anticipée et assurez-vous qu'amandabackup est capable de lire / écrire:

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

Editez le fichier de configuration 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

 

Modifier amanda-client.conf fichier de configuration, cela peut être soit dans /etc/amanda/backup_set_name/amanda-client.conf (peut avoir besoin de créer le répertoire backup_set_name) ou globalement à /etc/amanda/amanda-client.conf. Explication des paramètres ci-dessous.
 

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"

 

Pour spécifier les paramètres de plusieurs instances PostgreSQL sur un serveur, ajoutez un préfixe au nom de propriété qui correspond au répertoire de sauvegarde. Par example:
 

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

Path_to_PSQL_Data_Dir
Le chemin vers le répertoire de données PostgreSQL.
 

Path_to_PSQL_Archive_Dir
Le chemin vers l'emplacement où les segments WAL seront mis en cache par le serveur PostgreSQL pendant la sauvegarde, puis archivés par l'agent Zmanda Postgres. Cela ne doit pas être défini sur le répertoire pg_xlog du serveur PostgreSQL! Spécifiez un chemin en dehors du répertoire de données PostgreSQL où la commande archive copiera les fichiers à stocker entre les exécutions de sauvegarde complète. L'utilisateur PostgeSQL doit avoir des privilèges de lecture, d'écriture et d'exécution dans ce répertoire. Zmanda recommande d'utiliser des groupes système pour gérer les autorisations plutôt que d'accorder l'accès à tous les utilisateurs, comme l'ajout de l'utilisateur amandabackup au groupe Postgres. Le chemin spécifié doit être le répertoire cible de la commande_archive dans le fichier de configuration PostgreSQL.
 

hostname_or_directory_of_socket_file
Spécifiez le nom d'hôte (localhost si cela est approprié) ou le répertoire dans lequel se trouve un fichier socket. Les entrées commençant par / sont interprétées comme un répertoire de fichiers de socket (juste le répertoire, par exemple, / tmp, pas /tmp/.s.PGSQL.5432). Si un répertoire est utilisé, le serveur PostgreSQL et le serveur de sauvegarde Amanda doivent résider sur la même machine.
 

Path_to_PSQL_Binary
Le chemin vers le fichier exécutable binaire psql de PostgreSQL.
 

PostgreSQL_username
L'utilisateur de la base de données PostgreSQL sous lequel se connecter, qui doit disposer des privilèges de superutilisateur.
 

PSQL_Password
Le mot de passe PostgreSQL.
 

Whether_to_clean_up_WAL
Indique s'il faut ou non supprimer les anciens fichiers de segment WAL pendant les sauvegardes complètes. Les fichiers d'archive WAL sont supprimés de l'emplacement PG_ARCHIVEDIR une fois la sauvegarde complète terminée. La valeur par défaut est oui.
 

Database_name
La base de données à laquelle se connecter. Le PG-USER doit avoir des informations d'identification pour accéder à cette base de données. La valeur par défaut est «template1» qui existe dans les installations PostgreSQL par défaut.
* Ce n'est pas la base de données à sauvegarder. Toutes les bases de données du postgres serveur sont sauvegardés.
 

Créez un rôle LOGIN PostgreSQL appelé amandabackup avec les privilèges SUPERUSER et un mot de passe correspondant à PG-PASSWORD. Par exemple, la commande suivante peut être exécutée dans la base de données PostgreSQL en tant que superutilisateur:
 

CREATE ROLE amandabackup WITH SUPERUSER LOGIN PASSWORD 'password';
 

Pour permettre à Amanda Enterprise Server d'accéder au serveur PostgreSQL, modifiez le fichier pg_hba.conf.Un exemple qui permettrait à l'utilisateur amandabackup de se connecter à partir de n'importe quelle adresse IP dans 10.0.0.x serait le suivant:
 

TYPEDATABASEUSERCIDR-ADDRESSMETHOD
Hostallamandabackup10.0.0.0/25md5

Pour plus d'informations s'il vous plaît voirhttp://docs.zmanda.com/Project:Amanda_Enterprise_3.3/Zmanda_App_modules/PostgreSQL