Le vocabulaire Bacula

Bacula utilise un nombre important de ressources pour définir une sauvegarde.

http://www.bacula.org/5.0.x-manuals/en/main/main/What_is_Bacula.html

Quelques définitions

Job

L'objet le plus élevé est la définition d'un Job, représentant une "sauvegarde" au sens Bacula du terme.

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 l'association d'un type d'opération à effectuer (Type : backup, restore, verify, etc.), d'un niveau de sauvegarde (Level : Full, Incremental, ...), de la définition d'un ensemble de fichiers et répertoires à sauvegarder (FileSet), et d'un lieu de stockage où écrire les fichiers (Storage, Pool).

http://www.bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html#SECTION001830000000000000000

Schedule

Un Job peut être immédiat, mais dans une stratégie de sauvegarde, il est généralement planifié via la ressource Schedule.

Le schedule détermine la date et l'instant où le job doit être lancé automatiquement, et le niveau (total, différentiel, incrémental...) du job en question.

Cette directive est optionnelle. Si elle est omise, le job ne pourra être exécuté que manuellement via la Console.

http://www.bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html#SECTION001850000000000000000

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, le risque d'erreur est plus important.

Les volumes ont certaines propriétés comme la durée de rétention des données et la possibilité d'être recyclés une fois cette durée de rétention expirée; ceci afin d'éviter de voir grossir indéfiniment l'espace disque occupé par les sauvegardes.

Pool

La ressource Pool définit l'ensemble des Volumes de stockage (cartouches ou fichiers) à la disposition de Bacula pour écrire les données. En configurant différents Pools, vous pouvez déterminer quel ensemble de volumes (ou média) reçoit les données sauvegardées.

Ceci permet, par exemple, de stocker les sauvegardes totales sur un ensemble de volumes, et les sauvegardes différentielles et incrémentales sur un autre. De même, vous pouvez assigner un ensemble de volumes à chaque machine sauvegardée.

http://www.bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html#SECTION0018150000000000000000

FileSet

Un FileSet est une ressource qui définit les fichiers à inclure dans une sauvegarde. 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).

http://www.bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html#SECTION001870000000000000000

Storage

Cette ressource définit les services de stockage que peut contacter le directeur. On y retrouve les répertoires de travail du processus, le nombre de Jobs concurrents qu'il est capable de traiter, et éventuellement, la définition des adresses IP des clients dont il accepte les connexions. Chaque Job est associé à une ressource Storage. Une ressource Storage peut être associée à plusieurs Jobs.

http://www.bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html#SECTION0018140000000000000000

Device

Véritable destination physique de la sauvegarde, la ressource Device fait le lien entre le matériel de sauvegarde (lecteur de bandes, robots de sauvegarde, mais aussi disques locaux - internes comme externes) et la ressource Storage.

http://www.bacula.org/5.0.x-manuals/en/main/main/Storage_Daemon_Configuratio.html#SECTION002030000000000000000

Catalog

La ressource Catalog précise quel catalogue utiliser pour le job courant. Actuellement, Bacula ne peut utiliser qu'un type de serveur de bases de données défini lors de sa configuration : SQLite, MySQL, PostgreSQL. En revanche, vous pouvez utiliser autant de catalogues que vous le souhaitez. Par exemple, vous pouvez avoir un catalogue par client, ou encore un catalogue pour les sauvegardes, un autre pour les jobs de type Verify et un troisième pour les restaurations.

Le catalogue (ressource Catalog) est une base de données utilisée pour stocker :

  • des informations sur les fichiers: la liste, les permissions, l'emplacement sur les volumes de sauvegarde, etc.

  • la définition de la configuration de Bacula.

Actuellement, trois formats de bases de données sont supportés : SQLite, MySQL et PostgreSQL.

SQLite est conseillé pour de petites installations, alors que MySQL est préférable pour les installations d'entreprise (à partir d'une dizaine de clients).

Attention, l'interface web ne fonctionne qu'avec les versions MySQL et PostgreSQL.

Le catalogue est une pièce majeure de Bacula, et doit également faire partie du plan de sauvegarde.

Ce catalogue peut rapidement devenir volumineux, il faut veiller au taux d'occupation et à la performance de la base de données.

Point important, la configuration de Bacula se fait à deux niveaux:

  • les fichiers de configuration ;

  • la base de données.

Bacula lit les fichiers de configuration au démarrage, et inscrit les valeurs dans la base de données du Catalogue. C'est le Catalogue qui définit la configuration utilisée par Bacula, donc il faut préférer le résultat des commandes console aux valeurs des fichiers.

http://www.bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html#SECTION0018160000000000000000