Choix d'un outil de sauvegarde : Barman, pgBackRest, pitrery...

Les utilisateurs n'aiment pas perdre de données
Répondre
Phil
Administrateur du site
Messages : 291
Enregistré le : mar. 1 sept. 2015 00:38
Localisation : France
Contact :

Choix d'un outil de sauvegarde : Barman, pgBackRest, pitrery...

Message par Phil »

Merci à un architecte pour sa question :
les produits passent d'oracle à postgresql, quel outil de sauvegarde pour postgresql ?

Il est dans tous les cas recommandé d'utiliser un outil sûr développé ou recommandé par des experts PostgreSQL. Les efforts doivent être consacrés à réaliser des tests de restauration plutôt qu'à bricoler des scripts de sauvegarde maison.

Dans la partie consacrée aux sauvegardes https://pgphil.ovh/sauvegardes.php , j'utilisais Barman puis je suis passé sur pgBackRest à partir de PostgreSQL 11.
Dalibo propose un autre produit plus basique, Pitrery : https://dalibo.github.io/pitrery/

Chaque produit a ses avantages et ses inconvénients.

Parmi les avantages de Barman :
- C'est un produit orienté "restauration" avec la possibilité de définir des fenêtres de recover plutôt que de baser la rétention des sauvegardes sur la redondance. En gros, vous définissez une fenêtre de rétention de N jours. Le produit s'arrange ensuite pour toujours garder les fichiers nécessaire pour faire revenir en arrière les bases sur N jours.
- Les sauvegardes peuvent être basées sur rsync et donc bénéficier des capacités de déduplication de niveau fichier de cet utilitaire
- Il s'interface très bien avec les standby

Parmi les inconvénients de Barman :
- C'est un outil libre mais dépendant actuellement d'une seule entreprise, 2ndQuadrant, pour son développement
- Détection de la corruption ou déduplication ? Barman s'appuie sur pg_basebackup (utilitaire natif PostgreSQL) ou rsync et ne vérifie donc pas la corruption lors de la sauvegarde jusqu'à PostgreSQL 10 inclus. Cette restriction est levée avec PostgreSQL 11 si la sauvegarde s'appuie sur pg_basebackup puisque cet outil intègre nativement cette fonctionnalité...mais la déduplication n'est possible qu'avec rsync. Impossible donc de bénéficier simultanément de ces deux fonctionnalités.
- Il ne permet pas de compresser ou de chiffrer les sauvegardes

Parmi les avantages de pgBackRest :
- Il propose des fonctionnalités traditionnelles comme le chiffrement ou la compression des sauvegardes
- Il prend en charge d'anciennes versions de PostgreSQL
- Il est taillé pour sauvegarder des clusters à l'activité très soutenue

Parmi les inconvénients de pgBackRest :
- Il ne permet pas d'avoir un RPO de 0 par streaming du WAL courant
- Il ne permet pas de baser la rétention sur une fenêtre de recover
- Il présente des restrictions dans l'utilisation avec les standby

Qu'attendez-vous de votre outil de sauvegarde dédié PostgreSQL ?
Il viendra souvent en complément d'un outil généraliste (NBU, Avamar, Networker, Dataprotector...)
Si cet outil généraliste fait de la déduplication, vous n'aurez pas besoin de la compression des sauvegardes de pgBackRest, ce serait inutile voire contre-productif.
Si vous avez une hot standby, vous n'avez pas besoin du streaming du fichier de journalisation assuré par Barman.

Bref, tout dépend du besoin mais aussi de la société qui assure votre support PostgreSQL.

-- réponse mise à jour le 26/07/2019
Cdlt. Phil - pgphil.ovh
Répondre