Jusqu'à présent, dans les deux parties précédentes de cette courte série de blogs, nous avons discuté de plusieurs options qui peuvent avoir un impact sur le temps et la taille de la sauvegarde. Nous avons discuté de différentes options de compression et d'un paramètre lié à la limitation du transfert réseau si vous diffusez les données du nœud vers l'hôte du contrôleur. Cette fois, nous aimerions souligner autre chose - la possibilité d'effectuer des sauvegardes partielles à l'aide de MariaBackup. Voyons d'abord quelles sont les sauvegardes partielles et quels sont les défis qui y sont liés.
Sauvegardes partielles
MariaBackup est un outil de sauvegarde qui crée des sauvegardes physiques. Cela signifie qu'il copiera les données stockées dans des fichiers sur le nœud de la base de données vers l'emplacement cible. Il créera une sauvegarde cohérente de la base de données, quelque chose qui vous permet de restaurer vos données à un moment précis - le moment où la sauvegarde est terminée. Toutes les données de toutes les tables et schémas seront cohérentes. Ceci est assez important à garder à l'esprit. Des sauvegardes cohérentes peuvent être utilisées pour provisionner des répliques, exécuter une restauration ponctuelle, etc.
Les sauvegardes partielles, en revanche, sont, eh bien, partielles. Seul un sous-ensemble des tables est sauvegardé. Évidemment, cela rend la sauvegarde incohérente. Il ne peut pas être utilisé pour créer une réplique ou pour restaurer les données au même moment. Les sauvegardes partielles ont toujours leur propre usage. Ils peuvent être utilisés pour restaurer un sous-ensemble de données - au lieu de restaurer une sauvegarde complète, vous pouvez restaurer une seule table, puis extraire les données dont vous avez besoin. Bien sûr, vous pouvez faire la même chose avec des sauvegardes logiques, mais celles-ci sont assez lentes et ne conviennent pas vraiment à tout type de déploiements plus importants.
L'inconvénient est que la sauvegarde partielle n'est pas cohérente dans le temps. Cela devrait être assez évident car nous ne collectons qu'un sous-ensemble des données. Un autre défi est la restauration - vous ne pouvez pas restaurer facilement des sauvegardes partielles directement sur les systèmes de production. Premièrement, parce que ce n'est pas simple, deuxièmement, parce que ce n'est pas cohérent. Le moyen le plus sûr de restaurer une sauvegarde partielle serait de la restaurer sur un nœud séparé, puis d'utiliser mysqldump ou SELECT INTO OUTFILE pour extraire les données requises.
Regardons les options que nous offre ClusterControl concernant les sauvegardes partielles.
Sauvegardes partielles dans ClusterControl
Tout d'abord, les sauvegardes partielles ne sont pas utilisées par défaut, il faut les activer explicitement. Ensuite, un ensemble d'options apparaît qui nous permet de choisir ce que nous voulons sauvegarder. Nous pouvons choisir un schéma particulier ou un ensemble de tables. Nous pouvons faire une sauvegarde de toutes les tables sauf certaines ou nous pouvons simplement dire que nous voulons faire une sauvegarde des tables A, B et C.
Auteur de la photoDescription de la photoBien sûr, lorsque vous accédez au menu déroulant, vous voir toutes les bases de données et toutes les tables répertoriées parmi lesquelles choisir.
Nous avons sélectionné certaines des tables et des schémas et nous allons exécuter cette sauvegarde maintenant. Bien sûr, si vous le souhaitez, vous pouvez planifier des sauvegardes partielles exactement de la même manière que les sauvegardes normales.
Sur le deuxième écran, nous pouvons configurer mariabackup à notre goût, tout comme nous expliqué dans nos précédents articles de blog. Voilà, cliquez sur le bouton Créer une sauvegarde et le processus commencera.
Restauration d'une sauvegarde partielle dans ClusterControl
Une fois la sauvegarde prête, elle deviendra visible dans la liste des sauvegardes.
Nous pouvons voir qu'il s'agit d'une sauvegarde partielle car il existe une liste de schémas qui y sont inclus.
Lorsque nous essayons de restaurer une sauvegarde partielle dans un cluster de réplication asynchrone, nous sommes présenté avec deux options. Restaurer sur le nœud et restaurer et vérifier sur l'hôte autonome. Le premier n'est certainement pas quelque chose que nous voulons faire car cela effacerait certaines des données que nous n'avons pas dans la sauvegarde. Cette dernière option, en revanche, vous permet de déployer un nœud séparé et de restaurer la sauvegarde sur celui-ci.
Tout ce que nous devons faire est de choisir un nom d'hôte accessible par SSH depuis ClusterControl et assurez-vous qu'il ne sera pas arrêté après la restauration de la sauvegarde. Cela nous permettra de restaurer la sauvegarde partielle, puis d'y accéder pour extraire tout type de données que nous pourrions souhaiter.
Nous espérons que ce court blog vous donnera un aperçu de la façon dont ClusterControl vous permet d'effectuer des sauvegardes partielles, quels sont les cas d'utilisation et comment pouvez-vous les restaurer en toute sécurité.