Bacula Enterprise est la première solution de sauvegarde et de restauration au monde à offrir une sauvegarde avancée et automatisée des conteneurs Docker. Son module de sauvegarde Docker porte la facilité d'utilisation des conteneurs à un nouveau niveau. Cette technologie de pointe a été mise à jour pour inclure la sauvegarde et la restauration des volumes Docker.
Ce module est intégré via l'API officielle de Docker et permet aux utilisateurs de sauvegarder rapidement et facilement plusieurs conteneurs Docker sans avoir à installer un agent dans chaque conteneur. Cette sauvegarde automatisée des volumes Docker externes fait partie de la capacité de Bacula à s'intégrer complètement à l'orchestration. Elle est disponible à la plupart des niveaux d'abonnement de Bacula Enterprise sans coût supplémentaire pour une période limitée.
Que votre environnement de conteneurs déployé soit utilisé pour le "lift-and-shift" d'applications monolithiques, la refonte d'applications existantes ou la création de nouvelles applications distribuées, les développeurs et les administrateurs système peuvent utiliser la technologie avancée de Bacula avec un niveau de flexibilité particulièrement élevé - via l'interface graphique ou la ligne de commande de Bacula. Rappelez-vous, ce haut niveau de flexibilité et de possibilités de personnalisation est fondamental dans l'approche de Bacula : donner à l'utilisateur les moyens d'atteindre ses objectifs en lui offrant un large éventail d'options.
Le logiciel Bacula Enterprise est conçu pour que les entreprises puissent déployer cette solution de sauvegarde Docker pour l'ensemble de leurs environnements physiques, virtuels, cloud et tous les environnements hybrides, quelle que soit l'architecture, le tout à partir d'une seule plateforme.
Une sauvegarde et une restauration Docker efficaces sont particulièrement importantes car, lorsque la vie d'un conteneur prend fin, il peut contenir des données dont on a besoin. Cependant, en raison de la nature difficile des environnements Docker, les autres solutions de sauvegarde ne peuvent pas, à ce jour, effectuer une sauvegarde simple et efficace des conteneurs Docker - et dans presque tous les cas, pas du tout. Bacula est la seule solution à fournir une sauvegarde entièrement automatisée de Docker et de ses volumes de données.
Utilisation sûre et efficace des conteneurs Docker
Bacula Enterprise rend l'utilisation de Docker plus fiable et plus pratique. Il est même possible de sauvegarder uniquement les images définies par Docker, qui peuvent être utilisées pour créer de nouveaux conteneurs si nécessaire. Notre solution automatisée et évolutive a été conçue pour supporter les charges de travail des équipes informatiques et DevOps qui utilisent Docker, SUSE, Caas ou Openshift.
Les administrateurs systèmes et les responsables DevOps bénéficient du haut niveau de contrôle et de la flexibilité de gestion disponibles via l'interface graphique ou l'interface web de Bacula Enterprise lorsqu'ils effectuent des sauvegardes de Docker, y compris de ses volumes de données.
Télécharger une version d’essai Whitebook sur la sauvegarde de Docker
Méfiez-vous des affirmations d'autres vendeurs
Certains fournisseurs de solutions de sauvegarde et de restauration prétendent être en mesure de sauvegarder Docker et ses volumes. Ils sont toutefois extrêmement limités et se contentent d'ajouter un conteneur avec leur service client à une application conteneurisée et de l'utiliser pour sauvegarder les données spécifiques requises. Avec ces solutions, il n'existe pas de processus de restauration simple et indépendant de l'application. Alors comment sauvegarder Docker dans ce cas ? L'administrateur doit cependant s'appuyer sur une configuration manuelle minutieuse et comprendre la relation entre les entités de stockage persistant : à quelle application elles appartiennent, quels conteneurs les utilisent, etc. En bref, il s'agit d'une solution de contournement, et non d'une solution efficace et rapide.
Seul Bacula offre une solution de sauvegarde et de restauration Docker entièrement intégrée, automatisée et particulièrement rapide. Avec le module avancé de sauvegarde et de restauration Docker de Bacula, les équipes de sauvegarde n'ont pas besoin de connaître les internes des conteneurs, les applications ou les affectations de stockage. Au lieu de cela, les environnements Docker deviennent plus efficaces grâce à l'automatisation et - plus important encore - sauvegardent les précieuses données générées par un ou plusieurs conteneurs.
Sauvegarde de Docker
La sauvegarde d'un seul conteneur Docker se compose des étapes simples suivantes :
La sauvegarde d'une image système Docker ne crée pas d'instantané car chaque image système est un modèle en lecture seule utilisé pour la création du conteneur. Les sauvegardes peuvent être effectuées pour un conteneur dans n'importe quel état (créé, en cours d'exécution ou arrêté). Le module de sauvegarde Docker vous informera du début et de la fin de chaque sauvegarde de conteneur ou d'image :
Le module de sauvegarde Docker créera un seul fichier (.tar) pour tout conteneur ou image Docker qui est sauvegardé. Dans Bacula, ces fichiers sont représentés comme suit.
Plusieurs fichiers seront créés pendant une sauvegarde si plusieurs conteneurs ou images Docker sont sélectionnés pour être sauvegardés avec une seule tâche. Les noms de fichiers distincts, comme indiqué ci-dessus, permettent de localiser le conteneur ou l'image système approprié pour la restauration.
Restauration de Docker
Le module de sauvegarde Docker fournit deux cibles pour les opérations de restauration :
Restauration vers un Service Docker
Pour utiliser cette méthode de restauration, le paramètre where= ou where=/ d'une commande de restauration Bacula est utilisé.
L'archive du conteneur Docker sera envoyée au service Docker et restaurée comme une nouvelle image puis créée comme conteneur si le paramètre de restauration container_create est défini (ce qui est le cas par défaut). Si le paramètre de restauration container_create n'est pas défini, tout conteneur sera restauré au niveau de l'image uniquement et l'utilisateur devra créer ou exécuter le conteneur manuellement. Si le paramètre de restauration container_run est défini (la valeur par défaut est "no"), le conteneur restauré sera démarré immédiatement après une restauration réussie.
L'archive de l'image Docker sera chargée dans le service Docker en tant qu'image Docker originale, écrasant celle qui existe déjà. Il s'agit du comportement par défaut et il peut être modifié en définissant l'option "Replace" de la commande de restauration comme vous le souhaitez. Vous pouvez ignorer la restauration d'une image Docker déjà existante avec l'option "Replace" ou la commande ‘’Restore’’.
Le nom de conteneur ou le label d'image de conteneur par défaut peut être modifié pendant une restauration avec les paramètres de restauration container_defaultnames ou container_imageid (voir section 4.2 à la page 8).
Restauration vers un répertoire local
Pour utiliser ce mode, le paramètre where=/some/path de ‘’Restore’’ Bacula est défini comme un chemin complet sur le serveur où le module Docker est installé. Si le chemin n'existe pas, il sera créé par le module Docker de Bacula.
L'agent Bacula et son module de sauvegarde Docker doivent être installés sur l'hôte du service Docker. Docker pouvant être installé sur différents systèmes d'exploitation et distributions, il convient d'utiliser le Bacula Enterprise File Daemon correspondant à ce système d'exploitation et à cette plate-forme.
Le module est configuré à l'aide des paramètres du module définis dans une section FileSets Include de la configuration du Bacula Enterprise Director.
Paramètres d'estimation et du module Docker Backup
Ces paramètres de module facultatifs ne sont pertinents que pour les tâches de sauvegarde et d'estimation :
Paramètres de restauration du module de sauvegarde Docker
Lors d'une restauration, le module de sauvegarde Docker utilisera les mêmes paramètres facultatifs qui ont été définis pour la tâche de sauvegarde et enregistrés dans le catalogue. Certains d'entre eux peuvent être modifiés pendant le processus de restauration si nécessaire.
container_create : <yes|no> spécifie si la restauration de conteneur Docker doit créer automatiquement un conteneur. L'option par défaut consiste à créer les conteneurs lors de la restauration. Si les conteneurs doivent être restaurés en tant qu'images, ce paramètre doit être défini sur no.
container_run : <yes|no> spécifie si Docker container restore doit automatiquement créer et exécuter les conteneurs restaurés. L'option par défaut consiste à ne pas exécuter automatiquement les conteneurs restaurés. Si les conteneurs sont censés être exécutés immédiatement après avoir été restaurés, ce paramètre doit être défini sur yes.
Si ce paramètre a la valeur yes, le paramètre container_create sera ignoré.
container_imageid : <yes|no> spécifie si le module Docker doit utiliser les valeurs d'id d'image pour créer ou exécuter les conteneurs restaurés. Par défaut, les valeurs de dépôt d'images et de tags sont utilisées à cette fin. Ce paramètre sera ignoré lorsque container_create et container_run sont tous deux définis sur no car aucune opération de création ou d'exécution de conteneur ne sera effectuée.
container_defaultnames : <yes|no> spécifie si le module Docker doit configurer les noms de conteneurs en fonction du nom de conteneur original et des valeurs JobId, ce qui est la valeur par défaut. Si ce paramètre est défini à yes, le service Docker configurera les noms par défaut pour les conteneurs créés ou exécutés.
Exemples d'ensembles de fichiers de sauvegarde Docker
Dans l'exemple ci-dessous, tous les conteneurs et images Docker seront sauvegardés.
Dans cet exemple, un seul conteneur Docker avec le nom-label de "mcache1" sera sauvegardé.
Le même exemple que ci-dessus, mais en utilisant l'id du conteneur à la place :
Dans l'exemple suivant, tous les conteneurs Docker qui contiennent "ngnix" dans leur nom seront sauvegardés.
Dans ce dernier exemple, tous les conteneurs Docker, sauf ceux dont le nom commence par "test", seront sauvegardés.
Restauration vers un service Docker
Pour restaurer un conteneur ou une image vers un service Docker, l'administrateur doit exécuter la commande restore et spécifier le paramètre where comme dans cet exemple :
puis définissez tous les autres paramètres du module de restauration requis pour la restauration. Dans l'exemple de session de restauration suivant, l'option de restauration du plugin container_run est définie sur "Yes" :
Le journal du travail de restauration indiquera quel conteneur a été restauré et quel nouvel identifiant de conteneur a été créé :
Le nouveau conteneur créé lors de la restauration obtiendra un nouvel identifiant de conteneur. Ceci peut être vérifié en exécutant une commande telle que :
Restauration vers un répertoire local
Il est possible de restaurer les données des images de conteneurs et des images de modèles Docker dans un fichier sans les charger dans le service Docker. Pour ce faire, l'option where restore doit pointer vers le répertoire local :
Veuillez consulter l'exemple suivant pour le message "Docker local restore" :
Le journal du travail de restauration montrera que la restauration a été effectuée dans un répertoire local. Le journal ci-dessus a été tronqué pour une vue plus claire.