Bacula 1.35 - Mode d'emploi
Back
Installer Bacula
Index
Index
Next
Configuration du Director

Adapter les fichiers de configuration

Lors de son démarrage, chacun des programmes qui composent Bacula lit un fichier de configuration spécifié sur la ligne de commande, ou par défaut bacula-dir.conf, bacula-fd.conf, bacula-sd.conf, ou console.conf pour le Director daemon, le File daemon, le Storage daemon, et le programme Console respectivement.

Chaque service (Director, Client, Storage, Console) possède son propre fichier de configuration qui contient un groupe de directives. Dans la suite, nous désignerons ces groupes de directives par le mot Ressource. Les resources son très similaires d'un service à l'autre, mais peuvent contenir des directives différentes selon les services. Par exemple, dans le fichier de configuration du Director, la ressource Director définit le nom du Director, quelques paramètres généraux du Director et son mot de passe. Dans le fichier de configuration du File daemon, la ressource Director spécifie les Directors autorisés à utiliser le File daemon.

Avant de lancer Bacula pour la première fois, vous devez adapter chaque fichier de configuration. Des fichiers de configuration auront été créés par le processus d'installation, mais il doivent être modifiés pour correspondre à votre système. Le schéma suivant donne une vue globale des ressources.


(Remerciements à Aristedes Maniatis pour ce schéma.)

Format des directives

Bien qu'il ne soit pas nécessaire de connaître le détail de toutes les directives possibles, une connaissance basique des ressources Bacula est indispensable. Chaque directive contenue dans une ressource (entre accollades) est composé d'un mot-clef suivi du signe "=", suivi d'une ou plusieurs valeurs. Le mot clef doit être l'un de ceux connus par Bacula, et peut comporter des caractères majuscules et minuscules ainsi que des espaces.

Chaque définition de ressource DOIT comporter la directive Name, et peut optionnellement comporter la directive Description. La directive Name est utilisé pour identifier de façon unique la ressource. La directive Description sera utilisé lors de l'affichage pour offrir une identification plus aisée de la ressource. Par exemple :

Director {
  Name = "MyDir"
  Description = "Main Bacula Director"
  WorkingDirectory = "$HOME/bacula/bin/working"
}
Définit la ressource Director avec le nom "MyDir" et le répertoire de travail $HOME/bacula/bin/working. En général, si vous voulez utiliser des espaces dans le nom à droite du signe "=", vous devez l'entourer de doubles quotes. Sinon, les quotes ne sont généralement pas requises car une fois définies, les chaines quotées et non quotées sont toutes équivalentes.

Commentaires

Lors de la lecture d'un fichier de configuration, les lignes blanches sont ignorées, et tout ce qui suit le caractère dièse (#) jusqu'à la fin de la ligne est considéré comme commentaire. Un point virgule (;) indique la fin logique d'une ligne et tout ce qui suit le point virgule est considéré comme le paramètre suivant. Un paramètre qui apparaît seul sur une ligne ne nécessite pas de point virgule, vous ne verrez donc pas beaucoup de points virgule dans les exemples de ce manuel.

Casse et espaces

La casse (majuscules/minuscules) et les espaces sont totalement ignorés dans les mots-clef des directives des ressources (la partie à gauche du signe "=").

A l'intérieur des mots-clef (à gauche du signe "="), les espaces ne sont pas significatives. Ainsi, les mots-clef : name, Name, et N a m e sont tous identiques.

Les espaces après le signe "=" et avant le premier caractère de la valeur son ignorées.

En général, les espaces à l'intérieur d'une valeur sont significatives (non ignorées), et si la valeur est un nom, vous devez l'encadrer de doubles quotes pour que l'espace soit acceptée. Les noms peuvent contenir jusqu'à 127 caractères. Actuellement, un nom peut contenir n'importe quel caractère ASCII. A l'intérieur d'une chaîne quotée, tout caractère précédé d'un backslash (\) est pris tel quel (utile pour insérer des backslashes et doubles quotes (")).

Veuillez cependant noter que les noms de ressource Bacula ainsi que certains autres noms seront sévèrement limités dans l'avenir pour ne plus autoriser que les lettres (y compris accentuées ISO), nombres, et une poignée de caractères spéciaux (espaces, underscores, ...). Tous les autres caratères et ponctuations seront prohibés.

Inclure d'autres fichiers de configuration

Si vous souhaitez éclater votre fichier de configuration en fichiers plus petits, l'inclusion est possible avec la syntaxe @NomDeFichiernom de fichier est le chemin absolu vers un le fichier à inclure. Toute donnée primitive peut être remplacée par une spécification @NomDeFichier. Par exemple

Director { Name=@xxx est valide et substituera le fichier xxx à @xxx, mais Director { Name@xxx = something n'est pas valide puisque @xxx apparaît au milieu d'un (???mot clef/directive/...???)

Types de données primitives reconnus

Lorsqu'il parcourt les enregistrements de ressource, Bacula classe les données selon les types enumérés ci-dessous. En première lecture, cette liste peut vous paraître accablante, mais en réalité, tout y est d'une logique élégante et directe.
name
Un mot-clef ou un nom constitué de caractères alphanumériques, incluant le trait d'union, underscore et dollar. Le premier caractère d'un name doit être une lettre. La longueur d'un name est actuellement limitée à 127 caractères. Typiquement, les mots-clef apparaîssent à gauche d'un signe "=". Les mots-clef ne peuvent être quotés.
name-string
Une name-string est similaire à un name excepté qu'elle peut être quotée et ainsi contenir des caractères supplémentaires. La longueur des name-strings est limitée à 127 caractères. Typiquement, on les utilise à droite d'un signe "=", (i.e. ce sont les valeurs à associer aux mots-clef).
string
Une chaîne quotée contenant potentiellement n'importe quel caractère, y compris les espaces, ou une chaîne non quotée. Une string peut avoir une longueur quelconque. Typiquement, les strings sont les valeurs qui correspondent aux noms de fichiers, répertoires, ou noms de commandes système. Un Backslash (\) change le prochain caractère en lui même, de sorte que pour inclure une double quote dans une chaîne, vous devez la préceder d'un Backslash. Il en va de même pour inclure un Backslash.
directory
Un directory (Répertoire) est une chaîne, quotée ou non. Un directory est transmis à votre shelle standard pour expansion lorsqu'il est scanné. Ainsi, des constructions telles que $HOME sont interprétées correctement.
password
Il s'agit d'un mot de passe Bacula. Il est stocké en interne sous un format brouillé par MD5.
integer
Une valeur entière relative (positive ou négative) sur 32 bits.
positive integer
Une valeur entière positive sur 32 bits.
long integer
Une valeur entière sur 64 bits. Typiquement, ce sont les valeurs telles que le nombre de bytes, qui peuvent dépasser 4 milliards et ainsi nécessitent une valeur sur 64 bits.
yes/no
Soit yes, soit no.
size
Une taille specifiée en bytes. Typiquement, il s'agit d'une entrée au format scientifique (avec virgule flottante) suivie d'un modificateur optionnel. L'entrée est stockée en tant qu'entier sur 64 bits. Si un modificateur est spécifié, il doit suivre immédiatement la valeur, sans espace. Les modificateurs suivants sont reconnus:

k
1,024 (kilobytes)
kb
1,000 (kilobytes)
m
1,048,576 (megabytes)
mb
1,000,000 (megabytes)
g
1,073,741,824 (gigabytes)
gb
1,000,000,000 (gigabytes)

time
Une heure, ou une durée spécifiée en secondes. Une valeur time est stockée en interne en tant qu'entier sur 64 bits, mais il est spécifié en deux parties: un nombre et un modificateur. Le nombre peut être un entier ou un nombre à virgule flottante. S'il est spécifié en virgule flottante, il sera arrondi à l'entier le plus proche. Le modificateur est obligatoire et suit le nombre avec ou sans espace intercalé. Les modificateurs suivants sont reconnus:

seconds
secondes
minutes
minutes (60 seconds)
hours
heures (3600 seconds)
days
jours (3600*24 seconds)
weeks
semaines (3600*24*7 seconds)
months
mois (3600*24*30 seconds)
quarters
trimestres (3600*24*91 seconds)
years
années (3600*24*365 seconds)

Toute abbréviation des ces modificateurs est aussi autorisée (i.e. seconds peut être spécifié par sec ou s. Une spécification m sera interprétée en tant que mois.

La spécification d'une durée peut avoir autant de couples nombre/modificateur que vous le souhaitez. Par exemple:

1 week 2 days 3 hours 10 mins
1 month 2 days 30 sec
   
sont des spécifications valides (à partir de la version 1.35.1).

Note! Dans les vrsions de Bacula antérieures à 1.31, le modificateur était optionnel. Il est désormais obligatoire.

Types de Ressources

La table suivante énumère tous les types de ressource de la version courante de Bacula. Elle montre quelle ressource doit être définie pour chaque service (daemon). Les fichiers de configuration par défaut contiennent au moins un exemple de chaque ressource permise, aussi ne soyez pas angoissé à l'idée d'avoir à créer toutes ces directives ex nihilo.

Resource Director Client Storage Console
Catalog Oui Non Non Non
Client Oui Oui Non Non
Console Oui Non Non Oui
Device Non Non Oui Non
Director Oui Oui Oui Oui
FileSet Oui Non Non Non
Job Oui Non Non Non
JobDefs Oui Non Non Non
Message Oui Oui Oui Non
Pool Oui Non Non Non
Schedule Oui Non Non Non
Storage Oui Non Oui Non

Nons, mots de passe et autorisations

Pour qu'un daemon puisse en contacter un autre, il lui faut s'authentifier avec un mot de passe.Dans la plupart des cas, le mot de passe est associé à un nom particulier, de sorte que nom et mot de passe doivent correspondre.

Les fichiers de configuration par défautsont automatiquement définis avec des autorisations correctes et des mots de passe aléatoires. Si vous modifiez ces fichiers, vous devrez être attentif à leur cohérence.

Voici un schéma des correspondances que doivent respecter les couples "nom/mot de passe" des différents fichiers de configurations.

Director -- bacula-dir.conf:       Console -- bconsole.conf
Director {                         Director {
  Name = fw-dir   <========|====>    Name = fw-dir
  Password = aaa  <=============>    Pasword = aaa
  ...                      |         ...
}                          |       }
                           |
                           |       ======================
                           |       SD -- bacula-sd.conf
Storage {                  |       Device {
  Name = fw-sd             |         ...
  Device = DDS-4    <============>   Name = DDS-4
  MediaType = DDS-4 <============>   MediaType = DDS-4
 *Address = fd-sd          |         ...
  Password = bbb  <=====|  |       }
  ...                   |  |       Director {
}                       |  |===>     Name = fw-dir
                        |======>     Password = bbb
                           |       }
                           |
                           |       =====================
                           |       FD -- bacula-fd.conf
Client {                   |       Director {
  Name = fw-fd             |===>     Name = fw-dir
  Password = ccc  <============>     Password = ccc
  ...                                ...
}                                  }
Dans la colonne de gauche, vous trouverez les ressources Director, Storage et Client, avec leurs noms et mots de passe -- ils sont tous dans le fichier bacula-dir.conf. Dans la colonnes de droite figurent les valeurs correspondantes dans les fichiers de configuration de la Console, du Storage daemon (SD) et du File daemon (FD).

Veuillez noter que l'adresse fd-sd, qui apparaît dans la ressource Storage du Director, précédé d'une atérisque est transmis au File daemon sous forme symbolique. Le File daemon la résout alors en une adresse IP. Pour cette raison, vous devez utiliser soit une adresse IP, soit une adresse pleinement qualifiée. Une adresse telle que localhost, n'étant pas pleinement qualifiée, sera résolue par le File daemon en l'hote local du File daemon, ce qui n'est probablement pas le résultat désiré. Le mot de passe utilisé par le File daemon pour autoriser la communication avec le Storage daemon est temporaire et unique pour chaque job. Il n'est spécifié dans aucun fichier de configuration.

Informations détaillées sur chaque daemon

Les détails de chaque ressource et des directives permises sont décrits dans les chapitres suivants.

Les fichiers de configuration suivants doivent être définis:

  • Console -- Pour définir les ressources pour le programme Console (interface utilisateur avec le Director) Ce fichier définit quels Directors sont disponibles avec lesquels vous pouvez interagir.
  • Director -- Pour définir les ressources nécessaires au Director. Vous y définissez tous les Clients et Storage daemon que vous utilisez.
  • Client -- Pour définir les ressources de chaque client à sauvegarder. Vous aurez un fichier de ressources Client pour chacune des machine qui exécute un File daemon.
  • Storage -- Pour définir les ressources utilisées par chaque Storage daemon. En principe, vous aurez un seul Storage daemon qui contrôlera votre (vos) lecteur(s). Quoi qu'il en soit, si vous avez des lecteurs sur plusieurs machines, vous aurez au moins un Storage daemon par machine.


Back
Installer Bacula
Index
Index
Next
Configuration du Director
Bacula 1.35 - Mode d'emploi
La solution de sauvegardes réseau
Copyright © 2000-2004
Kern Sibbald et John Walker