suivant: L'état actuel de Bacula
monter: Liste des tableaux
précédent: Liste des tableaux
Table des matières
Index
Sous-sections
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.
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.
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.
Bacula est constitué des cinq composants ou services majeurs suivants :
(remerciements à Aristedes Maniatis pour ce schéma et le suivant)
- Le service Bacula Director
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 planifier les sauvegardes et restaurer les fichiers.
Pour plus de détails, consultez la section concernant la conception du Daemon Director
dans la documentation pour développeurs. Le Director est exécuté en tant que daemon
ou service (c'est à dire en tāche de fond).
- 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 est loin d'être complète, mais est
tout à fait fonctionnelle puisqu'elle possède la plupart des
possibilités de la Console shell. La troisième version est une interface
graphique wxWidgets qui permet de sélectionner interactivement les fichiers
à restaurer. Elle intègre la plupart des fonctionnalités de la console
shell, permet la complétion automatique avec la touche tabulation, et
fournit une aide instantanée relative à la commande que vous êtes en
train de taper. Pour plus de détails, consultez la section
Conception de la Console Bacula dans la documentation
pour développeurs.
- 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 Daemon dans le Guide pour Developpeurs. 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 (NT, 2000, XP, 2003 et peut-être aussi 98 et Me).
- 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 d'écriture sur vos cartouches (ou
autres média de stockage, comme par exemple des fichiers). Pour plus de
détails consultez la Documentation Pour Développeurs sur la conception du
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é ce qui permet des
restaurations et une gestion de volumes efficaces. 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.
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 de SQLite, consultez le chapitre
Installer et Configurer SQLite de ce
document.
- Le service Bacula Monitor est le programme qui permet à
l'administrateur ou à l'utilisateur de contrôler le statut des daemons Bacula (Bacula Directors, Bacula File Daemons et Bacula Storage Daemons) (voir ci-dessus). Actuellement, la seule version
disponible est une version GTK+, qui fonctionne avec Gnome et KDE (ainsi que
tout gestionnaire de fenêtre qui respecte le standard system tray
FreeDesktop.org).
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.
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.
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.
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.
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).
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).
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.
suivant: L'état actuel de Bacula
monter: Liste des tableaux
précédent: Liste des tableaux
Table des matières
Index
Kern Sibbald
2007-11-03