Bacula

Bacula est un ensemble de programmes qui vous permet de gérer vos sauvegardes, restaurations ou

vérifications de données d’un ordinateur sur un réseau hétérogène.

En termes techniques, il s’agit d’un programme de sauvegarde client/serveur. Bacula est relativement facile d’utilisation et efficace, tout en offant de nombreuses fonctions avancées de gestion de stockage qui facilitent la recherche et la restauration de fichiers perdus ou endommagés

Selon les statistiques de Source Forge, Bacula est le plus populaire des logiciels Open Source de qualité entreprise.

Si vous utilisez actuellement un programme tel que tar, dump, ou bru pour sauvegarder vos données, et aimeriez une solution réseau, plus de flexibilité, ou les commodités d’un catalogue, Bacula vous procurera certainement les fonctions supplémentaires que vous recherchez. Cependant, si vous avez peu d’expérience des systèmes Unix ou si vous n’avez pas l’expérience d’un système de sauvegarde sophistiqué, nous ne vous recommandons pas l’utilisation de Bacula, car il est beaucoup plus difficile à installer et utiliser que tar ou dump.

Si vous attendez de Bacula qu’il se comporte comme les programmes simples mentionnés ci-dessus et qu’il écrive sur toute cartouche insérée dans le lecteur, vous éprouverez des difficultés à travailler avec Bacula. Bacula est conçu pour protéger vos données en suivant les règles que vous spécifiez, ce qui signifie que la réutilisation d’une cartouche ne se fera qu’en dernier ressort. Il est possible de « contraindre » Bacula à écraser toute cartouche dans le lecteur, mais il est plus facile et plus efficace d’utiliser un outil plus basique pour ce genre d’opérations.

Bacula repose sur 5 composants (ou services) :

  • Bacula Director ou DIR : est le programme qui supervise toutes les opérations de sauvegarde, de restauration, de vérification et d’archivage. L’administrateur système utilise le Bacula Director pour planifier les sauvegardes et restaurer les fichiers.
  • Bacula Console : est le programme qui permet à l’administrateur ou à l’utilisateur de communiquer avec le Bacula Director. Il existe plusieurs consoles disponibles, cependant celle qui propose le plus de possibilités est la Console Shell.
  • Bacula File ou FD (File Daemon) : est le programme installé sur la machine qui doit être sauvegardée. Il est spécifique au système d’exploitation sur lequel il est exécuté. Il est aussi chargé des propriétés des fichiers lors de la restauration.
  • Bacula Storage ou SD (Storage Daemon) : est le programme qui gère les médias (bande de sauvegarde, disque dur…) qui vont accueillir les sauvergardes.
  • Le Catalogue : est un index en base de données qui répertorie l’ensemble des fichiers sauvegardés. Il est très utile lors de la restauration car il localise rapidement les données à restaurer.

Exécution des scripts 

Bacula est capable d’exécuter un script sur le serveur lui même ou sur le client avant et/ou après l’exécution d’un Job.

Cette fonctionnalité peut permettre notamment de faire la sauvegarde d’une base de données avant d’en sauvegarder le dump.

Lancement d’une tâche

Les Jobs qui sont planifiés sont démarrés automatiquement par le programmateur interne de Bacula selon leur configuration.

Un Job planifié ou non peut être démarré ou annulé en utilisant la console Bacula.

La console permet d’obtenir la liste des jobs qui tournent et de ceux qui sont terminés.

Clonage de jobs

Il est possible de cloner des Jobs afin de faire démarrer 2 tâches en même temps par exemple. La définition de la première tâche contient alors une directive qui lui impose de démarrer la seconde tâche lorsqu’elle est elle-même exéctuée.

Le clonage de Job permet aussi de sauvegarder un même ensemble de fichier en parallèle sur 2 supports de stockage différents.

Lancer des tâches en parallèle

Bacula est capable d’exécuter plusieurs tâches en parallèle. Ceci permet d’exécuter les tâches plus rapidement sans devoir attendre la fin d’une tâche avant d’en démarrer une autre. De plus, si une tâche est bloquée (en attente d’un changement de bande par exemple), cela permet aux autres tâches de s’exécuter sans devoir attendre le débloquage de la première tâche.

Il y a plusieurs contràŽles de concurrence dans le logiciel Bacula:

  • au niveau du client,
  • au niveau du service de stockage,
  • au niveau du directeur pour lui-même et pour chacune des ressources (jobs, clients, stockages).

Attention à  ne pas avoir 2 tâches en concurrence sur un même volume.

Restauration de fichiers

Bacula permet de restorer des fichiers et répertoires à  la demande en utilisant les archives disponible.

Il est ainsi possible de restaurer une version particulière d’un fichier en choisissant la date à  laquelle il a été sauvegardé s’il est présent dans plusieurs archives.

La restauration peut s’effectuer en utilisant la console Bacula ou encore en utilisant le panneau de restauration disponible dans la version graphique de la console.

La restauration de fichiers peut se faire à  un endroit différent de celui d’origine afin de conserver les fichiers originaux.

La restauration de fichiers peut se faire sur un client différent de celui d’origine ce qui permet de dupliquer des données sur plusieurs machines.

Jobs bloqués

Il se peut qu’une tâche soit bloquée pour diverses raisons (disque plein, bande pleine, bande manquante dans le lecteur, client déconnecté…). En plus d’envoyer un message aux opérateurs, il est possible de définir des actions automatiques pour éviter l’accumulation de tâches en attente:

  • Il est possible d’annuler automatiquement une tâche bloquée pendant une durée maximum,
  • Il est possible d’annuler une tâche qui est en attente dans la queue des tâches pendant une durée maximum,

A tout moment il est possible d’annuler une tâche en utilisant la console Bacula.

Tâches erronées

Il se peut que l’exécution de tâches échoue par exemple lorsqu’un client n’est pas joignable. Bacula permet de re-planifier l’exécution des tâches qui échouent automatiquement.

Il est possible de déterminer la fréquence à  laquelle les tâches sont replanifiées mais aussi le nombre maximum de planification autorisé.

Cela permet notamment de faire la sauvegarde de PC portables de manière automatique sans se soucier du fait qu’ils soient connectés ou non.

Restauration complète d’un système

Bacula permet de reconstruire un système Linux completement après un crash. La reconstruction du système est basée sur la construction d’un CD de rescue qui va permettre de:

  • démarrer le serveur,
  • re-formatter le disque à  l’identique,
  • démarrer les services réseaux afin de procéder à  la restauration des données depuis le serveur central de sauvegarde.

Les fichiers sont restaurés avec leurs attributs d’origines (dates, utilisateurs, groupes, permissions).

Un cdrom de rescue devrait être disponible pour chacun des serveurs opérationnels sauvegardés.

bextract est un outil qui permet d’extraire les archives (volumes). Il est capable d’extraire aussi bien les archives sur disques que les bandes. Il ne nécessite pas l’utilisation du catalogue pour la restauration des fichiers.

dbcheck est un outil qui est utilisé pour vérifier la cohérence des données dans le catalogue. Il est capable de corriger les problèmes détectés. Cet outil n’est à  utiliser uniquement si le directeur ne tourne pas.

bls est un outil utilisé pour lister le contenu d’une archive.

JBacula est un outil graphique qui permet de configurer le directeur.

Bacula Tray monitor est une console qui propose un affichage de l’état de tous les services qui sont configurés.

Bacula-web est une application web écrite en PHP/Smarty qui propose un résumé des tâches qui ont été exécutées dans les dernières 24 heures. Cet outil puise ses informations dans le catalogue de Bacula.