PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

ClusterControl - Gestion avancée des sauvegardes - PostgreSQL

L'information est l'un des actifs les plus précieux d'une entreprise, vous aurez donc besoin d'un bon plan de reprise après sinistre (DRP) pour éviter la perte de données en cas d'accident ou de panne matérielle. Les sauvegardes sont une étape de base dans tous les plans de reprise après sinistre, mais leur gestion et leur surveillance peuvent être une tâche difficile si vous avez un environnement complexe.

ClusterControl dispose de nombreuses fonctionnalités de gestion de sauvegarde avancée (entre autres fonctionnalités importantes telles que le basculement automatique, la surveillance, etc.), qui vous permettent non seulement d'effectuer différents types de sauvegardes, de différentes manières, mais aussi de compresser, chiffrer, vérifier et bien plus encore.

Dans ce blog, nous verrons comment vous pouvez utiliser ClusterControl pour gérer vos sauvegardes de manière avancée pour votre cluster de base de données PostgreSQL.

Types de sauvegarde

Tout d'abord, mentionnons les types de sauvegardes que vous pouvez utiliser pour protéger vos données.

  • Logique :la sauvegarde est stockée dans un format lisible par l'homme comme SQL.

  • Physique :la sauvegarde contient des données binaires.

  • Complète/Incrémentale/Différentielle :la définition de ces trois types de sauvegardes est implicite dans le nom. La sauvegarde complète est une copie complète de toutes vos données. La sauvegarde incrémentielle ne sauvegarde que les données modifiées depuis la sauvegarde précédente et la sauvegarde différentielle ne contient que les données modifiées depuis la dernière sauvegarde complète exécutée. Les sauvegardes incrémentielles et différentielles ont été introduites pour réduire le temps et l'utilisation de l'espace disque nécessaires pour effectuer une sauvegarde complète.

  • Compatible avec la récupération ponctuelle :PITR implique la restauration de la base de données à un moment donné dans le passé. Pour pouvoir le faire, vous devrez restaurer une sauvegarde complète, puis appliquer toutes les modifications qui se sont produites après la sauvegarde jusqu'à juste avant l'échec.

En utilisant ClusterControl, vous pouvez prendre tous ces types de sauvegardes pour votre base de données PostgreSQL ou même les combiner pour améliorer votre stratégie de sauvegarde.

Fonctionnalités de gestion de sauvegarde ClusterControl

Voyons maintenant comment ClusterControl peut vous aider à gérer tous les différents types de sauvegardes à partir de la même interface utilisateur et du même système conviviaux.

Nous supposerons que votre serveur ClusterControl est installé et qu'il gère votre cluster PostgreSQL. Sinon, vous pouvez suivre notre documentation officielle pour installer ClusterControl et déployer ou importer votre cluster PostgreSQL en l'utilisant.

Création d'une sauvegarde

Pour cela, allez dans ClusterControl -> Sélectionnez votre cluster PostgreSQL -> Sauvegarde -> Créer une sauvegarde.

Vous pouvez créer une nouvelle sauvegarde ou en configurer une planifiée. Pour notre exemple, nous allons créer une seule sauvegarde instantanément.

Vous avez ici une méthode pour chaque type de sauvegarde que nous avons mentionné précédemment.

Type de sauvegarde

Outil

Définition

Logique

pg_dumpall

C'est un utilitaire pour écrire toutes les bases de données PostgreSQL d'un cluster dans un seul fichier de script. Le fichier de script contient des commandes SQL qui peuvent être utilisées pour restaurer les bases de données.

Physique

pg_basebackup

Il est utilisé pour faire une copie binaire des fichiers du cluster de la base de données tout en s'assurant que le système est automatiquement mis en et hors mode de sauvegarde. Les sauvegardes sont toujours effectuées sur l'ensemble du cluster de bases de données d'un cluster de bases de données PostgreSQL en cours d'exécution. Celles-ci sont prises sans affecter les autres clients de la base de données.

Complet/Incr/Diff

pgbackrest

Il s'agit d'une solution de sauvegarde et de restauration simple et fiable qui peut évoluer de manière transparente vers les bases de données et les charges de travail les plus importantes en utilisant des algorithmes optimisés pour les exigences spécifiques aux bases de données. L'une des fonctionnalités les plus importantes est la prise en charge des sauvegardes complètes, incrémentielles et différentielles.

PITR

pg_basebackup + WAL

Pour créer une sauvegarde compatible PITR, ClusterControl utilisera pg_basebackup et les fichiers WAL pour pouvoir restaurer la base de données à tout moment dans le passé.

Vous devez choisir une méthode, le serveur à partir duquel la sauvegarde sera effectuée et l'endroit où vous souhaitez stocker la sauvegarde. Vous pouvez également charger votre sauvegarde dans le cloud (AWS, Google Cloud ou Azure) dans la même tâche de sauvegarde en activant l'option correspondante.

Ensuite, vous pouvez spécifier la compression, le chiffrement et la période de conservation de votre sauvegardes.

Dans la section de sauvegarde, vous pouvez voir la progression de la sauvegarde, et des informations telles que la méthode, la taille, l'emplacement, etc.

Restauration d'une sauvegarde

Une fois la sauvegarde terminée, vous pouvez la restaurer en utilisant ClusterControl. Pour cela, dans votre section de sauvegarde (ClusterControl -> Select PostgreSQL Cluster -> Backup), vous pouvez sélectionner Restore Backup, ou directement Restore sur la sauvegarde que vous souhaitez restaurer.

Vous avez trois options pour restaurer la sauvegarde. Vous pouvez le restaurer dans un nœud de base de données existant, restaurer et vérifier la sauvegarde sur un hôte autonome ou créer un nouveau cluster à partir de la sauvegarde.

Si vous essayez de restaurer une sauvegarde compatible PITR, vous devez également spécifier l'heure.

Les données seront restaurées telles qu'elles étaient au moment spécifié. Tenez compte du fait que le fuseau horaire UTC est utilisé et que votre service PostgreSQL sera redémarré dans le nœud de destination.

Vous pouvez surveiller la progression de votre restauration à partir de la section Activité de votre serveur ClusterControl.

Vérification de sauvegarde automatique

Une sauvegarde n'est pas une sauvegarde si elle n'est pas restaurable. La vérification des sauvegardes est quelque chose qui est généralement négligé par beaucoup. Voyons comment ClusterControl peut automatiser la vérification des sauvegardes PostgreSQL et éviter les surprises au cas où vous auriez besoin de le restaurer.

Dans ClusterControl, sélectionnez votre cluster et accédez à la section Sauvegarde, puis sélectionnez Créer une sauvegarde.

La fonction de vérification automatique de la sauvegarde est disponible pour les sauvegardes planifiées. Alors, choisissons l'option Planifier la sauvegarde.

Lors de la planification d'une sauvegarde, en plus de sélectionner les options courantes telles que la méthode ou le stockage, vous devez également spécifier la planification/la fréquence.

À l'étape suivante, vous pouvez compresser et chiffrer votre sauvegarde et spécifier la période de rétention. Ici, vous avez également la fonction Vérifier la sauvegarde.

Pour utiliser cette fonctionnalité, vous avez besoin d'un hôte dédié (ou VM) qui ne fait pas partie du cluster.

ClusterControl installera le logiciel et restaurera la sauvegarde sur cet hôte. Vous pouvez laisser ce nœud fonctionner à des fins de test ou de création de rapports, ou fermer le nœud jusqu'à la prochaine tâche de vérification.

Après la restauration, vous pouvez voir l'icône de vérification dans la section ClusterControl Backup.

Conclusion

Les sauvegardes sont obligatoires dans n'importe quel environnement car elles vous aident à protéger vos données. Pour les gérer, il est important d'avoir un bon outil avec des fonctionnalités de sauvegarde avancées, pour le rendre le plus simple possible.

ClusterControl possède de nombreuses fonctionnalités pour vous aider dans cette tâche, comme la planification des sauvegardes, la surveillance, la vérification des sauvegardes, et bien plus encore. Il prend également en charge différentes méthodes de sauvegarde et vous pouvez les combiner pour avoir un bon DRP en place.