Bacula 1.35 - Mode d'emploi
Index
Index
Next
Fonctionnalités

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. 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 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'experience 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 utilisez Amanda et aimeriez un programme de sauvegarde qui peut écrire sur plusieurs volumes (i.e. non 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'autre 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:


(remerciements à Aristedes Maniatis pour ce schéma et le suivant)

  • Le service Bacula Director1 est le programme qui supervise toutes les opérations de sauvegarde, restauration, vérification et archivage. L'administrateur système utilise le Bacula Director pour plannifier les sauvegardes et restaurer les fichiers. Pour plus de détails, consultez le document sur la conception du Director Services Daemon.
  • Le service Bacula Console est le programme qui permet à l'administrateur ou à l'utilisateur de communiquer avec le Bacula Director (voir ci -dessus). Actuellement, le service Bacula Console est disponible en trois versions. La première et la plus simple est d'exécuter le programme Console dans une fenètre shell (i.e. interface TTY). La plupart des administrateurs système trouveront cette méthode parfaitement adéquate. La seconde version est une interface graphique GNOME qui, pour le moment (23 novembre 2003) est loin d'être complète, mais tout à fait fonctionnelle puisqu'elle possède la plupart des possibilités de la Console shell. La documentation de la troisième version : "wx-console" est en cours de rédaction. Pour plus de détails, consultez le document sur la conception de la Console Bacula.
  • Le service Bacula File (ou programme client) est le programme installé sur la machine à sauvegarder. Il est spécifique au système sur lequel il est exécuté et a la charge de fournir les attributs des fichiers et les données requis par le Director. Les Services File sont aussi chargés de la partie dépendant du système de fichiers lors de la restauration des attributs de fichiers et des données. Pour plus de détails, consultez le document sur la conception du File Services Daemon. Ce programme est exécuté en tant que service sur la machine à sauvegarder, et la documentation s'y réfère parfois en tant que Client (par exemple dans les fichiers de configuration de Bacula). En plus du File Daemon pour Unix/Linux, il existe un File Daemon pour Windows (usuellement distribué au format binaire). Le File Daemon Windows fonctionne sur toutes les versions actuelles de Windows (95, 98, Me, NT, 2000, XP, 2003).
  • Le service Bacula Storage est le programme qui transfère les données et les attributs de fichiers aux média physiques ou aux volumes et les restitue lors de restaurations.En d'autres termes, Le storage Daemon est responsable des opérations de lecture et écriture sur vos cartouches (ou autres média de stockage, e.g. fichiers). pour plus de détails consultez le document sur la conception du Service Storage Daemon.
  • Les services Catalogue ont pour tâche de maintenir à jour la base de données des index de fichiers et volumes pour tous les fichiers sauvegardés. Les services Catalogue permettent à l'administrateur système ou à l'utilisateur de localiser rapidement et restaurer n'importe quel fichier. Les services Catalogue de Bacula le placent dans une catégorie différente de programmes tels que tar et bru, puisque le catalogue Bacula maintient un enregistrement de chaque volume utilisé, chaque job exécuté et chaque fichier sauvegardé. Bacula supporte actuellement trois bases de données différentes, MySQL, PostgreSQL, et SQLite. L'une des trois doit être choisie à la compilation de Bacula. Il existe aussi une base de données interne, mais elle n'est plus supportée.

    Les trois bases de données actuellement supportées (MySQL, PostgreSQL, ou SQLite) fournissent de nombreuses fonctions telles l'indexation rapide, requètes arbitraires, et sécurité. Bien que nous prévoyions de supporter d'autres bases de données SQL majeures, l'implémentation actuelle s'interface seulement avec MySQL, PostgreSQL, et SQLite. Pour plus de détails consultez le document sur la conception des Services Catalogue .

    Les RPMs pour MySQL et PostgreSQL font partie de la distribution Red Hat. Sinon, il est tout à fait aisé de les construire à partir des sources. Consultez le chapitre Installer et configurer MySQL ou Installer et configurer PostgreSQL de ce document pour plus de détails. Pour plus d'informations sur MySQL et PostgreSQL, consultez www.mysql.com ou www.postgresql.org.

    Configurer et construire SQLite est encore plus facile. Pour les détails de configuration d'SQLite, consultez le chapitre Installer et Configurer SQLite de ce document.

Pour réaliser avec succès les opérations de sauvegarde et restauration, les quatre service 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.

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 traine 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 un enregistrement ou un rapport-statement2 à l'intérieur d'une ressource, dans un fichier de configuration qui désigne quelque chose de spécifique. Par exemple, la directive Name définit le nom d'une ressource.
Director
Le principal daemon serveur de Bacula qui plannifie 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, chiffrage, 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.
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 Job ressource définit toutes les propriétés d'un Job spécifique : nom, schedule (plannification), 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.
Schedule3
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 adresse 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. (i.e. 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.
Periode 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" ("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é "élagagué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(sortware)" écrit sur le volume par Bacula afin qu'il puisse être sur du volume qu'il lit réellement. (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 recovery3 à lui seul, mais il peut en être une partie clef si vous plannifiez soigneusement et suivez les instructions incluses dans le chapitre Plan de reprise d'activité avec Bacula de ce manuel.

Avec la planification aproprié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"4.

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. Interactions entre les services Bacula


Index
Index
Next
Fonctionnalités
Bacula 1.35 - Mode d'emploi
La solution de sauvegardes réseau
Copyright © 2000-2004
Kern Sibbald et John Walker