next up previous contents index
Next: L'état actuel de Bacula Up: Bacula User's Guide Previous: List of Tables   Contents   Index

Subsections


Qu'est-ce que Bacula ?

Bacula est un jeu de programmes qui vous permet (ou à l'administrateur système) de faire des sauvegardes, restaurations, et vérifications des données d'un ordinateur sur un réseau hétérogène. Bacula peut fonctionner complètement sur un seul ordinateur. Il est capable de sauvegarder sur des supports variés, y compris disques et cartouches.

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. Grâce à sa conception modulaire, Bacula est échelonnable depuis le simple système constitué d'un ordinateur, jusqu'au système de plusieurs centaines d'ordinateurs disséminés sur un vaste réseau.

Qui a besoin de Bacula ?

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 conu 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.

Si vous utilisez Amanda et aimeriez un programme de sauvegarde qui peut écrire sur plusieurs volumes (qui ne soit pas limité par la capacité de vos cartouches), Bacula peut certainement satisfaire vos besoins, d'autant que plusieurs de nos utilisateurs estiment que Bacula est plus simple à installer et utiliser que d'autres programmes équivalents.

Si vous utilisez actuellement un logiciel commercial sophistiqué tel que Legato Networker, ARCserveIT, Arkeia, ou PerfectBackup+, vous pourriez être interessé par Bacula qui fournit la plupart de leurs fonctions et qui est un logiciel libre sous licence GNU version 2.

Composants ou Services de Bacula

Bacula est constitué des cinq composants ou services majeurs suivants :

\includegraphics{./bacula-applications.eps} (remerciements à Aristedes Maniatis pour ce schéma et le suivant)

Pour réaliser avec succès les opérations de sauvegarde et restauration, les quatre services suivants doivent être configurés et lancés : le Director Daemon, le File Daemon, le Storage Daemon et MySQL, PostgreSQL ou SQLite.

Configuration de Bacula

Pour que Bacula comprenne votre système, quels clients vous voulez sauvegarder et comment, vous devez créer un certain nombre de fichiers de configuration. La suite brosse un tableau de ces opérations.

\includegraphics{./bacula-objects.eps}

Conventions utilisées dans ce document

Bacula est en constante évolution, par conséquent, ce manuel ne sera pas toujours en accord avec le code. Si un objet de ce manuel est précédé d'un astérisque (*), cela signifie que cette fonctionnalité particulière n'est pas implémentée. S'il est précédé d'un signe plus (+), cela indique que la fonction est peut-être partiellement implémentée.

Si vous lisez la version de ce manuel fournie avec les sources de Bacula, le paragraphe ci-dessus reste vrai. En revanche, si vous lisez la version en ligne : www.bacula.org/manual, veuillez garder à l'esprit que cette version décrit la version courante de développement de Bacula (celle du CVS) qui peut contenir des fonctionnalités qui n'existent pas dans la version "officielle". De même, il est généralement un peu à la traîne derrière le code.

Démarrage rapide

Pour faire fonctionner Bacula rapidement, nous vous recommandons de commencer par parcourir la section Terminologie ci-dessous, de passer rapidement en revue le chapitre suivant intitulé L'état actuel de Bacula, puis le Guide de démarrage rapide de Bacula, qui vous donnera une vue d'ensemble de la mise en oeuvre de Bacula . Après quoi vous devriez poursuivre avec le chapitre sur L'installation de Bacula, puis le chapitre Comment configurer Bacula, et finalement, le chapitre Exécuter Bacula.

Terminologie

Pour faciliter la communication autour de ce projet, nous fournissons ici les définitions de la terminologie que nous utilisons.

Administrateur
La ou les personne(s) responsable(s) de l'administration du système Bacula.

Sauvegarde
Nous utilisons ce terme pour un job Bacula qui sauvegarde des fichiers.

Fichier Bootstrap (Bootstrap File)
Le bootstrap est un fichier ASCII qui contient, sous une forme compacte, les commandes qui permettent à Bacula ou à l'utilitaire autonome bextract de restaurer les contenus d'un ou plusieurs volumes, par exemple, l'état courant d'un système qui vient d'être sauvegardé. Avec un fichier bootstrap, Bacula peut restaurer votre système sans catalogue. Vous pouvez créer un fichier bootstrap depuis un catalogue pour extraire le fichier que vous voulez.

Catalogue
Le catalogue est utilisé pour stocker des informations sommaires concernant les Jobs et Clients, les fichiers qui ont été sauvegardés ainsi que le ou les volume(s) où ils ont été sauvegardés. L'information stockée dans le catalogue permet à l'administrateur ou aux utilisateurs de déterminer quels jobs ont été exécutés, leur statut, ainsi que d'importantes caractéristiques de chaque fichier sauvegardé. Le catalogue est une ressource en ligne, mais ne contient pas les données pour les fichiers sauvegardés. La plupart des informations stockées dans le catalogue le sont aussi sur les volumes de sauvegarde (i.e. cartouches). Bien sur, les cartouches auront aussi une copie du fichier en plus de ses attributs (voir ci-dessus).

La fonction Catalogue est de celles qui distinguent Bacula de simples programmes de sauvegarde et archivage tels que dump et tar.

Client
Dans la terminologie de Bacula, le mot Client désigne une machine sauvegardée, et est synonyme de File service ou File Daemon. Nous nous y référons assez souvent par "le FD". Un client est défini dans une ressource de fichier de configuration.

Console
Le programme qui interface le Director, permettant à l'administrateur de contrôler Bacula.

Daemon
Terminologie Unix pour un programme toujours présent en arrière plan pour prendre en charge une tâche donnée. Sur les systèmes Windows, ainsi que certains Linux, les daemons sont appelés Services.

Directive
Le terme directive est utilisé pour désigner une entrée ou enregistrement à l'intérieur d'une ressource dans un fichier de configuration qui définit un élément spécifique. Par exemple, la directive Name définit le nom de la ressource.

Director
Le principal daemon serveur de Bacula qui planifie et dirige toutes les opérations de Bacula. Occasionnellement, nous le désignons par "le DIR".

Differentielle (Differential)
Une sauvegarde qui inclut tous les fichiers modifiés depuis le lancement de la dernière sauvegarde complète (Full). Notez que d'autres logiciels de sauvegarde peuvent définir ceci différemment.

Attributs de fichiers
Les Attributs de fichiers sont toutes les informations nécessaires au sujet d'un fichier pour l'identifier, et toutes ses propriétés telles taille, date de création, date de modification, permission, etc. En principe, les attributs sont intégralement manipulés par Bacula de sorte que l'utilisateur n'a jamais à s'en préoccuper. Les attributs n'incluent pas les données du fichier.

File Daemon
Le daemon exécuté sur l'ordinateur client à sauvegarder. Il est aussi désigné par Service Fichier (File Service) et parfois Service Client ou FD.

FileSet
Un FileSet est une ressource d'un fichier de configuration qui définit les fichiers à sauvegarder. Il consiste en une liste de fichiers ou répertoires inclus, une liste de fichiers ou répertoires exclus et la façon dont les fichiers seront stockés (compression, chiffrement, signatures). Pour plus de détails consultez le paragraphe Définition de la Ressource FileSet dans le chapitre Director de ce document.

Incrementale
Une sauvegarde qui inclut tous les fichiers modifiés depuis le lancement de la dernière sauvegarde complète (Full), différentielle, ou incrémentale. Normalement spécifié dans la directive Level (niveau) dans la définition de la ressource Job, ou dans une ressource Schedule.

Job
Un Job Bacula est une ressource de configuration qui définit le travail que Bacula doit effectuer pour sauvegarder ou restaurer un client particulier. Un Job consiste en un Type, (Type : backup, restore, verify, etc.), un Niveau (Level : full, incremental, ...), un FileSet, et un lieu de Stockage où écrire les fichiers (Storage device, Media Pool). Pour plus de détails consultez le chapitre Définition des Ressources Job de ce document.

Monitor
Le programme qui s'interface avec chacun des daemons pour permettre à l'utilisateur ou à l'administrateur de surveiller le statut de Bacula.

Resource
Une ressource est une partie d'un fichier de configuration qui définit une unité spécifique d'information disponible pour Bacula. Par exemple, la ressource Job définit toutes les propriétés d'un Job spécifique : nom, schedule (planification), volume pool, type de sauvegarde, niveau de sauvegarde, etc.

Restore
Une Restore est une ressource de configuration qui décrit l'opération de restauration d'un fichier (perdu ou endommagé) depuis un medium de sauvegarde. C'est l'opération réciproque d'une sauvegarde, sauf que, dans la plupart des cas, une restauration concernera un petit ensemble de fichiers tandis qu'une sauvegarde concerne le plus souvent l'ensemble des fichiers d'un système. Bien sur, après une défaillance de disque(s), Bacula peut être appelé à effectuer une restauration complète de tous les fichiers qui étaient sur le système.

Schedule
Un Schedule est une ressource de configuration qui définit le moment de l'exécution du Job Bacula. Pour utiliser un schedule, la ressource Job se réfère au nom du Schedule. Pour plus de détails, consultez la Définition de la ressource Schedule dans le chapitre Director de ce document.

Service
Terminologie Windows pour désigner un daemon -- Voir plus haut. Elle est maintenant fréquemment utilisée dans les environnements Unix aussi.

Adresses de stockage
Les informations retournées par les Storage services qui localisent de façon unique les fichiers sur un medium de sauvegarde. Elles consistent en deux parties : l'une appartient à chaque fichier sauvegardé, l'autre à l'ensemble du Job. Normalement, cette information est sauvegardée dans le catalogue de sorte que l'utilisateur n'a pas besoin de connaissances particulières des adresses de stockage. L'adresse de stockage inclut les attributs de fichiers (voir plus haut) ainsi que la localisation unique de l'information sur le volume de sauvegarde.

Storage Daemon
Le Storage Daemon, parfois désigné par "SD" est le programme qui écrit les attributs et les données sur un Volume de Stockage (Storage Volume) (Usuellement une cartouche ou un disque).

Session
Désigne en principe le dialogue interne entre le File Daemon et le Storage Daemon. Le File Daemon ouvre une session avec le Storage Daemon pour sauvegarder un Fileset, ou pour le restaurer. Une session est associée à un et un seul Job Bacula (voir plus haut).

Verify
Il s'agit d'un job qui compare les attributs du fichier actuel aux attributs qui ont été préalablement stockés dans le catalogue Bacula. Cette fonction peut être utilisée pour détecter les modifications de systèmes de fichiers critiques, à la façon de Tripwire. L'un des avantages majeurs de l'utilisation de Bacula pour cette tâche est que sur la machine que vous voulez protéger, vous pouvez n'exécuter que le File Daemon. Le Director, le Storage Daemon et le catalogue peuvent résider sur une autre machine. Par conséquent si votre serveur est un jour compromis, il est peu probable que la base de données de vérification ait été trifouillée.

Verify peut aussi être utilisé pour s'assurer que les données les plus récemment écrites sur un volume sont cohérentes avec ce qui figure dans le catalogue (c-à-d il compare les attributs de fichiers), ou encore, confronter le contenu du volume aux fichiers originaux sur le disque.

*Archive
Une opération d'archivage est effectuée après une sauvegarde, et consiste en l'exclusion des volumes sur lesquels les données sont sauvegardées de l'utilisation courante. Ces volumes sont marqués "Archived", et ne sont plus utilisés pour sauvegarder des fichiers. Tous les fichiers contenus sur un Volume Archive sont supprimés du catalogue. PAS ENCORE IMPLEMENTE.

*Update
Une opération Update synchronise les fichiers du système distant sur ceux du local. Ceci est l'équivalent d'une fonctionnalité rdist. PAS ENCORE IMPLEMENTE.

Période de rétention
Bacula reconnait plusieurs sortes de périodes de rétention. Les plus importantes sont la période de rétention des fichiers, la période de rétention des jobs et la période de rétention des volumes. Chacune de ces périodes de rétention désigne la durée pendant laquelle l'enregistrement spécifique sera conservé dans le catalogue. Ceci ne doit pas être confondu avec le temps pendant lequel les données sauvegardées sur un volume sont valides.

La période de rétention des fichiers détermine la durée pendant laquelle les enregistrements concernant les fichiers seront gardés dans le catalogue. Cette période est importante car le volume des enregistrements relatifs aux fichiers occupe, de loin, le plus d'espace dans la base de données. Par conséquent, vous devez vous assurer qu'un "élagage" (NDT : pruning) régulier de ces enregistrements est effectué. (Voir la commande retention de la Console pour plus de détails sur ce sujet).

La période de rétention des jobs est la durée pendant laquelle les enregistrements relatifs aux jobs seront conservés dans le catalogue. Notez que tous les enregistrements relatifs aux fichiers sont attachés aux jobs qui ont sauvegardé ces fichiers. Les enregistrements relatifs aux fichiers peuvent être purgés tout en conservant ceux relatifs aux jobs. Dans ce cas, l'information concernant les jobs exécutés restera disponible, mais pas les détails des fichiers sauvegardés. Normalement, lorsqu'un job est purgé, tous les enregistrements concernant les fichiers qu'il a sauvegardé le sont aussi.

La période de rétention des volumes est la durée minimale de conservation d'un volume avant qu'il ne soit réutilisé. Bacula n'effacera, en principe, jamais un volume qui contient la seule copie de sauvegarde d'un fichier. Dans les conditions idéales, le catalogue maintiendrait les entrées pour tous les fichiers sauvegardés pour tous les volumes courants. Une fois qu'un volume est écrasé, les fichiers qui étaient sauvegardés dessus sont automatiquement effacés du catalogue. Cependant, s'il y a un très gros pool de volumes ou si un volume n'est jamais écrasé, le catalogue pourrait devenir énorme. Pour maintenir le catalogue dans des proportions gérables, les informations de sauvegarde devraient être supprimées après une période de rétention des fichiers définie.

Scan
Une opération de scan consiste en un balayage du contenu d'un volume ou d'une série de volumes. Ces volumes et les informations concernant les fichiers qu'ils contiennent sont restaurés vers le catalogue Bacula. Une fois ces informations restaurées, les fichiers sauvegardés sur ces volumes pourront être aisément restaurés. Cette fonction est particulièrement utile si certains volumes ou jobs ont dépassé leur période de rétention et ont été élagués ou purgés du catalogue. Le balayage des données des volumes est effectué en utilisant le programme bscan. Consultez la section bscan du chapitre sur les utilitaires Bacula de ce manuel pour plus de détails.

Volume
Un volume est une unité d'archivage, usuellement une cartouche ou un fichier nommé sur disque où Bacula stocke les données pour un ou plusieurs jobs de sauvegarde. Tous les volumes Bacula ont un label unique (logiciel) écrit sur le volume par Bacula afin qu'il puisse être assuré de lire le bon volume. (En principe, il ne devrait pas y avoir de confusion avec des fichiers disques, mais avec des cartouches, il est facile de monter la mauvaise).

Ce que Bacula n'est pas

Bacula est un programme de sauvegarde, restauration et vérification, ce n'est pas un système complet de disaster recovery à lui seul, mais il peut en être une partie clef si vous planifiez soigneusement et suivez les instructions incluses dans le chapitre Plan de reprise d'activité avec Bacula de ce manuel.

Avec la planification appropriée, telle que décrite dans le chapitre sur le plan de reprise d'activité, Bacula peut devenir la pièce centrale de votre plan de reprise d'activité. Par exemple, si vous avez créé un(e) disque(tte) boot d'urgence et un(e) disque(tte) de secours Bacula pour sauvegarder les informations de partitionnement courantes de votre disque dur, et maintenu un jeu de sauvegardes complet de votre système, il est possible de reconstruire complètement votre système "depuis le métal brut" (NDT : From bare metal) .

Si vous avez utilisé la directive WriteBootstrap dans votre job ou quelque autre moyen pour sauvegarder un fichier bootstrap valide, vous pourrez l'utiliser pour extraire les fichiers nécessaires (sans utiliser le catalogue et sans chercher manuellement les fichiers à restaurer).

Interactions entre les services Bacula

Le diagramme fonctionnel suivant montre les interactions typiques entre les services Bacula pour un job de type sauvegarde. Chaque bloc représente en général un processus séparé (normalement un daemon). En général, le director surveille le flux d'informations. Il maintient aussi le catalogue. \includegraphics{./flow.eps}


next up previous contents index
Next: L'état actuel de Bacula Up: Bacula User's Guide Previous: List of Tables   Contents   Index
Kern Sibbald 2007-04-02