GoldZone Web Hosting

Rédigé par Gaëtan Trellu (goldyfruit)

Outils pour utilisateurs

Outils du site


configuration_du_systeme_de_sauvegarde

Ceci est une ancienne révision du document !


Configuration du système de sauvegarde Bacula.

Je dois avouer que la configuration de Bacula m'a fait passer plusieurs soirées seul devant mon écran à crier sur quiconque passé derrière moi. :-X
Ayant déjà subit les ravages de Bacula, j'espère pouvoir vous éviter la crise.

Les fichiers de configuration de Bacula se trouvent dans le répertoire “/etc/bacula/”, en listant le contenu de ce répertoire vous trouverez quatre fichiers de configuration qui nous intéresse (ainsi qu'un répertoire est deux autres fichiers) :

  1. bacula-dir.conf = Fichier de configuration du “Bacula Director”.
  2. bacula-fd.conf = Fichier de configuration du “Bacula Client”.
  3. bacula-sd.conf = Fichier de configuration du “Bacula Storage”.
  4. bconsole.conf = Fichier de configuration de la “Bacula Console”.

Piqure de rappel.

Bacula Director

  • Il gère les tâches (job)
  • Il gère les planifications des tâches (schedule)
  • Il gère les serveurs à sauvegarder (client)
  • Il gère les médias ou seront sauvegarder les fichiers (pool, storage)
  • Il gère les fichiers à sauvegarder (fileset)
  • Il gère les messages (message)
  • Il gère les catalogues (catalog)

Les liens indiqués dans cette liste peuvent devenir obsolètes.

Bacula Storage

  • Le daemon “bacula-sd” stocke et récupère les fichiers sur le support physique (Doc sur le Storage).

Bacula Client

  • Le daemon “bacula-fd” est installé sur les serveurs à sauvegarder (Doc sur le Filer.
  • Il sauvegarde les fichiers et se charge de les envoyer sur le “Director”.

Configuration

Pour des questions de lisibilité, j'ai décidé de découper le fichier de configuration principale (bacula-dir.conf) en plusieurs parties comme ci-dessous :

  • clients.conf” : Contient les machines distantes à sauvegarder.
  • filesets.conf” : Contient les directives sur les fichiers à sauvegarder ou à exclure.
  • jobs.conf” : Contient la liste des jobs à déclencher.
  • messages.conf” : Contient la forme des messages qui seront envoyés ainsi que leurs destinataires.
  • pools.conf” : Contient la liste des volumes à utiliser lors de la sauvegarde
  • schedules.conf” : Contient les planifications qui seront utilisées par les jobs.
  • storages.conf” : Contient la liste des storages à utiliser.

Pour résumé :

Le FileSet = "Que sauvegarder ?", Le Client = "Qui sauvegarder ?", Le Schedule = "Quand sauvegarder ?", Le Pool = "Sur quel volume sauvegarder ?"

Tous ces fichiers se trouvent dans “/etc/bacula/conf.d/”; “conf.d” est un répertoire que j'ai créé. Donc :

# mkdir /etc/bacula/conf.d/

bacula-dir.conf

Maintenant que nous avons décrit l'environnement dans lequel nous allons effectuer la configuration de Bacula, nous pouvons passer à la configuration du Director.
Cette dernière s'effectue dans le fichier “/etc/bacula/bacula-dir.conf”.

#
# Informations relatives au Director.
#
Director {
	# Nom du Director. "localhost" peut poser problème.
	Name = thales.0pb.org-dir
 
	# Port utilisé par le Director.
	DIRport = 9101
 
	# Fichier contenant des requêtes SQL pouvant être utilisées.
	# Par défaut ce fichier est vide mais cette directive doit-être présente.
	QueryFile = "/etc/bacula/scripts/query.sql"
 
	# Répertoire ou seront stockés les fichiers de travail de Bacula entre autre le catalogue.
	WorkingDirectory = "/var/lib/bacula"
 
	# Répertoire ou seront créés les ID des processus daemon Bacula (director, storage, filer).
	PidDirectory = "/var/run/bacula"
 
	# Nombre de jobs pouvant-être exécutés simultanément.
	Maximum Concurrent Jobs = 20
 
	# Mot de passe qui sera utilisé par le storage et par le filer (client) pour se connecter au director.
	Password = "S8jSXrIaGjucBQlFuEhmbp2jVEXf3r1v"
 
	# Redirection des messages vers le director.
	Messages = Daemon
}
 
# Inclusion de tous les fichiers de configuration présents dans "/etc/bacula/conf.d/"
@|"sh -c 'for FILE in /etc/bacula/conf.d/*.conf ; do echo @${FILE} ; done'"
 
#
# Le catalogue contient le nom de tous les fichiers sauvegardés.
#
Catalog {
	# Nom du catalogue (ici rien de bien original). :)
	Name = Catalogue
 
	# A décommenter si vous souhaitez utiliser le module DBI pour vous connecter à la base de données.
	#dbdriver = "dbi:mysql"; dbaddress = 127.0.0.1; dbport = 3306
 
	# Informations de connexion à la base de données "bacula".
	dbname = bacula; DB Address = "sql.goldzoneweb.info"; dbuser = "bacula"; dbpassword = "*****"
}
 
#
# Console restreinte utilisée par le "tray-monitor" afin d'obtenir des informations sur l'état du Director.
#
Console {
	# Nom de la console.
	Name = thales.0pb.org-mon
 
	# Mot de passe qui sera utilisé pour se connecter à cette console.
	Password = "OISF_enTkinz5ZCOXQm_Mev6DYeRkGkbF"
 
	# La console a uniquement le droit le lancer la commande "status".
	CommandACL = status, .status
}

La liste des options pour le Director est disponible à cette adresse : http://www.bacula.org/fr/dev-manual/Configurer_Director.html

bacula-sd.conf

Passons à la configuration du Storage, comme dit au début de ce document, le fichier qui nous intéresse est “/etc/bacula/bacula-sd.conf”.

#
# Informations relatives au Storage.
#
Storage {
	# Nom du Storage. "localhost" peut poser problème.
	Name = backup01.goldzoneweb.info-sd
 
	# Port utilisé par le Storage.
	SDPort = 9103
 
	# Répertoire ou seront stockés les fichiers de travail de Bacula entre autre le catalogue.
	WorkingDirectory = "/var/lib/bacula"
 
	# Répertoire ou seront créés les ID des processus daemon Bacula (director, storage, filer).
	Pid Directory = "/var/run/bacula"
 
	# Nombre de jobs pouvant-être exécutés simultanément.
	Maximum Concurrent Jobs = 20
}
 
#
# Liste des Directors qui sont autorisés à se connecter au Storage.
#
Director {
	# Nom du Director. "localhost" peut poser problème.
	Name = backup01.goldzoneweb.info-dir
 
	# Mot de passe qui sera utilisé par le storage et par le filer (client) pour se connecter au Director.
	Password = "44kjMmUSo-a9nnL_RhbZgYxwEQ7bLmjX6"
}
 
#
# Director restreint utilisée par le "tray-monitor" afin d'obtenir des informations sur l'état du Storage.
#
Director {
	# Nom du Director. "localhost" peut poser problème.
	Name = backup01.goldzoneweb.info-mon
 
	# Mot de passe qui sera utilisé se pour connecter à ce Director.
	Password = "JNxhVmxe9RJqtqlFEPTxlt0LRTqBeZl6F"
 
	# Activation du monitoring.
	Monitor = yes
}
 
#
# Support ou seront stocker les fichiers sauvegardés.
#
Device {
	# Nom du stockage qui sera utilisé dans la directive Storage de chaque job.
	Name = File
 
	# Type de media qui sera utilisé, "File" n'est pas une obligation.
	# Il est tout à fait possible de mettre "DisqueDur", cependant "File" est représentatif du type \
	# de media utilisé à savoir un disque dur.
	Media Type = File
 
	# Répertoire ou seront stockés les fichiers et répertoires sauvegardés sous forme de volume.
	Archive Device = /home/bacula/
 
	# Cette directive permet d'étiqueter automatiquement un média (à savoir notre disque dur).
	# Sans cela, l'administrateur devra se connecter à la console pour ensuite lancer la commande "label".
	# Il est recommandé de l'activer pour les médias de type disque dur.
	LabelMedia = yes;
 
	# Support de la commodité lseek() permettant de lire les informations d'un fichier.
	Random Access = Yes;
 
	# Autorise Bacula à accéder automatiquement au volume.
	AutomaticMount = yes;
 
	# Dans notre cas cette option doit restée à "no". Cette dernière n'est a utiliser \
	# uniquement pour des médias amovibles (disquette, cdrom, bande, etc...).
	RemovableMedia = no;
 
	# Comme pour "RemovableMedia", cette directive est surtout appréciée pour les médias amovibles \
	# elle évite par exemple qu'une bande soit rembobinée dès que Bacula n'en a plus besoin.
	AlwaysOpen = no;
}
 
#
# Envoie tous les messages au Director.
#
Messages {
	Name = Daemon
	director = backup01.goldzoneweb.info-dir = all
}

La liste des directives pour la ressource Storage est disponible à cette adresse : http://www.bacula.org/fr/dev-manual/Configuratio_Storage_Daemon.html

/etc/bacula/conf.d/

La configuration du Storage étant finalisée, il nous reste à finaliser la configuration du Director. En effet si vous vous souvenez, nous avons vu plus haut que la configuration du Director avait été découpée pour facilité la compréhension.

Les liens vers la documentation indiqués dans chacun de ces fichiers peuvent devenir obsolète, il sera donc nécessaire d'effectuer une petite recherche sur le site de Bacula.

Démarrage

L'installation et la configuration du Director et du Storage étant terminée, il ne reste plus qu'à lancer les services.

Lancement du service “bacula-sd”:

# /etc/init.d/bacula-sd start

Lancement du service “bacula-dir” :

# /etc/init.d/bacula.dir start
configuration_du_systeme_de_sauvegarde.1281105851.txt.bz2 · Dernière modification: 2011/01/05 15:50 (modification externe)