Dans cet article, nous passerons en revue notre expĂ©rience de l'utilisation des sauvegardes CommVault pour PostgreSQL. Pour ce faire, nous analyserons une petite partie de l'un de nos projets passĂ©s, oĂč nous avons mis en place une sauvegarde de la base de donnĂ©es PostgreSQL depuis le client.

Ă propos de CommVault
CommVault est une plate-forme Ă©volutive unique qui offre une protection intĂ©grĂ©e des donnĂ©es et une gestion de contenu. La plate-forme prend en charge des modules logiciels avec des fonctions de sauvegarde et de restauration des donnĂ©es, leur archivage, dĂ©duplication, rĂ©plication, distribution hiĂ©rarchique des supports et cryptage. Les modules de la plate-forme fonctionnent avec du contenu d'entreprise provenant de diverses sources et fournissent une rĂ©cupĂ©ration complĂšte des informations dans l'environnement d'entreprise et sa disponibilitĂ© constante mĂȘme Ă partir des archives grĂące Ă une indexation intelligente unique des documents dans un rĂ©fĂ©rentiel virtuel. La plateforme est Ă©galement Ă©quipĂ©e d'outils d'analyse avancĂ©s qui gĂ©nĂšrent des rapports sur les actions des utilisateurs et des applications et sur le fonctionnement de l'infrastructure.
CommVault protÚge, restaure et gÚre les données et leur accÚs dans des environnements physiques et virtuels.
Ă propos de la sauvegarde PostgreSQL
Pour effectuer une sauvegarde de la base de données PostgreSQL, un agent (iDataAgent) est utilisé, qui est installé sur le serveur sur lequel la base de données s'exécute. L'agent est conçu pour gérer et protéger efficacement les données commerciales importantes dans les bases de données PostgreSQL. Vous pouvez utiliser cet agent pour sauvegarder et restaurer l'intégralité du serveur PostgreSQL ou des bases de données individuelles. Si nécessaire, vous pouvez également restaurer des tables individuelles.
Caractéristiques clés:
PostgreSQL iDataAgent offre la flexibilité de sauvegarder des bases de données dans différents modes et de les restaurer en un minimum de temps. Vous pouvez sauvegarder ou sauvegarder l'intégralité du serveur PostgreSQL, des bases de données individuelles ou des journaux archivés à tout moment.
Les fonctionnalitĂ©s de sauvegarde et de restauration qui peuvent ĂȘtre effectuĂ©es dans diffĂ©rents modes:
- iDataAgent offre la possibilitĂ© de restaurer l'intĂ©gralitĂ© du serveur PostgreSQL. Toutes les bases de donnĂ©es situĂ©es sur le serveur source peuvent ĂȘtre restaurĂ©es sur le serveur de destination.
- Définissez une base de données unique ou un groupe de bases de données en tant que données de sous-client et sauvegardez et restaurez.
- Sauvegardez uniquement les journaux sur le serveur PostgreSQL. Ces fichiers journaux peuvent ĂȘtre utilisĂ©s pour rĂ©cupĂ©rer les transactions de base de donnĂ©es perdues en raison d'un systĂšme d'exploitation ou d'une panne de disque.
- Restaurez l'intégralité de votre serveur PostgreSQL à un moment précis pour la sauvegarde basée sur le systÚme de fichiers.
- Affichez et vérifiez l'état des opérations de sauvegarde et de récupération à partir de Job Controller et Event Viewer dans la console CommCell. Suivez l'état de votre travail avec des rapports que vous pouvez enregistrer et distribuer.
- Utilisez des sauvegardes de niveau bloc comme un moyen plus rapide de sauvegarder des données, car les sauvegardes sont uniquement pour les extensions (ou les parties modifiées de la base de données) et non pour la base de données PostgreSQL entiÚre.
- Déduplication au niveau du bloc La déduplication offre un moyen plus intelligent de stocker des données en identifiant et en supprimant les doublons dans les opérations de protection des données.
L'architecture
Schéma
Comment ça marche:La plate-forme CommVault est déployée sur le réseau en tant que partie du serveur de gestion CommServe et d'un serveur MediaAgent distinct (il est recommandé d'utiliser un serveur physique).
Un agent (iDataAgent) est installé sur le serveur avec la base de données PostgreSQL et ses politiques de sauvegarde sont configurées conformément aux exigences. iDataAgent collecte les données nécessaires, les compresse, les dédoublonne, si nécessaire, les chiffre et les transfÚre à MediaAgent.
De plus, les données sont placées sur le systÚme de stockage, sur une bandothÚque ou sur un stockage cloud.
Pour la récupération, les données sont extraites du stockage et copiées sur le serveur avec PostgreSQL.
Configuration dans la console CommVaultVoyons maintenant comment procéder dans la console de gestion.
1. Pour démarrer la sauvegarde de la base de données pour le moment, sélectionnez dans la console du navigateur CommCell:
Ordinateurs clients | | PostgreSQL | | DumpBasedBackupSet.
Cliquez avec le bouton droit sur le dossier
par défaut dans le
sous -
client et sélectionnez
Sauvegarder .

2. Sélectionnez
ComplÚte comme type de sauvegarde et sélectionnez
Immédiat .
3. Cliquez sur
OK .
La sauvegarde
PostgreSQL démarre .

4. Pendant l'exĂ©cution du travail, son Ă©tat peut ĂȘtre surveillĂ© par la fenĂȘtre de
travail de la console
CommCell .

5. Une fois la tĂąche terminĂ©e, vous pouvez voir les dĂ©tails de la tĂąche terminĂ©e dans la fenĂȘtre
Historique de sauvegarde . Sélectionnez le dossier
par défaut dans le
sous -
client et sélectionnez
Historique de sauvegarde .

6. Dans la fenĂȘtre
Historique de sauvegarde , vous pouvez voir les données suivantes sur les tùches terminées:
- Erreurs de sauvegarde lors de l'achĂšvement d'une tĂąche;
- ĂlĂ©ments sauvegardĂ©s avec succĂšs;
- Détails de la mission;
- ĂvĂ©nements;
- Fichiers journaux;
- Média sur lequel les données sont stockées.
Pourquoi vous pouvez sauvegarderSauvegarde basée sur le vidage:
- Bases de données systÚme PostgreSQL;
- Bases de données utilisateurs PostgreSQL
- Sauvegarde d'un systÚme de fichiers (sauvegarde basée sur un systÚme de fichiers).
Bases de données PostgreSQL (données et journaux) (données et journaux):
Ce qui n'est pas copié:
- Fichiers d'application PostgreSQL (fichiers d'application);
- Données du systÚme d'exploitation.
Utilisez File System iDataAgent pour sauvegarder les composants ci-dessus.
Défi
Le client devait dĂ©ployer la plateforme CommVault pour sauvegarder ses services. L'un des services Ă©tait la base de donnĂ©es PostgreSQL, qui a Ă©tĂ© dĂ©ployĂ©e dans une configuration en cluster de 2 nĆuds: Master et Standby. Les deux fonctionnaient sur des serveurs physiques.
Fonctionnalités de configuration du client PostgreSQLLa configuration du cluster PostgreSQL a été choisie pour garantir la tolérance aux pannes du serveur de base de données.
Le client a effectué la sauvegarde de la base de données PostgreSQL à l'aide de pg_dump.
Le schéma de travail est présenté dans la figure ci-dessous:

Configurer la sauvegarde avec CommVault
Pour unifier la plate-forme de sauvegarde et profiter du stockage de sauvegarde, nous avons décidé d'utiliser CommVault pour sauvegarder la base de données PostgreSQL.
Parce que le client a utilisĂ© la configuration du cluster PostgreSQL, pour la sauvegarde, nous avons dĂ©cidĂ© d'utiliser l'option de sauvegarde basĂ©e sur le systĂšme de fichiers pour la sauvegarde de fichiers. Dans le mĂȘme temps, j'ai dĂ» abandonner l'utilisation de la sauvegarde par blocs (Block Level Backup), car La version du noyau Linux utilisĂ©e sur laquelle PostgreSQL est dĂ©ployĂ© est supĂ©rieure Ă celle de CommVault officiellement prise en charge. En raison du fait que le service est essentiel pour l'organisation, ils ont dĂ©cidĂ© de faire un calendrier de sauvegarde selon le tableau:
| Copie complĂšte
| Journaux des transactions
|
---|
Graphique
| Une fois par jour, Ă 23 heures
| Toutes les heures pendant 24 heures |
Durée de conservation des copies
| 7 jours
| 1 jour
|
Le volume total de la base de données était supérieur à 1,5 To et afin de respecter les RTO et RPO requis, un réseau LAN distinct a été utilisé pour la sauvegarde à une vitesse de 10 Gb / s.
La sauvegarde a été effectuée selon le schéma ci-dessous:

Les sauvegardes ont été prises à partir d'un serveur de secours PostgreSQL et stockées sur un serveur sur lequel MediaAgent est installé. Ensuite, une fois par mois, des copies complÚtes ont été téléchargées sur le cloud Amazon pour une durée de conservation d'un an.
Tous les paramÚtres nécessaires ont été définis et la sauvegarde a réussi.
Fonctionnalités de configuration de la sauvegarde PostgreSQLLors de l'installation et de la configuration de la sauvegarde, nous avons rencontré quelques difficultés, qui sont répertoriées ci-dessous. Je pense qu'il sera utile de prendre en compte ces fonctionnalités lors de l'exécution de projets similaires et lors de la configuration des administrateurs de base de données PostgreSQL.
- VĂ©rifiez que les nĆuds maĂźtre et de secours ont les mĂȘmes paramĂštres de service PostgreSQL dĂ©finis conformĂ©ment Ă la documentation CommVault:
documentation.commvault.com/commvault/v11_sp14/article?p=21491.htm - Vérifiez que les paramÚtres spécifiés dans le dépannage de sauvegarde sont cohérents avec ceux spécifiés par les liens:
documentation.commvault.com/commvault/v11_sp14/article?p=21723.htm
documentation.commvault.com/commvault/v11_sp14/article?p=21518.htm - Assurez-vous que les droits d'accÚs au serveur de base de données et aux bases de données ont été définis conformément aux exigences suivantes:
documentation.commvault.com/commvault/v11_sp14/article?p=21523.htm
RécupérationLa sauvegarde est bonne. Naturellement, nous nous intéressons non seulement au processus de sa création, mais aussi à sa restauration. Pour tout ce qui a été fait.
Dans cette situation, la restauration, basĂ©e sur notre expĂ©rience, peut ĂȘtre nĂ©cessaire pour le client dans 2 cas:
- Restaurer la base de donnĂ©es Ă un certain moment afin d'accĂ©der Ă des donnĂ©es qui, par exemple, pourraient ĂȘtre supprimĂ©es de la base de donnĂ©es;
- En cas de perte de l'ensemble du cluster de base de données PostgreSQL.
Pour restaurer la base de données, lisez simplement la documentation à ce lien:
documentation.commvault.com/commvault/v11_sp14/article?p=21502.htmNous attirons également votre attention sur les fonctionnalités et étapes suivantes lors de la récupération:
- Suivez TOUJOURS la procédure de récupération avec le DBA PostgreSQL. Cela vous aidera à éviter les mauvaises actions et à résoudre rapidement les problÚmes qui surviennent pendant le processus de récupération;
- La rĂ©cupĂ©ration doit ĂȘtre effectuĂ©e sur un nĆud ayant le rĂŽle de maĂźtre;
- Lors de la restauration, assurez-vous de vérifier que les services PostgreSQL ne démarrent pas une fois l'opération terminée;
- Dans le nĆud restaurĂ©, modifiez les paramĂštres en rĂŽle maĂźtre, car dans notre cas, nous avons sauvegardĂ© les nĆuds de secours;
- DĂ©sactivez les services sur le nĆud de secours, activez-les sur le nĆud maĂźtre, puis activez le nĆud de secours et configurez Ă nouveau la rĂ©plication.
Conclusion
Dans cet article, nous n'avons pas pris en compte la sauvegarde du systĂšme d'exploitation Linux lui-mĂȘme et des autres systĂšmes. Cela devrait ĂȘtre fait sĂ©parĂ©ment. La documentation CommVault dĂ©crit cela en dĂ©tail. Si notre article suscite l'intĂ©rĂȘt et que les souhaits sont nombreux, nous dĂ©crirons certainement comment sauvegarder d'autres systĂšmes. Ăcrivez dans les commentaires quels systĂšmes pourraient vous intĂ©resser.
Nous espérons que notre expérience vous aidera à mettre en place une sauvegarde par le DBA PostgreSQL.
Auteurs:
Sergey Alexandrov, chef du groupe de sauvegarde, Softline
Artyom Khmelenko, ingénieur en chef, Softline