MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

ClusterControl - Gestion avancée des sauvegardes - MongoDB

La récupération après sinistre ne se termine pas sans un système de sauvegarde approprié. En cas de problème, les données peuvent être restaurées en utilisant la sauvegarde de préférence avec la dernière. Nous voudrions peut-être éviter de restaurer les données qui ne sont pas mises à jour. Il pourrait probablement y avoir des informations manquantes avec l'ancienne sauvegarde. C'est la raison pour laquelle avoir une bonne pratique de sauvegarde est crucial pour la plupart des systèmes de nos jours.

MongoDB est devenu plus populaire d'année en année. De nombreuses entreprises ont commencé à utiliser MongoDB comme l'une de leurs bases de données. L'une des caractéristiques et probablement la raison pour laquelle MongoDB est populaire est due à sa vitesse et MongoDB est facile à mettre à l'échelle. MongoDB est l'une des bases de données prises en charge dans ClusterControl. Vous pouvez déployer, importer, mettre à l'échelle et même effectuer la sauvegarde avec ClusterControl. Dans cet article de blog, nous allons passer en revue la fonctionnalité de sauvegarde avancée pour l'ensemble de réplicas MongoDB et le cluster fragmenté.

Types de sauvegarde MongoDB

MongoDB prend en charge la sauvegarde logique et physique. En plus de cela, MongoDB prend également en charge la récupération ponctuelle (PITR). Voyons quelle est la différence entre les 3 types de sauvegarde.

Sauvegarde logique

mongodump

Cet utilitaire créera une exportation binaire du contenu d'une base de données. De plus, mongodump peut exporter des données à partir d'instances mongod ou mongos, peut exporter des données à partir de déploiements autonomes, d'ensembles de répliques et de clusters partagés

Sauvegarde physique

NA

La sauvegarde physique dans MongoDB ne peut être effectuée qu'au niveau du système. À l'heure actuelle, aucune sauvegarde physique n'est disponible dans ClusterControl. La façon dont la sauvegarde physique fonctionne consiste à créer un instantané sur LVM ou un appareil de stockage.

PITR

Sauvegarde Percona pour MongoDB

Percona Backup for MongoDB a hérité de et remplace mongodb_consistent_backup, qui est déjà obsolète. Il s'agit d'une solution distribuée à faible impact permettant d'obtenir des sauvegardes cohérentes pour les clusters partitionnés MongoDB et les jeux de réplicas. Ce type de sauvegarde est logique mais pourrait en même temps servir de sauvegarde PITR.

Maintenant que nous savons quelle est la différence entre le type de sauvegarde.

Gestion des sauvegardes MongoDB

ClusterControl vous permet de créer la sauvegarde en temps réel ainsi que de la programmer selon le calendrier souhaité. Une chose à mentionner, au cas où vous voudriez programmer, ClusterControl utilisera le fuseau horaire UTC. Vous devez donc choisir la bonne heure qui convient à votre fuseau horaire afin que l'horaire s'exécute sur l'heure la moins chargée.

Allons-y et essayons d'utiliser la fonction de sauvegarde dans ClusterControl. En plus de cela, nous passerons également en revue l'une des fonctionnalités avancées qui consiste à télécharger la sauvegarde sur le cloud. À partir de ClusterControl 1.9.0, MongoDB prend en charge le téléchargement dans le cloud qui vous permet de télécharger la sauvegarde sur votre fournisseur de stockage cloud préféré.

Sauvegarde logique MongoDB

Commençons par la sauvegarde logique. Avant que la fonctionnalité de téléchargement de la sauvegarde sur le cloud puisse être utilisée, vous devez l'intégrer à votre fournisseur de cloud préféré. Pour notre cas, nous allons l'intégrer au cloud AWS. Pour effectuer l'intégration AWS complète, vous pouvez suivre les étapes suivantes :

  • Utilisez l'adresse e-mail et le mot de passe de votre compte AWS pour vous connecter à AWS Management Console en tant qu'utilisateur racine du compte AWS .

  • Sur la page IAM Dashboard, choisissez le nom de votre compte dans la barre de navigation, puis choisissez My Security Credentials.

  • Si vous voyez un avertissement concernant l'accès aux informations d'identification de sécurité pour votre compte AWS, choisissez de Continuer vers les informations d'identification de sécurité.

  • Développez la section Clés d'accès (ID de clé d'accès et clé d'accès secrète).

  • Choisissez Créer une nouvelle clé d'accès. Choisissez ensuite Télécharger le fichier de clé pour enregistrer l'ID de clé d'accès et la clé d'accès secrète dans un fichier sur votre ordinateur. Après avoir fermé la boîte de dialogue, vous ne pourrez plus récupérer cette clé d'accès secrète.

En supposant que le cluster MongoDB est déjà prêt, nous allons commencer notre processus de sauvegarde. Tout d'abord, accédez au cluster MongoDB -> Sauvegarde -> Créer une sauvegarde

Sur la page suivante, vous pouvez spécifier si vous souhaitez activer le cryptage ou ne pas. Pour le chiffrement, ClusterControl utilisera OpenSSL pour chiffrer la sauvegarde à l'aide de l'algorithme AES-256 CBC. Le chiffrement se produit sur le nœud de sauvegarde. Si vous choisissez de stocker la sauvegarde sur le nœud du contrôleur, les fichiers de sauvegarde sont diffusés au format crypté via socat ou netcat. Le cryptage est considéré comme l'une des fonctionnalités de sauvegarde avancées qui pourraient être utilisées, donc dans notre cas, nous activerons cette option. Vous pouvez également définir la durée de conservation de votre sauvegarde sur cette page. Dans notre cas, nous utiliserons le paramètre par défaut de 31 jours.

Sur la troisième page, vous devez spécifier la connexion pour le fournisseur de cloud , choisissez/créez le compartiment. Vous pouvez également spécifier la durée de conservation de votre sauvegarde dans le cloud, le paramètre par défaut est de 180 jours.

Une fois que vous cliquez sur le bouton Créer une sauvegarde, la tâche démarre instantanément et prendra un certain temps en fonction de la taille de votre base de données. Dans le même temps, la sauvegarde sera téléchargée sur le stockage en nuage (AWS). Vous remarquerez peut-être que les icônes "clé" et "nuage" sont mises en surbrillance une fois la sauvegarde terminée, comme suit :

Maintenant que vous avez la sauvegarde prête, pour restaurer la sauvegarde, l'étape est très simple. Tout ce que vous avez à faire est de cliquer sur le lien "Restaurer" et de cliquer sur le bouton "Terminer" sur la page de restauration comme suit :

Sauvegarde MongoDB PITR

Comme mentionné précédemment, Percona Backup pour MongoDB est un type de sauvegarde PITR. Avant de pouvoir utiliser ce type de sauvegarde, vous devez installer l'agent (pbm-agent) sur tous les nœuds/instances MongoDB. Avant cela, vous devez également monter un répertoire partagé sur tous les nœuds. Commençons !

Tout d'abord, vous devez configurer le serveur NFS. Pour installer un serveur NFS, vous devez choisir ou déployer n'importe quelle machine virtuelle, dans notre cas nous installerons le serveur NFS dans le nœud ClusterControl (Centos) :

[[email protected] ~]# dnf install nfs-utils

Une fois l'utilitaire NFS installé, vous pouvez démarrer le service et l'activer au démarrage du système :

[[email protected] ~]# # systemctl start nfs-server.service

[[email protected] ~]# # systemctl enable nfs-server.service

[[email protected] ~]# # état systemctl nfs-server.service

L'étape suivante consiste à configurer le fichier /etc/exports afin que le répertoire soit accessible par les clients NFS :

[[email protected] ~]# vi /etc/exports

/mnt/backups                    10.10.80.10(rw,sync,no_root_squash,no_subtree_check)

Dans le nœud clients qui est nos nœuds de base de données, nous devons également installer les packages NFS nécessaires :

[[email protected] ~]# dnf install nfs-utils nfs4-acl-tools

Une fois les packages installés, nous pouvons créer le répertoire et le monter :

[[email protected] ~]# mkdir -p /mnt/backups

[[email protected] ~]# mount -t nfs 10.10.80.10:/mnt/backups /mnt/backups

Assurez-vous de monter sur tous les nœuds de la base de données afin que nous puissions installer le pbm-agent. Considérant que tous les nœuds ont déjà le répertoire monté NFS, nous allons procéder à l'installation de l'agent maintenant. Accédez au cluster MongoDB -> Sauvegarde -> Paramètres -> Sauvegarde Percona

Une fois que vous avez cliqué sur le bouton Installer Percona Backup, l'écran suivant apparaît . Ici, vous devez spécifier le répertoire partagé. Encore une fois, assurez-vous que le répertoire a été monté dans tous vos nœuds MongoDB. Une fois le répertoire de sauvegarde spécifié, vous pouvez cliquer sur le bouton Installer et attendre la fin de l'installation.

L'installation réussie devrait ressembler à la capture d'écran suivante. Nous pouvons maintenant poursuivre le processus de sauvegarde :

Pour créer la sauvegarde à l'aide de Percona Backup, les étapes sont simples. Malheureusement, vous ne pouvez pas utiliser l'option pour chiffrer la sauvegarde en utilisant cette méthode. Pour utiliser la fonctionnalité de téléchargement sur le cloud, vous devez activer l'option avant de choisir le type de sauvegarde, sinon votre sauvegarde ne sera pas téléchargée. Vous remarquerez que la fonctionnalité de téléchargement disparaîtra une fois que vous aurez choisi "percona-backup-mongodb".

Sur la deuxième page, vous pouvez spécifier la rétention locale :

Comme pour la dernière page, vous pouvez spécifier les détails du cloud et la rétention comme dans l'exemple précédent. Le processus de restauration est le même que dans l'exemple précédent, il vous suffit de cliquer sur le lien "Restaurer" et de suivre les étapes de la page de restauration :

Conclusion

Avec ClusterControl, vous pouvez créer et télécharger votre sauvegarde MongoDB sur le cloud. Le téléchargement vers le cloud est l'une des nouvelles fonctionnalités avancées de MongoDB qui a été introduite à partir de ClusterControl 1.9.0, à condition que l'intégration au fournisseur de cloud ait été effectuée avec succès. Vous pouvez également chiffrer votre sauvegarde à l'aide de ClusterControl si vous souhaitez protéger votre sauvegarde.