
Bacula 1.35 - Mode d'emploi
|
|
|
 |
|
Index
|
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.
|