PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Sécurité » Resturation avec barman sur un autre hôte » 07/06/2021 18:46:55

Sur recover, j'ai augmenté à debug2, le niveau de log.
Voici un extrait de ceux-ci:

Jun  7 18:18:19 fcore5 postgresql@11-main[1632]: 2021-06-07 18:18:19.043 CEST [1638] DEBUG:  restore_command = 'cp barman_xlog/%f %p'
Jun  7 18:18:19 fcore5 postgresql@11-main[1632]: 2021-06-07 18:18:19.043 CEST [1638] DEBUG:  recovery_end_command = 'rm -fr barman_xlog'
Jun  7 18:18:19 fcore5 postgresql@11-main[1632]: 2021-06-07 18:18:19.043 CEST [1638] LOG:  début de la restauration de l'archive
Jun  7 18:18:19 fcore5 postgresql@11-main[1632]: 2021-06-07 18:18:19.043 CEST [1638] DEBUG:  n'a pas pu ouvrir le fichier « pg_wal/000000010000000000000084 » : Aucun fichier ou dossier de ce type


J'ai un fichier /var/lib/postgresql/11/main/barman_xlog/000000010000000000000084, un répertoire /var/lib/postgresql/11/main/pg_wal mais pas de fichier 000000010000000000000084 dans ce dernier.

Pour tous les fichiers 0000XXX de barman_xlog, j'ai opéré comme suit
cd  /var/lib/postgresql/11/main/pg_wal
ln -s ../barman_xlog/000000010000000000000084
chown -h postgresql:postgresql 000000010000000000000084

J'ai ensuite saisi:
service postgresql start
find / -name recovery.conf
find / -name recovery.done

Le fichier recovery.conf est devenu recovery.done.
En me connectant sur recover avec les droits d'un utilisateur de la base sur target, j'ai pu accéder aux données initiales.


1. Ceci semble confirmer qu'il n'est pas nécessaire de créer les utilisateurs de Postgres sur la machine recover. Êtes-vous d'accord ?
2. Comment configurer correctement les chemins pg_wal/barman_xlog ? Dans barman ? Dans recover ?
3. Quels sont les riques d'avoir target et recover simultanément en ligne ?

Slts





Comment

#2 Sécurité » Resturation avec barman sur un autre hôte » 07/06/2021 16:04:31

olivier2831
Réponses : 3

Bonjour,

J'ai trois hôtes:
- target sous Debian Buster/PostgreSQL 11
- barman sous Debian Buster/Barman 2.6
- recover sous Debian Buster/PostgreSQL 11

Je souhaite vérifier que les sauvegardes de target faite avec barman peuvent être restaurées sur recover sans aucune perte en cas de perte totale et définitive de l'hôte target.

Comme avec [1], j'arrive à produire sur recover un fichier /var/lib/posgresql/11/main/recovery qui contient:
restore_command = 'cp barman_xlog/%f %p'
recovery_end_command = 'rm -fr barman_xlog'
recovery_target_time = '2021-05-31 12:43:38.157798+02:00'

Quand je lance service posgresql start, j'ai:
nterrompu ; dernier lancement connu à 2021-05-31 12:43:36 CEST
Jun  7 15:37:54 fcore5 postgresql@11-main[1115]: 2021-06-07 15:37:54.432 CEST [1121] LOG:  début de la restauration de l'archive à 2021-05-31 12:43:38.157798+02
Jun  7 15:37:54 fcore5 postgresql@11-main[1115]: 2021-06-07 15:37:54.432 CEST [1121] LOG:  enregistrement du point de vérification primaire invalide
Jun  7 15:37:54 fcore5 postgresql@11-main[1115]: 2021-06-07 15:37:54.432 CEST [1121] PANIC:  n'a pas pu localiser un enregistrement d'un point de vérification valide

Il me faut préciser:
- je suis un débutant complet dans l'utilisation de barman
- les machines target et recover ont des noms d'hôte et adresses IP différentes.

1. Est-il nécessaire de rebaptiser recover en target (avec changement d'adresse IP) pour pouvoir récupérer sur recover une sauvegarde de target ?
2. Est-il nécessaire de créer sur recover les bases de données ou les utilisateurs qui ont les droits de lecture ou écriture sur les bases de données de target, sauvegardées avec barman ?
3. Comment vérifier régulièrement qu'une base de données PosgreSQL est entièrement restaurable sans perte de données ? Conseils, lectures ?

[1]  https://medium.com/coderbunker/recover- … 5ee4e11939

Slts

PS: J'espère que la rubrique Sécurité est la bonne pour poser ce type de question. Si ce n'était pas le cas veuillez m'en excuser.

Pied de page des forums

Propulsé par FluxBB