Chat with us, powered by LiveChat
Bienvenue > Outil de sauvegarde des données dans Bacula Enterprise. Outils de sauvegarde de Bacula Systems. > Solution de sauvegarde MongoDB de niveau entreprise pour les déploiements à grande échelle

Les bases de données NoSQL telles que MongoDB sont capables de gérer des volumes considérables de trafic et de données grâce à une architecture évolutive qui en fait une solution incontournable pour les entreprises gérant des millions d’utilisateurs simultanés.

Cela dit, la sauvegarde d’un cluster NoSQL pose en soi un ensemble de défis en matière de cohérence des données que les solutions de sauvegarde traditionnelles ne parviennent pas à surmonter. En effet, la copie des fichiers bruts de la base de données pendant que le serveur est en cours d’exécution peut générer un fichier incohérent ou irrécupérable, car les fichiers peuvent évoluer entre deux lectures

Le plugin de sauvegarde et de restauration MongoDB de Bacula Enterprise s’interface directement avec le moteur de MongoDB et automatise les sauvegardes logiques sur une base de données en production, tant pour les serveurs autonomes que pour les ensembles de répliques, sans interrompre les écritures. En revanche, pour les clusters fragmentés, il faut d’abord remplir plusieurs conditions préalables afin d’automatiser la sauvegarde logique.

De plus, l’architecture isolée en cinq modules de Bacula limite l’étendue des dégâts en cas de compromission de votre base de données MongoDB et permet une récupération rapide lorsque cette architecture est associée à la segmentation du réseau, des identifiants uniques et le TLS mutuel.

Principaux avantages de la solution de sauvegarde et de restauration MongoDB

  • Sauvegardes cohérentes des bases de données MongoDB actives – Le plugin MongoDB de Bacula évite les incohérences générées par la copie brute de fichiers en pilotant directement l’outil mongodump propre à MongoDB. Pour les serveurs autonomes, cela produit un instantané logique du contenu de la base de données. Quant aux ensembles de répliques, le plugin génère une chaîne de restauration entièrement cohérente en ajoutant les métadonnées de l’oplog au dump.
  • Sauvegarde logique coordonnée pour les clusters MongoDB fragmentés – Le plugin MongoDB de Bacula offre aux déploiements de clusters fragmentés un processus de sauvegarde logique coordonné sans nécessiter de scripts d’orchestration personnalisés. Il capture les données d’application via mongos ainsi que les métadonnées de routage pour permettre la restauration logique des données d’application. Cela dit, la cohérence entre les fragments dépend de l’arrêt du répartiteur de charge et de l’interdiction des écritures pendant toute la durée de la sauvegarde.
  • Restauration granulaire de MongoDB au niveau des bases de données et des collections – Grâce au plugin MongoDB, vous pouvez filtrer et restaurer des bases de données spécifiques ou des collections individuelles sans avoir à restaurer l’ensemble du cluster de bases de données. Ainsi, les délais de restauration sont considérablement réduits, et le risque d’écraser des données saines en même temps que des données endommagées est considérablement diminué. *La restauration granulaire au niveau des collections s’applique aux artefacts logiques complets et ne peut pas être combinée avec la relecture de l’oplog ; cela signifie que vous ne pouvez pas restaurer une collection spécifique à un instant précis en une seule opération.
  • Récupération à un instant donné pour les ensembles de répliques MongoDB – Étant donné qu’une migration de schéma ratée ou la suppression accidentelle d’une collection peut, comme on le sait, effacer des heures d’écritures, le plugin MongoDB de Bacula enregistre des segments de journal d’opérations lors de chaque tâche incrémentielle et différentielle afin de fournir une récupération précise à un instant donné (PITR). Le paramètre replay_to vous permet d’arrêter la relecture à n’importe quel moment de la fenêtre oplog disponible. Cette fonctionnalité vous permet de restaurer le jeu de répliques à l’état protégé le plus proche précédant l’incident.

Principales fonctionnalités du plugin MongoDB de Bacula

Intégrité des données et sécurité d’accès

  • Validation de la continuité de la chaîne avant restauration — À chaque fois qu’une restauration est déclenchée, le plugin MongoDB vérifie automatiquement l’intégrité de la somme de contrôle, l’identité de la chaîne, le lien avec le parent, l’empreinte source et les limites de l’oplog. En cas d’élément manquant ou de non-correspondance, le plugin bloque la restauration avant même qu’elle n’atteigne la base de données.
  • Prise en charge de l’authentification TLS et MONGODB-X509 — Le plugin MongoDB se connecte à des environnements MongoDB sécurisés sans aucun compromis sur les normes d’authentification. Il prend en charge le protocole TLS tant au niveau de la connexion via le pilote Java que de la couche MongoDB Database Tools ; le protocole SCRAM pour l’authentification par mot de passe ; et MONGODB-X509 pour l’authentification par certificat, où le nom d’utilisateur MongoDB doit correspondre exactement au sujet du certificat client. De plus, les identifiants de connexion sont gérés via un fichier de mots de passe (password_file) afin de les isoler des journaux de tâches et des sorties de configuration.
  • Métadonnées de manifeste et de chaîne pour l’auditabilité — Chaque tâche de sauvegarde MongoDB génère un enregistrement complet et vérifiable du contenu sauvegardé, comprenant la version source, la topologie, les bases de données sélectionnées et les sommes de contrôle. Ces fichiers de métadonnées accompagnent les artefacts de sauvegarde dans le catalogue Bacula sous /@mongodb et sont disponibles pour l’audit et la planification des restaurations sans intervenir sur l’environnement de production.

Infrastructure de sauvegarde adaptative

  • Prise en charge de plusieurs topologies de sauvegarde — Le plugin prend en charge les trois types de déploiement MongoDB (à savoir les serveurs autonomes, les ensembles de répliques et les clusters fragmentés), et le comportement de sauvegarde s’adapte automatiquement à la topologie, sans aucune intervention manuelle. Les serveurs autonomes font l’objet d’une sauvegarde logique complète via mongodump. Les ensembles de répliques bénéficient d’une sauvegarde complète qui amorce une chaîne de récupération, suivie de tâches incrémentielles et différentielles qui enregistrent les segments de l’oplog. Les clusters fragmentés sont sauvegardés via mongos, les métadonnées de routage étant capturées en même temps que les données d’application.
  • Rapports de simulation pour la sauvegarde et la restauration — La commande dry_run=yes génère un rapport complet sur ce que la sauvegarde ou la restauration impliquerait, sans rien écrire ni modifier, afin que toute erreur de configuration ou tout problème de compatibilité soit détecté bien avant l’exécution de la tâche dans un environnement de production. Pour la sauvegarde, cela permet de valider la connexion, la topologie, les autorisations, la compatibilité des outils et l’espace de travail disponible.

Ensemble complet des fonctionnalités du plugin MongoDB

La restauration à un instant donné, ainsi que les autres fonctionnalités énumérées précédemment, ne constituent qu’une partie de ce que le plugin peut apporter en matière de sauvegarde et de restauration de votre base de données MongoDB. Vous trouverez ci-dessous le large éventail de fonctionnalités que le plugin offre aux grandes entreprises comptant des millions d’utilisateurs simultanés.

Capacités de sauvegarde

  • Sauvegardes complètes, incrémentielles et différentielles — Le plugin prend en charge ces trois niveaux de tâches. Les ensembles de répliques bénéficient de véritables chaînes basées sur l’oplog ; quant aux déploiements autonomes et fragmentés, ils obtiennent des artefacts logiques de type « complet » à chaque niveau.
  • Sauvegarde logique via mongodump — Chaque sauvegarde est un artefact logique généré par l’outil mongodump de MongoDB, qui reflète le contenu réel de la base de données au moment de l’exécution de la tâche.
  • Filtrage des bases de données et des collections — Des filtres d’inclusion et d’exclusion vous permettent de limiter la portée de toute tâche de sauvegarde à des bases de données spécifiques ou à des collections individuelles.
  • Capture des métadonnées de routage des clusters fragmentés — Pour les déploiements fragmentés, le plugin enregistre l’appartenance aux fragments et les métadonnées de routage en même temps que les données d’application afin de prendre en charge la planification de la restauration au niveau de l’application via mongos. Cela ne couvre que la récupération logique des données d’application.

Fonctionnalités de restauration

  • Restauration à un instant donné pour les ensembles de répliques – Le paramètre replay_to interrompt la relecture du journal OPLog à n’importe quel moment au sein de la fenêtre OPLog disponible. La précision de la restauration dépend de la durée de conservation du journal OPLog, de la fréquence des tâches et de la dernière limite de chaîne capturée avec succès.
  • Restauration en continu vers mongorestore – Les charges utiles d’archives complètes sont transmises en continu depuis le stockage Bacula vers mongorestore sans avoir à écrire au préalable des archives de sauvegarde complètes sur le disque local.
  • Restauration inter-hôtes — Le plugin transmet les artefacts vers mongorestore sur n’importe quelle cible valide, ce qui permet les tests en sandbox et les migrations de clusters. Cela dit, la portabilité du format logique ne garantit pas que toutes les combinaisons de version de serveur, de version des outils de base de données, de FCV, de définition d’index ou de fonctionnalité de collecte puissent être restaurées.
  • Contrôle de la stratégie de conflit – Le paramètre conflict_strategy contrôle la manière dont le plugin gère les données existantes sur la cible de restauration. Vous pouvez définir conflict_strategy=fail via la session de restauration Bacula pour les restaurations de validation, et conflict_strategy=drop uniquement lorsque le remplacement des données existantes sur la cible ne présente aucun risque.

Sécurité

  • Prise en charge des connexions TLS – Le protocole TLS est pris en charge à la fois au niveau de la connexion via le pilote Java et au niveau de la couche des outils de base de données MongoDB.
  • Authentification SCRAM et MONGODB-X509 – Le plugin prend également en charge l’authentification SCRAM par mot de passe et l’authentification MONGODB-X509 par certificat, dans laquelle le nom d’utilisateur MongoDB doit correspondre mot pour mot au sujet du certificat client.
  • Isolation des identifiants via password_file – Les identifiants de connexion sont gérés via un password_file. Ils ne sont pas intégrés dans les URI, ce qui permet de les séparer des journaux de tâches et des sorties de configuration.
  • Utilisateur de sauvegarde à privilèges minimaux – Le plugin est conçu pour s’exécuter sous un utilisateur de sauvegarde MongoDB dédié, auquel ne sont accordés que les privilèges nécessaires au mode de sauvegarde sélectionné.

Plugin de sauvegarde et de restauration MongoDB : comparaison des topologies

Le plugin MongoDB adapte son comportement de sauvegarde en fonction de la topologie de déploiement à laquelle il est connecté. Le tableau ci-dessous présente les fonctionnalités prises en charge par chaque topologie, afin de vous aider à planifier plus facilement votre stratégie de sauvegarde et vos attentes en matière de restauration avant l’exécution de la première tâche.

Capacité Autonome Ensemble de répliques Cluster fragmenté
Sauvegarde complète Oui Oui Oui
Incrémentielle / Différentielle Artefacts logiques de type « complet » (pas de chaîne oplog) Chaîne oplog authentique Récupération des données d’application
Récupération à un instant donné (PITR) Non Oui — via replay_to Non
Capture de l’oplog Non Oui — tâches incrémentielles et différentielles Non
Validation de la continuité de la chaîne Non Oui — avant chaque restauration Non
Capture des métadonnées de routage Non Non Oui — appartenance aux shards et configuration du routage
Protection du balancier requise Non Non Oui
(1) l’équilibreur doit être arrêté ; (2) les migrations de chunks doivent être désactivées ; (3) les écritures doivent être bloquées pendant toute la durée du vidage
Cible de connexion Mongod principal Principal accessible en écriture (URI du jeu de répliques préféré) mongos uniquement
Méthode de restauration Restauration logique complète via mongorestore Rejeu de la chaîne validée via mongorestore Restauration de l’application via mongos avec préparation du routage

Comment Bacula protège-t-il les données de sauvegarde MongoDB contre les cybermenaces ?

Pour lutter contre les cybercriminels et protéger les organisations contre les ransomwares, Bacula Enterprise, auquel font confiance des organisations de grande envergure telles que la NASA, la Marine américaine et l’Armée de l’air américaine, sécurise les données de sauvegarde MongoDB en s’intégrant directement à des cibles de stockage immuables et conformes à la norme WORM, afin d’empêcher un attaquant disposant d’identifiants d’accès de modifier, de renommer ou, pire encore, d’effacer les données jusqu’à l’expiration de la période de conservation configurée.

Architecture et contrôle d’accès

  • Architecture isolée à cinq modules – Dans l’architecture à cinq modules de Bacula, le démon de fichiers (client), le directeur, le démon de stockage, la console et la base de données du catalogue fonctionnent comme des composants distincts. Ce type de séparation limite l’ampleur des répercussions en cas de compromission d’un composant, en particulier lorsqu’elle est associée à une segmentation du réseau, à des identifiants uniques par composant, au protocole TLS mutuel et à des contrôles d’accès basés sur le principe du moindre privilège.
  • Privilèges restreints du démon de fichiers (client) — Les administrateurs peuvent définir précisément les répertoires à partir desquels un client peut effectuer des sauvegardes, vers lesquels il peut restaurer des données et dans lesquels il peut exécuter des scripts, grâce aux directives `AllowedBackupDirectories`, `AllowedRestoreDirectories` et `AllowedScriptDirectories`. Le démon de fichiers peut également fonctionner en mode lecture seule, afin d’empêcher toute modification non autorisée à partir de ce système.
  • Contrôle d’accès basé sur les rôles — Bacula prend en charge un contrôle d’accès granulaire basé sur les rôles (RBAC) grâce à des listes de contrôle d’accès (ACL) spécialisées qui restreignent précisément ce qu’un utilisateur de la console peut voir et modifier. Cette sécurité est appliquée à travers les couches de contrôle JobACL, CommandACL, PoolACL et ScheduleACL.
  • Authentification multifactorielle – L’accès à la console prend en charge l’authentification multifactorielle (MFA) basée sur le protocole TOTP et est conforme à la norme RFC 6238, en plus de l’authentification standard par mot de passe et TLS. L’accès à l’interface graphique Web prend quant à lui en charge séparément l’authentification par mot de passe à usage unique, qui inclut également des options de validation biométrique via smartphone.

Immuabilité et intégrité des données

  • Protection des volumes gérés par Bacula – Bacula définit un attribut « Append-Only » (écriture ajoutée uniquement) sur les volumes basés sur des fichiers lors de leur première tâche de sauvegarde afin d’empêcher toute perte de données due à un écrasement. Une fois qu’un volume est marqué comme « Plein », un indicateur d’immuabilité peut empêcher qu’il soit réétiqueté ou réutilisé jusqu’à l’expiration de sa période de protection. Ces contrôles sont appliqués au niveau de la couche applicative et leur résistance face à un attaquant dépend des privilèges du système d’exploitation, de la prise en charge du système de fichiers, des privilèges du démon de stockage et de la configuration de la rétention.
  • Immuabilité imposée par le matériel et le cloud – Pour une imuutabilité résistant même à un accès privilégié au niveau du système d’exploitation, Bacula s’intègre à l’immuabilité contrôlée par les appliances sur NetApp SnapLock, DataDomain RetentionLock et HPE StoreOnce, ainsi qu’au mode de conformité WORM et au verrouillage d’objets sur AWS S3, Azure et Google Cloud Storage. Contrairement aux contrôles au niveau de la couche applicative, ceux-ci sont appliqués au niveau matériel ou par le fournisseur de cloud et ne peuvent pas être contournés par les identifiants du système d’exploitation.
  • Vérification des tâches et contrôle d’intégrité basé sur les hachages — Bacula peut détecter une corruption silencieuse en calculant les signatures SHA256 ou SHA512 des données des fichiers et en comparant l’état actuel d’un volume à son enregistrement dans le catalogue. Pour une validation d’intégrité par adversaire, notez que cette comparaison repose sur le fait que le catalogue reste intact, tout comme les volumes de sauvegarde.
  • Stockage en air-gap — Bacula Enterprise fonctionne entièrement hors ligne dans des environnements totalement isolés, sans aucune dépendance à Internet. Le Director, les démons de stockage et les démons de fichiers peuvent être répartis sur des réseaux séparés, de sorte que les données de sauvegarde MongoDB restent inaccessibles aux menaces externes, même en cas de compromission au niveau du réseau.

Chiffrement

  • Communications chiffrées – Les démons Bacula s’authentifient à l’aide de SCRAM-SHA-256. Le chiffrement TLS doit être activé pour toutes les communications réseau dans le cadre d’un déploiement sécurisé ; il est pris en charge par l’ensemble des composants Bacula.
  • Conformité à la norme FIPS 140-3 – Bacula Enterprise assure la conformité à la norme FIPS 140-3 grâce à son module cryptographique, qui utilise OpenSSL-FIPS et est certifié sur plusieurs plateformes. Ce module peut être utilisé avec tous les composants de Bacula.
  • Chiffrement des données au repos – Le démon de stockage peut chiffrer l’intégralité d’une cible de stockage en une seule fois, quelle que soit la source des données. Les administrateurs peuvent également configurer le chiffrement séparément pour chaque client.

Détection des menaces

  • Détection des ransomwares par Guardian – Le module d’analyse de sécurité automatisée de Bacula, BGuardian, vérifie la robustesse de la configuration, l’utilisation du chiffrement, les schémas d’altération des sauvegardes et des dizaines d’autres indicateurs de renforcement de la sécurité dans l’ensemble de l’environnement, en générant des rapports et des alertes persistantes dès la détection de problèmes.
  • Analyse antivirus et détection des logiciels malveillants – Bacula assure une défense automatisée contre les menaces en intégrant un plugin antivirus basé sur ClamAV afin d’analyser les fichiers sauvegardés à la recherche de virus lors des tâches de vérification post-sauvegarde.

Quels sont les avantages du déploiement de Bacula Enterprise ?

Chaque déploiement de Bacula Enterprise vous offre les fonctionnalités suivantes en matière de restauration, de sauvegarde, de tarification et d’administration de la plateforme.

Fonctionnalités de sauvegarde efficaces

  • Compression adaptative – Les algorithmes de compression sont configurables pour chaque tâche, ce qui permet aux administrateurs d’ajuster la compression en fonction du type de données et des ressources disponibles.
  • Sauvegardes complètes, différentielles et incrémentielles – Bacula prend en charge les niveaux de sauvegarde complète, différentielle et incrémentielle. Une stratégie type commence par une sauvegarde complète, suivie de sauvegardes incrémentielles, ce qui évite d’exécuter à répétition des sauvegardes complètes volumineuses selon un calendrier fixe.
  • Sauvegardes complètes virtuelles progressives – Bacula peut combiner une sauvegarde complète existante avec les sauvegardes incrémentielles qui lui ont succédé pour créer une nouvelle sauvegarde complète synthétique sans avoir à contacter à nouveau le client. Le processus lit plutôt les données à partir du stockage de sauvegarde existant. La directive Backups To Keep permet de répéter cette consolidation de manière continue.
  • Mise en file d’attente sur disque avant l’écriture sur bande – Bacula peut écrire les données de sauvegarde dans une file d’attente sur disque avant de les envoyer sur bande sous forme de flux continu. Cela permet d’éviter les mouvements de démarrage et d’arrêt de la bande qui peuvent se produire lorsque les données arrivent trop lentement pour permettre à l’unité d’écriture de fonctionner en continu. Ce problème est particulièrement fréquent avec les sauvegardes incrémentielles et différentielles, qui ont tendance à produire des flux de données plus petits et moins réguliers que les sauvegardes complètes.
  • Transferts optimisés en termes de bande passante – Seules les données modifiées sont transférées sur le réseau après la sauvegarde initiale. Cela permet de réduire le trafic réseau sans nécessiter de limitation manuelle de la bande passante ni de solutions de contournement en matière de planification.
  • Planification fréquente des sauvegardes – Les tâches de sauvegarde peuvent s’exécuter toutes les quelques minutes au lieu d’une fois par jour, réduisant ainsi la fenêtre de perte potentielle de données de plusieurs heures à quelques minutes.
  • Protection continue des données – L’application cdp-client surveille les modifications apportées aux fichiers et les copie dans un répertoire de spool dès qu’elles surviennent. Le FileDaemon envoie ensuite ces données à une tâche de sauvegarde Bacula régulière à des intervalles définis, ce qui permet de capturer les modifications en quelques secondes ou minutes plutôt que d’attendre la prochaine sauvegarde planifiée.

Capacités de restauration ultra-rapides

  • Restauration « bare metal » au niveau du système – Bacula Enterprise permet de restaurer un serveur dans son intégralité, y compris le système d’exploitation, les applications, la configuration et les données, sans qu’il soit nécessaire de procéder au préalable à une installation manuelle du système d’exploitation.
  • Restauration multiplateforme des données – Les données sauvegardées peuvent être restaurées sur un système d’exploitation différent de celui d’origine. Cela offre aux équipes une plus grande flexibilité lors des remplacements de matériel, des migrations ou d’autres scénarios de restauration.
  • Validation automatisée de la restauration – Des tests automatisés permettent de vérifier que les données de sauvegarde sont récupérables sans qu’un administrateur ait à exécuter un processus de validation distinct.
  • Réplication géographique des sauvegardes – Par défaut, Bacula conserve une seule copie de sauvegarde. Pour créer des copies supplémentaires sur d’autres sites, les administrateurs peuvent configurer des tâches de copie ou de migration. Une configuration type peut consister à conserver la copie principale sur un stockage local, à créer une deuxième copie sur un autre type de support (tel qu’un stockage dans le cloud), puis à envoyer une troisième copie vers un site distant ou isolé (air-gapped). Cette configuration permet de s’assurer qu’une panne à l’échelle du site n’entraîne pas la perte de toutes les copies de restauration disponibles.

Maîtrise des coûts et licences de sauvegarde prévisibles

  • Déduplication au niveau des blocs – Les blocs de données en double ne sont stockés qu’une seule fois dans le catalogue de sauvegarde, ce qui réduit l’espace de stockage nécessaire sans nécessiter de modification des politiques ou des plannings de sauvegarde.
  • Workflows de stockage à plusieurs niveaux – Les données de sauvegarde peuvent passer automatiquement d’un niveau de stockage à un autre à mesure qu’elles vieillissent. Les points de restauration récents peuvent rester sur un support de stockage plus rapide, tandis que les sauvegardes plus anciennes sont transférées vers des destinations moins coûteuses.
  • Licences indépendantes du volume – Les coûts de licence n’augmentent pas à mesure que les données protégées s’accroissent. Les équipes peuvent étendre leur environnement de sauvegarde sans avoir à supporter de frais de licence plus élevés.
  • Coûts prévisibles – La tarification fixe facilite la planification des budgets d’infrastructure, sans frais de licence variables liés à la croissance du stockage ou aux changements de charge de travail.
  • Tarification indépendante de la charge de travail – La taille des bases de données, le nombre de serveurs et la quantité de stockage protégé n’ont aucune incidence sur les coûts de licence.
  • Coûts réduits à grande échelle – Les environnements de grande taille ou à croissance rapide peuvent ajouter des données protégées sans augmenter les frais de licence. Les économies peuvent devenir plus importantes à mesure que les volumes de données augmentent, par rapport aux modèles de licence basés sur la capacité.

Gestion et administration des sauvegardes

  • Double interface BWeb fournit une console graphique pour la gestion et la surveillance quotidiennes des tâches. Bconsole (agent utilisateur) offre aux opérateurs un contrôle total via la ligne de commande pour la création de scripts, l’automatisation et la configuration avancée.
  • Évolutivité sans limites – La même architecture de plateforme gère aussi bien des environnements composés de quelques serveurs que des déploiements comptant plusieurs milliers de serveurs, le tout sous un seul plan de gestion.
  • Détection automatique des ressources – La plateforme analyse l’infrastructure pour identifier et répertorier automatiquement les cibles de sauvegarde. La couverture de protection reste à jour à mesure que l’environnement s’étend.
  • Rapports détaillés – Des rapports planifiés couvrent les résultats des tâches, les tendances en matière de capacité, l’état de conformité et les performances opérationnelles selon une fréquence définie.
  • Intégration de systèmes externes – Bacula se connecte aux outils de surveillance, aux systèmes de tickets informatiques et aux services d’annuaire, sans nécessiter de développement sur mesure.

FAQ

Comment sauvegarder une base de données MongoDB en production sans temps d’arrêt ?

Pour les serveurs autonomes et les ensembles de répliques, le plugin Bacula Enterprise MongoDB exécute mongodump sur une base de données en production sans interrompre les opérations de lecture ou d’écriture, et la base de données reste pleinement opérationnelle tout au long des tâches de sauvegarde. Cela dit, la garantie d’absence d’interruption ne s’applique pas aux sauvegardes de clusters fragmentés, car celles-ci nécessitent (1) d’arrêter le balancier de fragments via sh.stopBalancer(), (2) de désactiver ensuite les migrations de fragments planifiées, et (3) d’empêcher les écritures et les transformations de schéma pendant toute la durée de la sauvegarde. Il faut s’attendre à ce que les écritures soient interrompues pendant la fenêtre de sauvegarde. Sauvegardez d’abord le jeu de répliques du serveur de configuration, puis capturez chaque jeu de répliques de fragment à des intervalles aussi rapprochés que possible.

Quelle est la différence entre une sauvegarde logique et une sauvegarde physique dans MongoDB ?

Une sauvegarde logique utilise mongodump pour exporter les documents, les index et les schémas de la base de données vers des fichiers d’archive BSON portables. Ces archives sont indépendantes du moteur de stockage sous-jacent et peuvent généralement être restaurées sur un autre serveur, bien que les restaurations entre versions différentes dépendent de la compatibilité des versions de MongoDB, de la version de Database Tools et de la version de compatibilité des fonctionnalités (FCV). Ainsi, toutes les combinaisons ne sont pas garanties de fonctionner. Une sauvegarde physique, en revanche, copie les fichiers de données brutes depuis le disque, ce qui est bien plus rapide pour les très grands ensembles de données, mais lie l’artefact au moteur de stockage et à la version d’origine.

Comment fonctionne la restauration à un instant donné pour les ensembles de répliques MongoDB ?

La restauration à un instant donné est disponible exclusivement pour les ensembles de répliques. Lorsqu’une restauration est nécessaire, le paramètre `replay_to` interrompt la relecture de l’oplog à n’importe quel moment de la fenêtre oplog disponible et restaure l’ensemble de répliques à l’état protégé le plus proche au sein de cette fenêtre avant la survenue d’un incident. Les serveurs autonomes et les clusters fragmentés ne prennent pas en charge la restauration à un instant donné (PITR) via ce plugin, car ils ne fournissent pas de chaîne de restauration oplog de la même manière que les ensembles de répliques. Si vous devez restaurer une collection spécifique à un instant donné, la procédure recommandée consiste à restaurer d’abord la chaîne complète de l’ensemble de répliques vers une cible hors production, puis à extraire et à réconcilier les données requises au niveau de l’application.

Peut-on restaurer une seule collection MongoDB sans restaurer l’intégralité de la base de données ?

Oui. Le plugin MongoDB de Bacula prend en charge les filtres d’inclusion et d’exclusion au niveau de la base de données et des collections, ce qui permet à une tâche de restauration de cibler une collection spécifique sans toucher au reste de la base de données. Cela permet de réduire la durée des fenêtres de restauration et de limiter le risque d’écraser des données saines en même temps que les données endommagées que vous devez remplacer. Une restauration complète de la base de données est disponible si nécessaire, mais ce n’est jamais la seule option.

Notez également que la restauration granulaire au niveau des collections s’applique aux artefacts logiques complets et ne peut pas être combinée avec la relecture de l’oplog, ce qui signifie que la restauration à un instant donné s’effectue à chaque fois à l’échelle de l’ensemble des répliques. Si vous avez besoin des deux, veillez à restaurer d’abord l’ensemble complet de la chaîne de répliques vers une cible hors production, puis à extraire les données requises au niveau de l’application.

Pourquoi utiliser le plugin MongoDB de Bacula plutôt que d’exécuter mongodump manuellement ?

mongodump est en soi un outil performant pour une exportation logique unique. Cela dit, son inconvénient est qu’il ne vous offre pas toutes les fonctionnalités (planification centralisée, conservation automatisée, validation par somme de contrôle, métadonnées de la chaîne de récupération, et la liste est longue) qui interviennent après le dump. Le plugin MongoDB de Bacula Enterprise intègre mongodump et mongorestore au sein du moteur de politiques de Bacula, de sorte que chaque tâche de sauvegarde MongoDB est correctement planifiée, cataloguée, validée et peut être restaurée à partir de la même console qui gère le reste de votre infrastructure.

Aide supplémentaire sur la sauvegarde MongoDB :