Paris, le 14 septembre 2022
La RPO (Perte de Données Maximale Admissible) et la RTO (Durée Maximale d’Interruption Admissible) sont deux concepts déterminants dans la définition de votre politique de sauvegarde.
Les principales approches possibles sont :
- sauvegarde à chaud en SQL (ou logique)
- sauvegarde à froid des fichiers (ou physique)
- sauvegarde à chaud des fichiers (PITR ou non)
La sauvegarde à chaud en SQL (ou logique) (pg_dump/pg_restore)
Il s’agit de l’approche standard avec PostgreSQL, qui a le mérite de la simplicité d’utilisation. Néanmoins, en fonction de vos contraintes d’exploitation, elle peut s’avérer insuffisante.
- RPO : importante !
- RTO : importante !
Avantages :
- simplicité
- sauvegarde et restauration complètes par défaut, partielles en option
- restauration facile sur toute autre configuration
Inconvénient :
- le temps de sauvegarde et surtout de restauration peut être intolérable pour les grosses bases
- les données sont restaurées dans leur état au début de la sauvegarde
La sauvegarde à froid des fichiers (ou physique)
La sauvegarde à froid, donc base arrêtée, est une simple copie des fichiers de l’instance. Elle permet de conserver une image cohérente de l’intégralité des fichiers. L’utilisation d’outils de snapshots pour effectuer ces sauvegardes peut accélérer considérablement les temps de sauvegarde des bases de données, et donc diminuer d’autant le temps d’immobilisation du système.
- RPO : importante !
- RTO : moyenne
Avantages :
- outils du système d’exploitation, natifs et robustes
Inconvénient :
- les données sont restaurées dans leur état au moment de la sauvegarde
- nécessité d’arrêter l’instance pendant l’opération
Ce dernier inconvénient explique la rareté de cette méthode.
La sauvegarde physique à chaud (non PITR)
pg_basebackup est bien plus pratique.
Cet outil livré avec PostgreSQL permet une sauvegarde ponctuelle, physique, à chaud d’une instance entière, en incluant uniquement les journaux nécessaires au redémarrage.
- RPO : importante !
- RTO : moyenne
Avantages :
- outil dédié, robuste
- sauvegarde à chaud
Inconvénient :
- les données sont restaurées dans leur état à la fin de la sauvegarde
La sauvegarde PITR
PITR est l’acronyme de Point In Time Recovery, autrement dit « restauration à un point dans le temps ». C’est une sauvegarde à chaud et surtout en continu. Là où une sauvegarde logique du type pg_dump se fait au mieux une fois toutes les 24 heures, la sauvegarde PITR archive en permanence les journaux de transactions. La fenêtre de perte de données se réduit considérablement.
- RPO : très faible
- RTO : moyenne
Avantage :
- sauvegarde à chaud
- données restaurées à n’importe quel point du passé
Inconvénients :
- mise en œuvre non triviale (architecture, configuration, supervision)
- outils supplémentaires
Un dernier conseil…
QUELLE QUE SOIT L’APPROCHE DE SAUVEGARDE QUE VOUS CHOISISSEZ, N’OUBLIEZ JAMAIS DE DOCUMENTER ET DE TESTER LA RESTAURATION RÉGULIÈREMENT !
En effet, la restauration peut devoir être effectuée par une autre personne à un moment imprévu.
Pour aller plus loin :
- Support de formation PostgreSQL Sauvegardes et Réplication
- Formation Sauvegarde et Réplication avec PostgreSQL
- Prochaines dates de formation :
- 27-29 septembre 2022
- 17-21 octobre 2022
- 12-16 décembre 2022