Bienvenue > Blog sur la sauvegarde et la restauration > Sauvegarde de machines virtuelles avec Bacula Enterprise – Aperçu technique

Sauvegarde de machines virtuelles avec Bacula Enterprise – Aperçu technique

1 Star2 Stars3 Stars4 Stars5 Stars
(41 votes, moyenne: 4,80 de 5)
Loading...
Mis à jour 9th juillet 2021, Rob Morrison

Comment sauvegarder des machines virtuelles avec Bacula Enterprise Edition ?

backup virtual machine
Bacula Enterprise Edition fournit des outils pour sauvegarder les images des machines virtuelles via les API de sauvegarde de l’hyperviseur. Effectuer des sauvegardes à ce niveau plutôt qu’au niveau des fichiers, plus omniprésent, présente de nombreux avantages, bien que dans de nombreux cas, une approche combinée qui utilise à la fois les sauvegardes des fichiers et de l’hyperviseur fournira la meilleure couverture dans des environnements complexes avec des machines virtuelles. Ce guide couvre certains des avantages de l’ajout de la sauvegarde des machines virtuelles au niveau de l’hyperviseur à votre installation Bacula Enterprise, et démontre les bases de la configuration de ces sauvegardes pour un environnement HyperV.

Les principaux avantages de la sauvegarde des machines virtuelles au niveau de l’hyperviseur sont les suivants:

  1. L’hyperviseur est un lieu central pratique pour orchestrer toutes les opérations de sauvegarde de votre environnement virtuel.
  2. Il n’est pas nécessaire d’installer le composant client Bacula (FileDaemon) sur chaque machine virtuelle individuellement.
  3. Les nouveaux clients sont automatiquement détectés et ajoutés à la sauvegarde, ce qui réduit le risque qu’une machine soit « oubliée ».
  4. La restauration d’un seul fichier est disponible tant que l’API de l’hyperviseur nous permet d’y accéder, il n’y a donc aucune perte de fonctionnalité sur les sauvegardes de fichiers.

Il existe quelques pièges potentiels auxquels il faut faire attention, comme la sauvegarde de bases de données fonctionnant sur une machine virtuelle. Dans de nombreux cas, le logiciel de virtualisation est capable de mettre au repos le système de fichiers grâce à l’utilisation d’outils invités, ce qui signifie souvent que les bases de données peuvent être sauvegardées de manière fiable avec une sauvegarde initiée par l’hyperviseur. Cependant, il peut être préférable d’installer un client de sauvegarde et un logiciel de sauvegarde sensible aux bases de données sur ces machines pour des sauvegardes plus granulaires des bases de données et des applications importantes. Le support de Bacula Systems peut aider à déterminer quelle est la meilleure approche pour un environnement donné.

Bacula Enterprise Edition – Moteurs de virtualisation supportés

Bacula Enterprise a des plugins pour sauvegarder les machines virtuelles avec ces fournisseurs d’hyperviseurs :

  • VMware
  • Hyper-V
  • KVM
  • Proxmox
  • Xen

Selon les outils disponibles dans l’hyperviseur, la sauvegarde est soit basée sur des instantanés, soit sur des fichiers.

Lorsque c’est possible, comme avec VMWare, les sauvegardes basées sur des images permettent des sauvegardes incrémentales et des restaurations de fichiers uniques en utilisant des outils comme le Changed Block Tracking (CBT) et les capacités de restauration de fichiers uniques présentées par l’API de sauvegarde de VMWare.

Les plugins de sauvegarde des machines virtuelles de Bacula Enterprise sont tous configurés de manière similaire. Quel que soit l’hyperviseur que vous utilisez, le processus qui suit dans ce guide est toujours similaire. Nous allons configurer la sauvegarde Hyper-V comme exemple pour la sauvegarde d’une machine virtuelle avec Bacula Enterprise Edition.

Comment sauvegarder un hôte Hyper-V avec Bacula Enterprise Edition ?

Dans votre Bacula Director, vous devrez ajouter une ressource Client pour l’hôte Hyper-V (dans notre cas, un Windows Server 2012R2 avec Hyper-V activé), une ressource FileSet (si elle n’a pas déjà été créée pour un autre client de sauvegarde ; dans Bacula, toutes les ressources peuvent être réutilisées) et enfin une ressource Job qui définit tous les paramètres de la tâche de sauvegarde (quand elle est planifiée, avec quel niveau, pour quel jeu de fichiers, etc.) Vous trouverez ci-dessous un exemple de configuration :

Extrait de bacula-dir.conf

 

Job {
Name = « HyperV-job »
JobDefs = « DefaultJob »
Client = win2012-client
FileSet = « Hyper-V »
Accurate = « Yes »
}
FileSet {
Name = « Hyper-V »
Include {
Options {
signature = MD5
}
File = « C:/dummy.txt »
Plugin = « vss:/@HYPERV/ »
}
}
Client {
Name = win2012-client
Address = 192.168.178.32
FDPort = 9102
Catalog = MyCatalog
Password = « windowspw »
File Retention = 60 days
Job Retention = 6 months
AutoPrune = yes
}

C’est tout ce dont vous avez besoin pour commencer. La ligne du plugin dans le jeu de fichiers indique à Bacula de sauvegarder toutes les machines virtuelles trouvées sur cet hyperviseur. Veuillez noter que le FileSet contient une référence à un fichier texte factice qui est nécessaire car le snapshot VSS d’un système de fichiers Microsoft NTFS n’est déclenché que si au moins un fichier est spécifié. Ceci étant dit, si vos données Hyper-V sont réparties sur plusieurs lettres de lecteur, vous aurez besoin soit d’un fichier texte fictif sur chacune d’entre elles (à moins que vous ne fassiez également des sauvegardes de fichiers supplémentaires sur ce serveur Windows), soit d’utiliser le plugin Alldrives fourni avec le client Bacula Enterprise pour Windows.

Le job de sauvegarde ci-dessus nommé « HyperV-job » a été exécuté et s’est terminé avec succès. Voici le journal de bord de cette tâche de sauvegarde :

Backup joblog

 

22-Jun 09:26 centos6-64-dir JobId 4: No prior Full backup Job record found.
22-Jun 09:26 centos6-64-dir JobId 4: No prior or suitable Full backup found in catalog. Doing FULL backup.
22-Jun 09:26 centos6-64-dir JobId 4: Start Backup JobId 4, Job=HyperV-job.2018-06-22_09.26.08_12
22-Jun 09:26 centos6-64-dir JobId 4: Using Device « FileChgr1-Dev2 » to write.
22-Jun 09:26 centos6-64-sd JobId 4: Volume « Vol-0001 » previously written, moving to end of data.
22-Jun 09:26 win-ud8s2399ti8-fd JobId 4: VSS plugin start backup Job.
22-Jun 09:26 win-ud8s2399ti8-fd JobId 4: Generate VSS snapshots. Driver= »Win64 VSS »
22-Jun 09:26 win-ud8s2399ti8-fd JobId 4: Snapshot mount point: C:\
22-Jun 09:28 win-ud8s2399ti8-fd JobId 4: VSS Writer
(BackupComplete): « Task Scheduler Writer », State: 0x1 (VSS_WS_STABLE)
22-Jun 09:28 win-ud8s2399ti8-fd JobId 4: VSS Writer
(BackupComplete): « VSS Metadata Store Writer », State: 0x1 (VSS_WS_STABLE)
22-Jun 09:28 win-ud8s2399ti8-fd JobId 4: VSS Writer
(BackupComplete): « Performance Counters Writer », State: 0x1 (VSS_WS_STABLE)
22-Jun 09:28 win-ud8s2399ti8-fd JobId 4: VSS Writer
(BackupComplete): « System Writer », State: 0x1 (VSS_WS_STABLE)
22-Jun 09:28 win-ud8s2399ti8-fd JobId 4: VSS Writer
(BackupComplete): « Microsoft Hyper-V VSS Writer », State: 0x1 (VSS_WS_STABLE)
22-Jun 09:28 win-ud8s2399ti8-fd JobId 4: VSS Writer
(BackupComplete): « ASR Writer », State: 0x1 (VSS_WS_STABLE)
22-Jun 09:28 win-ud8s2399ti8-fd JobId 4: VSS Writer
(BackupComplete): « WMI Writer », State: 0x1 (VSS_WS_STABLE)
22-Jun 09:28 win-ud8s2399ti8-fd JobId 4: VSS Writer
(BackupComplete): « Registry Writer », State: 0x1 (VSS_WS_STABLE)
22-Jun 09:28 win-ud8s2399ti8-fd JobId 4: VSS Writer
(BackupComplete): « COM+ REGDB Writer », State: 0x1 (VSS_WS_STABLE)
22-Jun 09:28 win-ud8s2399ti8-fd JobId 4: VSS Writer
(BackupComplete): « Shadow Copy Optimization Writer », State: 0x1 (VSS_WS_STABLE)
22-Jun 09:28 centos6-64-sd JobId 4: Elapsed time=00:02:15, Transfer rate=22.30 M Bytes/second
22-Jun 09:28 centos6-64-sd JobId 4: Sending spooled attrs to the Director. Despooling 13,343 bytes …
22-Jun 09:28 centos6-64-dir JobId 4: Bacula Enterprise centos6-64-dir 8.10.2
(25Apr18): Build OS: x86_64-redhat-linux-gnu-bacula-enterprise redhat JobId: 4 Job: HyperV-job.2018-06-22_09.26.08_12
Backup Level: Full (upgraded from Incremental) Client: « win2012-client » 8.10.2
(25Apr18) Microsoft Datacenter Edition (build 9200), 64-bit,Cross-compile,Win64 FileSet: « Hyper-V »
2018-06-22 09:22:15 Pool: « File » (From Job resource) Catalog: « MyCatalog » (From Client resource)
Storage: « File1 » (From Job resource) Scheduled time: 22-Jun-2018 09:26:06
Start time: 22-Jun-2018 09:26:10 End time: 22-Jun-2018 09:28:25
Elapsed time: 2 mins 15 secs Priority: 10 FD Files Written: 36 SD Files Written: 36 FD
Bytes Written: 3,011,737,880 (3.011 GB) SD Bytes Written: 3,011,748,601 (3.011 GB) Rate: 22309.2 KB/s
Software Compression: None Comm Line Compression: 69.7% 3.3:1 Snapshot/VSS: yes
Encryption: no Accurate: yes Volume name(s): Vol-0001 Volume Session Id: 4 Volume Session Time: 1529652856
Last Volume Bytes: 3,021,011,807 (3.021 GB) Non-fatal FD errors: 0 SD Errors: 0
FD termination status: OK SD termination status: OK Termination: Backup OK
22-Jun 09:28 centos6-64-dir JobId 4: Begin pruning Jobs older than 6 months .
22-Jun 09:28 centos6-64-dir JobId 4: No Jobs found to prune.
22-Jun 09:28 centos6-64-dir JobId 4: Begin pruning Files.
22-Jun 09:28 centos6-64-dir JobId 4: No Files found to prune.
22-Jun 09:28 centos6-64-dir JobId 4: End auto prune.

Comme vous pouvez le constater, la sauvegarde s’est terminée avec le statut « Backup OK », ce qui, bien sûr, est exactement ce que vous souhaitez pour tous vos travaux de sauvegarde avec Bacula Enterprise. Dans le journal des tâches, au-dessus du résumé, Bacula affiche des informations détaillées sur ce qui se passe sur le client et le Storage Daemon, avec des horodatages. En particulier, vous pouvez voir les informations du snapshot VSS avec les détails de tous les auteurs VSS dans l’exemple de joblog ci-dessus.

backup virtual machine

La restauration des machines virtuelles contenues fonctionne comme toute autre restauration dans Bacula. Depuis Bweb ou bconsole, naviguez jusqu’au job souhaité, qu’il s’agisse du plus récent ou d’un point précis dans le temps. Sélectionnez ensuite les données que vous souhaitez restaurer, soit tout, soit un seul fichier, soit une machine virtuelle spécifique. Enfin, lancez la restauration, soit à l’emplacement d’origine si la machine virtuelle a été supprimée, soit en effectuant une restauration croisée vers un hôte différent. La récupération après sinistre est simplifiée de manière drastique avec la possibilité de restaurer des machines entières sur un matériel différent dans un nouvel emplacement en un seul clic.

Les exemples de configuration Bacula que nous avons partagés ci-dessus s’appliquent à la sauvegarde des machines virtuelles Hyper-V. Les autres hyperviseurs que nous supportons fonctionnent de manière très similaire, et chaque plugin Bacula Enterprise est accompagné d’une documentation complète sur les ressources à définir et sur les options spécifiques à chaque hyperviseur disponible dans le FileSet. Par exemple, nous avons choisi dans l’exemple ci-dessus de sauvegarder toutes les machines virtuelles de l’hôte Hyper-V, mais nous aurions également pu sélectionner des éléments individuels pour la sauvegarde des machines virtuelles. Si vous divisez la tâche de sauvegarde en parties plus petites comme cela, vous obtenez une expérience de restauration plus fine, vos sauvegardes seront plus rapides parce que les tâches sont plus petites, et vous pouvez exécuter plusieurs tâches en parallèle pour accélérer le processus global.

Sauvegarder de KVM avec Bacula Enterprise

Bacula Enterprise contribue à rendre l’ensemble du processus de sauvegarde/récupération KVM aussi simple que possible. Les clients individuels n’ont pas besoin d’installer de logiciel ou de script supplémentaire, et les utilisateurs ont un contrôle total sur les données qui sont sauvegardées ou restaurées. Il existe également une fonction d’auto-détection, qui permet aux utilisateurs de localiser automatiquement les VM après la configuration initiale du plugin.

Bacula Enterprise permet les sauvegardes KVM à tout moment, que la VM en question soit active, en veille ou complètement éteinte. L’un des points clés du logiciel de Bacula consiste à effectuer des sauvegardes de VM sans interruption de service et avec une cohérence totale des données, car les sauvegardes de VM ont tendance à prendre beaucoup de temps et de ressources, ralentissant tous les autres processus du système.

Il est également possible d’économiser à la fois du stockage et de la bande passante grâce aux fonctions de déduplication globale des points d’extrémité et de snapshot de Bacula. Le principe général de fonctionnement de Bacula est quelque peu similaire à la façon dont les sauvegardes sont habituellement effectuées dans KVM – en créant des instantanés et en les déposant à des endroits spécifiques. Cependant, Bacula, contrairement à la majorité des scripts de sauvegarde habituels, n’a pas besoin d’être installé sur le système en premier lieu et travaille au niveau de l’hyperviseur pour commencer, via une technologie sans agent.

Sauvegarder Xen avec Bacula Enterprise

Avec Xen, Bacula Enterprise a un processus spécifique qui comprend

  • Le nettoyage avant le démarrage du processus (suppression des snapshots plus anciens ou bloqués)
  • La création d’un nouveau snapshot de la VM invitée en question
  • L’exportation des données du snapshot vers un démon de stockage Bacula via la commande vm-export de XenServer
  • Suppression ultérieure du snapshot.

Les états d’arrêt et de fonctionnement sont tous deux acceptables pour le processus de sauvegarde. Il existe également un modèle de titre spécifique pour les anciens snapshots qui seront supprimés lors du processus de sauvegarde : BaculaSnapshot_<UUID>_JobID_<NR>. Bien entendu, le module Citrix Hypervisor vous notifiera sous la forme d’un journal des informations sur chaque processus de sauvegarde de VM invitée et son statut, ainsi que sur les snapshots supprimés. Un processus de sauvegarde sauvegarde automatiquement chaque VM qu’il trouve, sauf indication contraire via un certain nombre de paramètres spécifiques du plugin, notamment :

  • vm=<name-label>
  • uuid=<uuid>
  • include=<name-label-regex>
  • exclude=<name-label-regex>
  • quiesce=<0|1>

Sauvegarder VMware avec Bacula Enterprise

Effectuer une sauvegarde des invités VMware avec Bacula est possible de deux manières différentes : en utilisant le plugin vSphere pour créer des sauvegardes d’images et en équipant chaque VM invitée d’un logiciel client Bacula.

Après avoir installé Bacula Enterprise File Daemon sur chaque VM, vous devrez penser à répartir tous les travaux de sauvegarde afin qu’ils ne s’exécutent pas en même temps et ne créent pas un effet de goulot d’étranglement. A part cela, il s’agit plus ou moins d’un processus de sauvegarde régulier. Installer le logiciel Bacula sur chaque VM vous permet de profiter d’un certain nombre de fonctionnalités :

  • Vérification du travail
  • Compression au niveau des fichiers
  • Restauration rapide de fichiers individuels
  • Détection des erreurs de somme de contrôle, etc

L’autre méthode consiste à utiliser le plugin vSphere pour sauvegarder les disques des clients au niveau brut. Dans ce cas également, il n’est pas nécessaire que chaque VM invitée ait le logiciel Bacula installé. Le plugin vSphere utilise un accès NBD ou SAN pour lire et sauvegarder le contenu de la VM en question. Cette méthode est fondamentalement différente de la précédente puisque celle-ci n’a pas besoin d’utiliser le système de fichiers pour interagir avec les fichiers, l’infrastructure ESXi n’a donc pas besoin de déléguer autant de ressources au processus de sauvegarde à chaque fois. L’inconvénient de ce processus est qu’il sauvegarde également les fichiers système inutiles, comme les fichiers temporaires Internet ou le fichier d’échange.

Sauvegarder Red Hat Virtualization avec Bacula Enterprise

Comme avec VMware, le processus de sauvegarde de RHV peut être effectué de deux manières différentes : interne et externe.

La méthode externe s’appuie sur le module RHV de Bacula Enterprise pour effectuer une série de sauvegardes différentes en téléchargeant simplement des disques via l’API. Ces méthodes ne dépendent pas de la VM dans l’environnement RHV, mais elles sont plus lentes que les autres.

La méthode externe est capable de tirer parti des types de sauvegarde incrémentielle et différentielle, chacun ayant ses propres avantages et inconvénients. La sauvegarde incrémentale est plus rapide et économise beaucoup d’espace de stockage, mais prend beaucoup de temps à restaurer s’il y a un grand nombre de sauvegardes incrémentales après la dernière sauvegarde complète. La sauvegarde différentielle est un peu plus lente que la sauvegarde incrémentale et prend un peu plus d’espace de stockage, mais sa vitesse de restauration est plus rapide et ne souffre pas de l’effet de ralentissement de la vitesse de restauration qu’a la sauvegarde incrémentale.

Il y a aussi la méthode interne, celle qui est appelée proxyVM. Le processus lui-même consiste en une VM spéciale qui est placée à l’intérieur de l’environnement RHV, et cette VM crée des sauvegardes de tous les disques qui appartiennent aux VM. Cette méthode ne peut fonctionner qu’avec un type de sauvegarde complet, mais elle est beaucoup plus rapide que les autres en général. Le processus lui-même consiste à lier la VM en question, à créer un instantané de toutes les données, et à tout délier ensuite.

Sauvegarder Proxmox avec Bacula Enterprise

Il y a trois étapes importantes qui font partie du processus de sauvegarde de Proxmox, même si la nature du processus lui-même est quelque peu similaire à d’autres.

  1. La configuration d’une VM invitée est sauvegardée
  2. Un instantané de la VM est créé (en suspendant ou en éteignant la VM en question)
  3. La commande vzdump est exécutée et les données sont sauvegardées

Le journal de sauvegarde indique toutes les étapes de la création de la sauvegarde, du début à la fin, ainsi que les sauvegardes anciennes ou périmées qui ont été supprimées au préalable. Les sauvegardes elles-mêmes sont créées au format .vma (pour la VM invitée QEMU) ou .conf et .tar (pour la VM invitée LXC). Cette tâche peut également concerner plusieurs VM à la fois, chacune ayant des noms de fichiers distincts et le format de fichier approprié.

Résumé sur la façon de sauvegarder des machines virtuelles avec Bacula

backup virtual machine
La sauvegarde des machines virtuelles via les interfaces de sauvegarde de leur hyperviseur présente de nombreux avantages par rapport aux sauvegardes traditionnelles basées sur des agents, en particulier lorsque la simplicité de gestion et la restauration après sinistre sont primordiales. Bacula Enterprise Edition vous donne la possibilité de choisir et de combiner des approches virtualisées et traditionnelles afin de fournir une solution complète de sauvegarde et de restauration pour une gamme particulièrement large d’environnements virtuels, de bases de données, d’applications et de matériel physique – le tout à partir d’une plateforme unique et évolutive.

À propos de l’auteur
Rob Morrison
Rob Morrison est le directeur marketing de Bacula Systems. Il a commencé sa carrière dans le marketing informatique chez Silicon Graphics en Suisse, où il a obtenu de bons résultats dans divers rôles de gestion du marketing pendant près de 10 ans. Au cours des 10 années suivantes, Rob a également occupé divers postes de gestion du marketing chez JBoss, Red Hat et Pentaho, assurant la croissance des parts de marché de ces sociétés bien connues. Il est diplômé de l'université de Plymouth, titulaire d'un diplôme spécialisé en médias et communications numériques, et a suivi un programme d'études à l'étranger.
Laissez un commentaire

Votre adresse email ne sera pas publiée. Les champs requis sont indiqués *