Guide de l'administrateur Veritas NetBackup™ for MongoDB

Last Published:
Product(s): NetBackup & Alta Data Protection (8.3)
Platform: Linux,UNIX,Windows
  1. Présentation de la protection de MongoDB à l'aide de NetBackup
    1.  
      À propos de la protection d'un cluster MongoDB partitionné, avec jeu de répliques ou autonome à l'aide de NetBackup
    2.  
      Protection des données MongoDB à l'aide de NetBackup
    3.  
      Terminologie de NetBackup for MongoDB
    4.  
      Limitations
    5.  
      Conditions requises et bonnes pratiques pour protéger MongoDB
  2. Vérifiez les conditions requises pour le plug-in MongoDB for NetBackup
    1.  
      Compatibilité des systèmes d'exploitation et des plates-formes
    2.  
      Conditions requises pour la configuration du plug-in MongoDB
  3. Configuration de NetBackup for MongoDB
    1.  
      À propos de l'outil de configuration MongoDB
    2.  
      Conditions requises pour la création manuelle du fichier mongodb.conf
    3. Configuration d'options de sauvegarde pour MongoDB à l'aide du fichier mongodb.conf
      1.  
        Mise en liste blanche du chemin d'accès au fichier de configuration sur le serveur maître NetBackup
    4.  
      Obtention de la clé RSA des nœuds MongoDB
    5. Ajout des informations d'authentification MongoDB dans NetBackup
      1.  
        À propos du fichier de configuration des informations d'authentification
      2.  
        Ajouter les informations d'authentification MongoDB dans NetBackup
      3.  
        À propos de la protection des données à l'aide des rôles MongoDB
    6.  
      Utilisation d'un utilisateur non racine comme utilisateur hôte
    7. Gestion des hôtes de sauvegarde
      1.  
        Mise en liste blanche d'un client NetBackup sur un serveur maître NetBackup
  4. Sauvegarde de MongoDB à l'aide de NetBackup
    1. Sauvegarde des données MongoDB
      1.  
        Sauvegarde d'un cluster MongoDB
    2.  
      Conditions requises pour la sauvegarde d'un cluster MongoDB
    3. Configuration des politiques NetBackup pour le plug-in MongoDB
      1.  
        Création d'une politique de sauvegarde BigData
      2.  
        Création d'une politique BigData à l'aide de la console d'administration NetBackup
      3.  
        Utilisation de l'Assistant Configuration de politique pour créer une politique BigData pour les clusters MongoDB
      4.  
        Utilisation de l'utilitaire NetBackup Policies pour créer une politique BigData pour les clusters MongoDB
      5.  
        Utilisation de l'interface de ligne de commande (CLI) NetBackup pour créer une politique BigData pour les clusters MongoDB
  5. Restauration ou récupération de données de MongoDB à l'aide de NetBackup
    1.  
      Restauration des données MongoDB
    2.  
      Conditions requises pour la restauration et la récupération MongoDB
    3. À propos des scénarios de restauration pour la base de données MongoDB à partir de l'interface BAR
      1.  
        Étapes principales du processus de restauration et de récupération
    4.  
      Utilisation de l'interface BAR pour restaurer les données MongoDB sur le même cluster
    5.  
      Utilisation de l'interface BAR pour restaurer les données MongoDB sur un autre cluster
    6.  
      À propos de la restauration de données MongoDB dans une configuration de haute disponibilité sur un autre client
    7. Récupération d'une base de données MongoDB à l'aide de la ligne de commande
      1.  
        Création ou modification du fichier rename
      2.  
        Utilisation de la ligne de commande pour récupérer une base de données MongoDB
    8.  
      Étapes manuelles après le processus de récupération
  6. Dépannage
    1.  
      À propos de la consignation du débogage NetBackup for MongoDB
    2.  
      Limitations connues pour la protection de MongoDB à l'aide de NetBackup
  7. Annexe A. Informations supplémentaires
    1.  
      Exemple de workflow de l'utilitaire de configuration MongoDB pour ajouter et mettre à jour des informations d'authentification MongoDB
  8.  
    Index

Limitations connues pour la protection de MongoDB à l'aide de NetBackup

Le tableau suivant présente les limitations connues pour la protection de MongoDB à l'aide de NetBackup :

Tableau : Limitations connues

Limitation

Solution de contournement

Dans un cluster MongoDB partitionné qui contient plusieurs processus mongos, avant le démarrage d'une opération de restauration et de récupération, seul le processus mongos à l'emplacement de restauration de l'image du jeu de répliques du serveur de configuration (CSRS) doit être en cours d'exécution.

Arrêtez manuellement tout autre processus mongos dans le cluster avant de lancer une opération de restauration et de récupération.

Une fois la récupération terminée, reconfigurez les services mongos pour qu'ils pointent vers le cluster récupéré.

Si le processus mongos n'est pas arrêté sur tous les nœuds sauf un, les autres processus mongos peuvent entrer en conflit avec l'opération de restauration et de récupération et empêcher l'accès aux données restaurées par le biais d'une connexion à mongos.

Si les processus mongos ne sont pas arrêtés avant le démarrage de la restauration et de la récupération, vous devrez arrêter manuellement les processus mongos obsolètes après la récupération, puis redémarrer tous les processus mongod et mongos récupérés dans le cluster.

Vous devez démarrer les processus MongoDB avec un chemin absolu vers les fichiers de configuration et utiliser les chemins absolus des fichiers de certificat et du fichier d'autorité de certification. Vous devez également spécifier les chemins absolus du fichier d'autorité de certification, du fichier PEM et des fichiers de clé.

N/A

Si vous exécutez un travail de récupération nécessitant une authentification différente de celle utilisée pour les modifications de sauvegarde, il se peut que le processus de récupération échoue.

Assurez-vous d'utiliser pour la récupération le même type d'authentification que pour la sauvegarde.

Si vous renommez le groupe de volumes ou le volume logique après une sauvegarde, la sauvegarde suivante risque d'échouer.

N/A

Lors de la récupération, veillez à sélectionner une seule image de sauvegarde complète et les images incrémentielles suivantes appropriées. Si vous sélectionnez plusieurs images, les données restaurées peuvent être endommagées et faire échouer la récupération.

N/A

Une fois le cluster MongoDB récupéré, seules les informations de cluster du nœud restauré sont disponibles.

Une fois le processus de récupération terminé, ajoutez manuellement les nœuds secondaires au cluster.

Pour plus d'informations, consultez l'article suivant :Ajouter des membres au jeu de répliques

Pendant le processus de sauvegarde, si l'opération d'importation MongoDB est en cours d'exécution, elle peut cesser de répondre. Évitez de procéder à l'opération d'importation MongoDB pendant le processus de sauvegarde ou de restauration.

N/A

Pendant le processus de restauration, la fenêtre contextuelle « La restauration a été lancée » s'affiche, mais le travail de restauration ne démarre pas.

Ce problème se produit lorsque vous entrez le serveur d'application dans le client source et le client de destination dans l'interface utilisateur BAR.

Assurez-vous que le client source et le client de destination sont entrés correctement. Le client source doit correspondre au serveur d'application et le client de destination, à l'hôte de sauvegarde.

Si votre environnement présente une configuration DNAT, assurez-vous que l'hôte de sauvegarde ou l'hôte de restauration ainsi que tous les nœuds MongoDB se trouvent dans le même réseau privé.

N/A

Le plug-in NetBackup for MongoDB ne prend pas en charge les options de ligne de commande bprestore-w et -print_jobid.

N/A

Les restaurations MongoDB ne sont pas prises en charge à partir des hôtes de sauvegarde. Toutes les opérations de restauration pour MongoDB doivent être lancées à partir du serveur maître NetBackup.

N/A

Si votre envoi de travail de restauration n'affiche pas le travail de restauration, vérifiez si un plug-in MongoDB est installé sur votre nœud de destination.

N/A

Si vous restaurez la base de données MongoDB à un emplacement non LVM, et que vous tentez d'effectuer une sauvegarde à partir de cet emplacement non LVM, la sauvegarde échoue.

Restaurez les données à un emplacement LVM, puis tentez de sauvegarder les données restaurées.

Le plug-in NetBackup for MongoDB ne prend pas en charge les liens physiques ou virtuels dans les dossiers de chemin d'accès aux données. N'ajoutez aucun lien physique ou virtuel qui pointe vers des emplacements d'un volume logique ou non logique différent.

NetBackup ne peut pas garantir la cohérence des données au moment des sauvegardes si le dossier de chemin d'accès aux données contient des liens physiques ou virtuels. Pendant le processus de restauration, les liens physiques ou virtuels sont créés en tant que dossiers et non en tant que liens.

N/A

Lorsque vous annulez un travail de restauration enfant pendant le processus de restauration et de récupération MongoDB, le client léger (mdbserver) n'est pas supprimé immédiatement. Il sera supprimé après l'opération de restauration suivante.

N/A

La restauration MongoDB échoue et affiche l'erreur 2850.

Assurez-vous que l'hôte et le port de destination sont valides et disposent des informations d'authentification configurées à l'aide de la commande tpconfig et du fichier d'informations d'authentification. Pour plus d'informations, reportez-vous aux journaux tar.

Après la récupération, le redémarrage manuel du nœud de partition MongoDB échoue et l'erreur suivante est consignée dans les journaux MongoDB :

NoSuchKey: Missing expected field "configsvrConnectionString"

Sur la partition MongoDB concernée par le problème, démarrez MongoDB en mode maintenance et exécutez la méthode suivante sur la collection system.version dans la base de données d'administration :

use admin
db.system.version.deleteOne
( { _id: "minOpTimeRecovery" } )

Dans le cas d'une opération de restauration et de récupération contenant un ou plusieurs jeux de répliques, les membres du jeu de répliques sont restaurés sur le jeu de répliques à l'aide de la valeur par défaut "cfg.members[#].host" fournie par rs.config().

Si cette valeur par défaut a été précédemment modifiée, il sera peut-être nécessaire de la mettre à jour après la restauration et la récupération (remplacer le nom court par le nom de domaine complet, par exemple) pour qu'elle corresponde à la configuration initiale.

Solution de contournement :

  1. Connectez-vous au cluster MongoDB avec jeu de répliques

  2. Utilisez la commande suivante pour vérifier la configuration :

    rs.conf()

  3. Utilisez la commande suivante pour mettre à jour la configuration du jeu de répliques :

    Update configuration for replica set member 0:
    cfg = rs.conf();
    cfg.members[0].host = '<hostname.domain.com>:
    <port-number>';
    rs.reconfig(cfg)
  4. Vérifiez les modifications à l'aide de la commande suivante :

    rs.conf()

  5. Répétez les étapes pour les autres jeux de répliques et pour les membres, ou seulement pour les membres du jeu de répliques.

Les travaux de sauvegarde échouent et les codes d'erreur suivants s'affichent :

  • (50) processus client abandonné

  • (1) L'opération demandée a partiellement abouti

  • (112) aucun fichier spécifié dans la liste de fichiers

Assurez-vous que les fenêtres de sauvegarde pour les sauvegardes incrémentielles sont différentes pour un même cluster MongoDB. Les fenêtres de sauvegarde d'un cluster MongoDB ne doivent pas se chevaucher pour les sauvegardes incrémentielles.

Assurez-vous que des autorisations sont définies pour l'emplacement mdbserver, l'emplacement oplog et l'emplacement de montage de snapshot. Pour plus d'informations, Se reporter à Utilisation d'un utilisateur non racine comme utilisateur hôte.

Dans un environnement de cluster MongoDB partitionné, une erreur 112 peut indiquer que le processus mongos n'est pas en cours d'exécution sur le client défini dans la politique de sauvegarde.

Une erreur 112 peut également indiquer que plusieurs hôtes de sauvegarde portant des noms d'hôte identiques sont ajoutés à la politique BigData. Utilisez un nom d'hôte unique pour chaque hôte de sauvegarde exécutant les opérations de sauvegarde.

Si vous tentez d'arrêter et de redémarrer les services mongod ou mongos (service mongod stop ou service mongod restart) après une opération de restauration et de récupération, les commandes échouent.

Cette erreur se produit lorsque les processus mongod ou mongos sont lancés en tant que service à l'aide des commandes service ou systemctl et non à l'aide d'une commande directe.

Solution de contournement :

Utilisez une autre méthode pour arrêter les services mongod ou mongos. Par exemple, mongod -f /etc/mongod.conf --shutdown ou kill <PID>. Une fois les services arrêtés, vous pourrez de nouveau utiliser les commandes service ou systemctl.

Remarque :

Si vous arrêtez les services après la restauration et la récupération, les fichiers .pid ou .sock seront conservés à l'arrêt des processus mongod ou mongos. Vous devrez supprimer ces fichiers si les services mongod ou mongos ne démarrent pas une fois arrêtés.

L'emplacement par défaut des fichiers .sock est /tmp

L'emplacement par défaut des fichiers .pid est /var/run/mongodb/

L'opération de sauvegarde échoue si une commande qui génère une sortie dans .bashrc est ajoutée.

La sauvegarde échoue avec l'erreur 6646 et affiche le message suivant :

Erreur : Impossible de communiquer avec le serveur.

Assurez-vous que .bashrc (echo ou toute autre commande générant des sorties) ne génère aucune sortie. La sortie ne doit pas renvoyer STDERR ou STDOUT si le shell n'est pas interactif.

Lorsque vous sélectionnez deux images de sauvegarde complète et que vous tentez de restaurer une image spécifique qui se trouve entre ces deux images de sauvegarde complète, la dernière image de sauvegarde complète est restaurée.

Solution de contournement :

Pendant l'opération de restauration et de récupération, ne sélectionnez qu'une image de sauvegarde complète.

Pour une récupération à un moment précis, assurez-vous d'exécuter des sauvegardes incrémentielles différentielles plus courtes.

Impossible d'afficher la progression du travail de restauration dans le moniteur d'activité.

Solution de contournement :

Pour les travaux de restauration composés qui utilisent un serveur non maître comme hôte de restauration, vous devez utiliser le bouton Mettre à jour la liste des tâches pour afficher la progression du travail de restauration dans le moniteur d'activité.

La sauvegarde échoue avec l'erreur suivante :

(6625) L'hôte de sauvegarde n'est pas autorisé à exécuter l'opération ou il ne peut pas établir une connexion au serveur d'applications.

Solution de contournement :

Sur le serveur sur lequel MongoDB est installé, assurez-vous que PasswordAuthentication n'est pas désactivé dans le fichier /etc/ssh/sshd_config.

Exécutez la commande sudo service sshd restart.

La sauvegarde échoue avec l'erreur suivante :

(6646) Impossible de communiquer avec le serveur.

Solution de contournement :

Assurez-vous que l'hôte de sauvegarde peut accéder au port défini dans le fichier mongodb.conf ou au port mdbserver_port par défaut (11000).

Une erreur peut survenir lors de la copie des fichiers de client léger sur le serveur MongoDB pour les raisons suivantes :

  • Problèmes de connectivité avec le serveur MongoDB

  • L'utilisateur ne dispose pas des autorisations requises pour copier les fichiers de client léger à cet emplacement

L'erreur suivante est consignée dans les journaux mdbserver :

error-sudo: sorry, you must have a tty to run sudo

Solution de contournement :

  • Pour désactiver l'option requiretty globalement, remplacez Defaults requiretty par Defaults !requiretty dans le fichier sudoers. Cette action modifie la configuration sudo globale.

  • Vous pouvez modifier la configuration sudo de l'utilisateur, du groupe ou de la commande. Sur le serveur sur lequel MongoDB est installé, ajoutez l'utilisateur hôte, le groupe ou la commande dans le fichier sudoers.

    Ajouter Defaults /path/to/my/bin !requiretty

    Ajouter Default <host_user> !requiretty

Le dossier des journaux nbaapireq_handler n'est pas créé sur un conteneur Flex, même après l'exécution de la commande mklogdir.

Solution de contournement :

Lorsqu'une appliance Flex est mise à niveau de la version 8.1.2 vers la version 8.2 et que le serveur de médias Flex est utilisé comme hôte de sauvegarde, vous devez créer le dossier nbaapireq_handler dans le répertoire /usr/openv/netbackup/logs/ pour consigner les journaux de restauration du plug-in MongoDB.

La restauration MongoDB échoue avec l'erreur 2850

Le chemin d'accès à la base de données cible n'existe pas et certaines autorisations sont insuffisantes pour l'utilisateur non racine.

Solution de contournement :

Assurez-vous que le chemin d'accès à la base de données cible existe et que l'utilisateur non racine dispose d'autorisations suffisantes.

La taille de snapshot décrite par le paramètre free_space_percentage_snapshot doit être définie selon la taille de cluster MongoDB et doit être suffisamment grande. Si ces critères ne sont pas remplis, la sauvegarde échoue et l'erreur suivante s'affiche :

invalid command parameter (20)

Validez la valeur free_space_percentage_snapshot avec le cluster MongoDB.

La sauvegarde échoue avec l'erreur suivante :

(13) échec de lecture du fichier pour le média

Assurez-vous que :

  • La version la plus récente de NetBackup est installée sur le serveur maître.

  • La version de Netbackup installée sur le serveur de médias est identique à celle du serveur maître et plus récente que celle de l'hôte de sauvegarde.

  • La version du client NetBackup sur l'hôte de sauvegarde est identique ou antérieure à celle du serveur de médias.

Le paramètre mdb_progress_loglevel n'est pas disponible dans l'outil de configuration MongoDB.

Pour modifier le paramètre mdb_progress_loglevel, mettez à jour le fichier mongodb.conf une fois que l'outil de configuration MongoDB l'a créé.

Pour plus d'informations, consultez le Guide de l'administrateur MongoDB.

Les snapshots ne sont pas supprimés et des instances mdbserver obsolètes sont affichées. Ce scénario peut entraîner des erreurs Cannot lstat lors des sauvegardes et des sauvegardes partiellement réussies.

Modifiez les paramètres de configuration pour les paramètres suivants dans le fichier mongodb.conf :

  • cleanup_time_in_min

  • mdbserver_timeout_min

Définissez les valeurs de sorte que les snapshots et instances obsolètes de mdbserver soient effacés avant la planification de sauvegarde complète ou incrémentielle suivante.

Si la version de NetBackup installée sur l'hôte de sauvegarde est antérieure à la 8.3 alors que le serveur maître et le serveur de médias disposent de la dernière version, les codes d'erreur suivants peuvent s'affichent pour différents scénarios :

13302, 13303, 13304, 13305, 13306, 13307, 13308, 13309, 13310, 13311, 13312, 13313, 13314, 13315

Solution de contournement :

Si des codes d'erreur non valides s'affichent, consultez la liste suivante de codes d'erreur réels pour découvrir les scénarios réels et les actions recommandées :

  • Code d'erreur non valide : 13302

    Erreur réelle : 6724

    Message : Le nombre de nœuds de restauration n'est pas valide.

  • Code d'erreur non valide : 13303

    Erreur réelle : 6725

    Message : Impossible de trouver des informations sur le jeu de répliques MongoDB.

  • Code d'erreur non valide : 13304

    Erreur réelle : 6704

    Erreur : Message : La restauration de plusieurs nœuds MongoDB sur un seul jeu de répliques n'est pas valide.

  • Code d'erreur non valide : 13305

    Erreur réelle : 6705

    Message : La restauration des données MongoDB sur un nœud d'arbitre n'est pas valide.

  • Code d'erreur non valide : 13306

    Erreur réelle : 6706

    Message : Une partition découverte avait l'état drainé. Impossible de poursuivre la sauvegarde.

  • Code d'erreur non valide : 13307

    Erreur réelle : 6707

    Message : Une version non prise en charge du moteur de stockage MongoDB a été détectée.

  • Code d'erreur non valide : 13308

    Erreur réelle : 6708

    Message : impossible d'analyser la sortie de la commande

  • Code d'erreur non valide : 13309

    Erreur réelle : 6709

    Message : Impossible d'exécuter la commande.

  • Code d'erreur non valide : 13310

    Erreur réelle : 6710

    Message : Echec de la prévérification en vue de la récupération, car des fichiers journaux WiredTiger sont présents dans le chemin de la base de données.

  • Code d'erreur non valide : 13311

    Erreur réelle : 6711

    Message : Impossible de sauvegarder le fichier de configuration MongoDB.

  • Code d'erreur non valide : 13312

    Erreur réelle : 6712

    Message : Impossible de trouver le journal des opérations de la sauvegarde précédente.

  • Code d'erreur non valide : 13313

    Erreur réelle : 6713

    Message : Consolidation du journal des opérations détectée.

  • Code d'erreur non valide : 13314

    Erreur réelle : 6714

    Message : Une erreur s'est produite pendant l'itération de la collection.

  • Code d'erreur non valide : 13315

    Erreur réelle : 6715

    Message : Erreur de vérification du journal des opérations.

Pour en savoir plus et découvrir les actions recommandées, consultez le Guide de référence des codes d'état NetBackup.

Le bouton Restaurer de l'interface utilisateur BAR de NetBackup peut être désactivé pour les images de sauvegarde MongoDB importées.

Solution de contournement :

Si vous importez les images sur le serveur maître NetBackup sur lequel elles ont été initialement sauvegardées, appliquez l'une des méthodes suivantes :

  • Exécutez l'opération de restauration à l'aide de la commande bprestore.

  • Restaurez la sauvegarde de catalogue qui active le bouton Restaurer dans l'interface utilisateur BAR, puis restaurez les images.

Si vous importez les images sur un serveur maître NetBackup autre que celui sur lequel elles ont été initialement sauvegardées, utilisez la commande bprestore pour exécuter l'opération de restauration.