Des exemples de directives de ressources device connues pour fonctionner pour
beaucoup de lecteurs de bandes communs peuvent être trouvés dans le répertoire :
<bacula-src>/examples/devices. La plupart seront énumérés ici.
Pour une discussion générale concernant les fichiers de configuration de Bacula,
les ressources et les types de données reconnus, veuillez consulter le
chapitre Configuration de ce manuel. Les définitions de
ressources Storage suivantes doivent être définies :
En général, les propriétés spécifiées au niveau de la ressource Storage définissent
des propriétés globales du Storage Daemon. Chaque fichier de configuration de
Storage Daemon doit avoir sa propre définition de ressource Storage.
La ressource Director spécifie le nom du Director qui est autorisé
à utiliser les services du Storage Daemon. Il peut exister plusieurs
ressources Director. Le nom et le mot de passe du Director doivent
s'accorder avec leurs homologues dans le fichier de configuration
du Storage Daemon.
La ressource Device spécifie les détails de chaque périphérique (en général,
un lecteur de bandes) qui peut être utilisé par le Storage Daemon. Un
Storage Daemon peut disposer de plusieurs ressources Device. En général,
les propriétés spécifiées dans la ressource Device sont spécifiques
au périphérique.
- Name = Nom-de-périphérique
-
Spécifie le nom que le Director devra utiliser pour désigner ce périphérique.
Il s'agit d'un nom logique, c'est une chaîne qui peut comporter jusqu'à 127
caractères. C'est en général une bonne idée d'utiliser un nom qui corresponde
au nom "humain" du périphérique (NDT: la vo dit "the english name"). Le nom
physique du périphérique est spécifié au niveau de la directive Archive Device
décrite ci-dessous. Le nom que vous spécifiez ici est aussi utilisé dans le
fichier de configuration de votre Director au niveau de la
directive Device de sa ressource Storage.
- Archive Device = chaîne-nom
-
La chaîne-nom (NDT : name-string dans la vo) spécifie le nom de fichier système
du périphérique de stockage géré par ce daemon. Il s'agit en général d'un nom
de périphérique amovible, par exemple un lecteur de bande désigné par "/dev/nst0"
ou "/dev/rmt/0mbn". Dans le cas d'un graveur de DVD, ce sera par exemple
/dev/hdc. Ce peut être aussi un un nom de répertoire si vous sauvegardez
sur disque. Dans ce cas, vous devez soumettre le chemin absolu vers ce
répertoire. Lorsque vous utilisez un lecteur de bandes, il est préférable
d'utiliser la variante "non-rewind" du fichier de périphérique. De plus, sur les
systèmes tels que Sun, qui disposent de plusieurs méthodes d'accès aux cartouches,
prenez soin de spécifier l'usage de la convention I/O Berkeley avec les périphériques.
le b de la spécification /dev/rmt/0mbn Solaris (Sun) est ce qui est
requis dans ce cas. Bacula ne supporte pas le comportement SysV des lecteurs de bandes.
Comme mentionné plus haut,Archive Device est, en principe, le nom d'un lecteur de bandes,
mais vous pouvez tout aussi bien spécifier le chemin absolu vers un répertoire
existant. Dans ce cas, Bacula utilisera un fichier pour stocker les données dans
le répertoire spécifié, le nom de fichier utilisé sera celui du volume tel que
spécifié dans le catalogue. Si vous souhaitez écrire dans plusieurs répertoires
(dans le but de répartir la charge sur plusieurs disques), vous devez définir deux ressources
Device, chacune comportant une Archive Device avec un répertoire différent.
Une troisième possibilité consiste à spécifier le nom d'un FIFO. Un FIFO est un
fichier spécial qui connecte deux programmes via la mémoire du noyau. Si vous
spécifiez un FIFO en guise d'Archive Device, vous devez avoir un programme qui
lit ce que Bacula écrit dans le FIFO. Lorsque le Storage Daemon démarre le job,
il attend que le programme lecteur commence à lire pendant un délai maximal de
de MaximumOpenWait secondes, au delà duquel le job est terminé. Par conséquent,
il est préférable de lancer le programme lecteur au début du job, par exemple
grâce à la directive RunBeforeJob. Pour ce type de périphérique, vous ne devez
jamais spécifier AlwaysOpen, puisque vous voulez que le Storage Daemon
ne l'ouvre que lorsqu'un job démarre, aussi veuillez attribuer explicitement
la valeur No à cette directive. Puisqu'un FIFO est un périphérique à sens
unique, Bacula ne tente pas d'en lire le label, il se contente d'y écrire. Pour
créer un volume FIFO dans le catalogue, utilisez la commande add plutôt
que la commande label afin d'éviter de tenter d'écrire un label.
Lors d'une opération de restauration, si l'Archive Device est un FIFO, Bacula
tente de lire le FIFO, aussi vous devez avoir un programme externe qui écrit dans
le FIFO. Bacula attend que ce programme commence à écrire pendant un délai
maximal de MaximumOpenWait secondes après quoi il termine le job. Comme
mentionné ci-dessus, vous pouvez utiliser la directive RunBeforeJob pour
lancer ce programme auteur dès le début du job.
La directive Archive Device est requise.
- Device Type = Spécification-de-type
-
La spécification Device Type de déclarer explicitement à Bacula quel type
de périphérique vous définissez. La valeur de Spécification-de-type peut
être l'une des suivantes :
- File
- Indique à Bacula que le périphérique est un fichier. Ce peut être
un fichier défini sur un médium fixe ou au contraire amovible (par exemple, un
périphérique USB). Tous les fichiers doivent être des périphériques en accès
sélectif (NDT : traduction Google sans doute à revoir de "random access")
- tape
- Indique à Bacula que le périphérique est un lecteur de bandes, donc à
accès séquentiel. Ces périphériques sont controlé par les appels
ioctl().
- Fifo
- Indique à Bacula que le périphérique est un périphérique à accès
séquentiel "first-in-first-out" (premier entré, premier sorti) en
lecture seule ou en écriture seule.
- DVD
- Indique à Bacula que le périphérique est un DVD. Les DVDs sont à accès
séquentiel en écriture et à accès sélectif (NDT : traduction Google sans
doute à revoir de "random access") en lecture.
La directive Device Type n'est pas requise, et si elle n'est pas spécifiée,
Bacula tentera de deviner cette information selon la spécification Archive
Device fournie. Il existe plusieurs avantages à spécifier explicitement
le type de périphérique. D'abord, sur certains systèmes, les périphériques
bloc et caractère ont le même type, ce qui signifie que sur ces systèmes,
Bacula est probablement incapable de deviner qu'un périphérique est un DVD.
Ensuite, si vous spécifiez explicitement le type de périphérique, le point de
montage n'a pas besoin d'être défini jusqu'à ce que le périphérique soit ouvert.
C'est le cas de la plupart des périphériques amovibles tels que les USB montés
par le daemon HAL. Au contraire, si le type de périphérique n'est pas
spécifié explicitement, le point de montage doit exister dès le
démarrage du Storage Daemon.
Cette directive est apparue avec la version 1.38.6 de Bacula.
- Media Type = name-string
-
La chaîne name-string spécifiée baptise le type de média supporté par
ce périphérique, par exemple, "DLT7000". Les noms de type de média sont
arbitraires, vous pouvez utiliser le nom de votre choix, mais ils doivent
être connus du catalogue pour qu'il puisse garder trace de quel daemon
peut lire quel type de média. En général, chaque type de stockage devrait
avoir un type de média unique associé. Le même nom name-string doit
apparaître dans la définition de ressource Storage appropriée du fichier
de configuration du Director.
Même si les noms que vous assignez sont arbitraires, vous devriez les choisir
avec circonspection, car le Media Type est utilisé pour déterminer le
périphérique de stockage à sélectionner lors d'une restauration. Ainsi, vous
devriez certainement utiliser le même Media Type pour tous les lecteurs
dont les cartouches sont interchangeables. Ce n'est généralement pas un
problème si vous n'avez qu'un Storage Daemon, mais c'en est un avec plusieurs
Storage Daemon, surtout s'ils utilisent des média incompatibles.
Si, par exemple, vous spécifiez le Media Type "DDS-4", Bacula pourra lors de
restaurations sélectionner tout Storage Daemon qui supporte les "DDS-4".
Si vous avez une librairie, vous voudrez peut-être baptiser son Media Type
d'un nom qui lui soit unique, à moins que vous souhaitiez pouvoir utiliser
ses volumes dans d'autres lecteurs. Vous devriez aussi vous assurer d'avoir
des noms de Media Type uniques si les media ne sont pas compatibles d'un
lecteur à l'autre. Cette spécification est requise pour tous les
périphériques.
Enfin, si vous utilisez le stockage sur disque, sachez que chaque ressource
Device a généralement un point de montage (ou répertoire) différent. Afin
que Bacula puisse sélectionner correctement la ressource Device à utiliser,
chacun doit avoir un Media Type distinct.
- Autochanger = Yes|No
-
Si cette directive est à yes, alors Bacula considère que le périphérique
concerné est dans une librairie, et il vous faut spécifier une ressource
Autochanger qui pointe vers les ressources Device. Vous devez
aussi renseigner la directive Changer Device. Si la directive est à No
(valeur par défaut), les volumes doivent être changés manuellement. Vous devriez
aussi avoir une directive identique à la Storage resource dans
le fichier de configuration du Director, de sorte que Bacula vous demande le slot
lors de l'étiquetage des cartouches.
- Changer Device = chaîne-nom
-
La chaîne-nom spécifiée doit être le nom de périphérique SCSI générique
associé à l'Archive Device spécifiée dans la ressource Device. Ce nom de
périphérique SCSI générique devrait être spécifié si vous avez une librairie
ou si vous n'avez qu'un lecteur standard mais souhaitez utiliser la commande
Alert (voir ci-dessous). Par exemple, sur les systèmes Linux, vous spécifierez
certainement /dev/nst0 pour le nom d'Archive Device, et /den/sg0 pour
le nom de Changer Device. Selon votre configuration, le nombre de librairies dont
vous disposez et leurs types, le nom que vous serez amené à spécifier ici peut varier.
Cette directive est optionnelle. Consultez le chapitre
Utiliser une librairie de ce manuel pour plus de détails
concernant les directives relatives aux librairies.
- Changer Command = chaîne nom
-
La chaîne-nom désigne un programme externe qui aura pour tâche le
changement des volumes à la demande de Bacula. En principe, cette directive
n'est spécifiée qu'au niveau de la ressource AutoChanger, qui est alors
utilisée pour tous les périphériques. Cependant, vous pouvez parfaitement
utiliser une commande Changer Command différente pour chaque ressource Device.
La plupart du temps, vous spécifierez le script mtx-changer fourni avec
Bacula de la façon suivante :
Changer Command = "/path/mtx-changer %c %o %S %a %d"
Et vous installerez le programme mtx sur votre système (paquetage tiers).
Un exemple de cette commande figure dans le fichier de configuration par défaut
du Storage Daemon, bacula-sd.conf. Pour plus de détails concernant les
substitutions de caractères qui peuvent être utilisées pour configurer
votre librairie, veuillez consulter le chapitre sur
l'utilisation des Librairies. Les utilisateurs
de FreeBSD voudront probablement jeter un oeil aux quelques scripts
fournis dans le répertoire examples/autochangers.
- Alert Command = name-string
-
La chaîne-nom désigne un programme externe à appeler au terme
de chaque job après que le périphérique ait été libéré. Le but de cette
commande est de récupérer d'éventuels messages d'alerte du lecteur pour
vous prévenir si quelque chose ne fonctionne pas correctement (ces messages
existent au moins sur la plupart des lecteurs modernes). Les mêmes
substitutions que celles décrites au niveau de la Changer command
peuvent être utilisées ici. Pour plus d'informations, veuillez consulter
le chapitre sur les Librairies de ce manuel.
Notez que vous pouvez trouver un usage à cette commande sans nécessairement
posséder une librairie. L'exemple ci-dessous utilise le programme tapeinfo
qui vient avec le paquet mtx mais peut être utilisé avec n'importe quel
lecteur. Vous devrez tout de même spécifier une directive Changer Device
dans votre ressource Device (voir ci-dessus) afin que le périphérique SCSI
générique puisse être édité dans la commande (avec %c).
Voici un exemple qui affiche les alertes en provenance du lecteur dans les
rapports de jobs :
Alert Command = "sh -c 'tapeinfo -f %c | grep TapeAlert'"
Et un exemple de ce qui peut en sortir lorqu'il y a un problème :
bacula-sd Alert: TapeAlert[32]: Interface: Problem with SCSI interface
between tape drive and initiator.
- Drive Index = number
-
Le numéro de lecteur, ou Drive Index, que vous spécifiez ici est
passé au script mtx-changer et donc au programe mtx.
Par défaut, le Drive Index vaut zéro, aussi, si vous n'avez qu'un
lecteur dans votre librairie, tout fonctionnera correctement.
Si en revanche vous avez plusieurs lecteurs, vous devez spécifier
plusieurs ressources Device (une par lecteur).
Il n'est pas nécessaire de spécifier la valeur zéro pour la directive
Drive Index dans la première de ces ressources (valeur par défaut). Par
contre, la seconde devrait contenir une directive Drive Index égale à 1,
la troisième une directive Drive Index égale à 2, et ainsi de suite.
A partir de la version 1.38.0, en utilisant la ressource Autochanger,
Bacula s'assure qu'un seul lecteur à la fois utilise le script d'autochargement
(script mtx-changer), aussi vous n'avez plus besoin de scripts de verrouillage
comme ce fut le cas dans le passé -- Le script mtx-change fourni avec Bacula
fonctionne avec un nombre quelconque de lecteurs.
- Autoselect = Yes|No
-
Si cette directive vaut yes (valeur par défaut), et si le périphérique
appartient à une librairie, alors lorsque la librairie est référencée par
le Director, ce périphérique peut être automatiquement sélectionné.
Si cette directive vaut no, alors le périphérique peut seulement
être désigné par son nom de périphérique (Device Name) dans le
Director. Ceci permet de réserver un lecteur pour une tâche particulière,
comme une sauvegarde hautement prioritaire, ou des opérations de restaurations.
- Maximum Changer Wait = time
-
Cette directive spécifie le délai maximum, en secondes, pendant lequel Bacula
peut attendre d'une librairie qu'elle change de volume. Au delà de ce délai,
Bacula invalide le numéro de slot référencé dans le catalogue et essaye à
nouveau. Si aucun autre volume n'est disponible dans la librairie, Bacula
réclame l'intervention d'un opérateur. La valeur par défaut est 5 minutes.
- Maximum Rewind Wait = time
-
Cette directive spécifie le délai maximum, en secondes, pendant lequel Bacula
peut attendre d'un lecteur qu'il rembobine une cartouche. Au delà de ce délai,
le job est effacé. La valeur par défaut est 5 minutes.
- Maximum Open Wait = time
-
Cette directive spécifie le délai maximum, en secondes, pendant lequel Bacula
peut attendre après une commande Open.Au delà de ce délai,
le job est effacé. La valeur par défaut est 5 minutes.
- Always Open = Yes|No
-
Si la valeur spécifiée ici est Yes (valeur par défaut), Bacula garde le
périphérique ouvert, à moins qu'il ne soit explicitement démonté (unmounted)
depuis la console Bacula. Ceci permet à Bacula de s'assurer que le lecteur est
toujours disponible. Si vous réglez AlwaysOpen à no Bacula,
Bacula ouvre le lecteur seulement lorsque nécessaire, et le libère à la fin du
job, si aucun autre job ne l'utilise. Lors de l'utilisation suivante, Bacula
doit rembobiner la cartouche et se repositionner au bon endroit. Pour éviter
ces rembnobinages inutiles et les interventions de l'opérateur, il est
hautement recommandé de garder la valeur Always Open = yes. Ceci assure
aussi que le lecteur est disponible lorsque Bacula en a besoin.
Si vous avez spécifié Always Open = yes (comme recommandé) et si vous
voulez utiliser le lecteur pour autre chose, libérez-le simplement avec la
commande unmount dans la console Bacula. N'oubliez-pas ensuite de
remonter le lecteur avec la commande mount afin que Bacula soit prèt
à prendre en charge le prochain job planifié.
Pour le stockage sur disque (File Storage), cette directive est ignorée. Dans le
cas d'un stockage FIFO, vous devez mettre cette directive à No.
Notez bien que si vous mettez cette directive à No, Bacula libère le
lecteur entre chaque job, obligeant le lecteur à rembobiner la cartouche, et
à replacer la bande à la fin de la zone de données, ce qui peut prendre
beaucoup de temps.
- Volume Poll Interval = période
-
Si la période spécifiée pour cette directive est non nulle alors, après avoir
demandé à l'opérateur de monter un nouveau volume, Bacula retentera
périodiquement de lire le lecteur selon la période spécifiée au cas où un
nouveau volume aurait été monté. Si la valeur spécifiée est zéro, ces
tentatives de lecture n'ont pas lieu. Cette directive est utile lorsque
vous souhaitez éviter l'intervention d'un opérateur à la console. Au lieu de
quoi l'opérateur se contente de sortir la cartouche précédente et de monter la
nouvelle qui sera reconnue à la prochaine tentative. Soyez conscient que si vous
spécifiez une période trop courte, vous risquez de solliciter excessivement
votre lecteur si la cartouche précédente demeure dans le lecteur, puisque Bacula
la lira à chaque tentative. Vous pouvez éviter ceci en éjectant la cartouche avec
les directives Offline On Unmount et Close on Poll.
Cependant, si vous utilisez un noyau Linux 2.6 ou un autre système d'exploitation tel
FreeBSD ou Solaris, les commandes Offline ou Unmount laisseront le lecteur sans cartouche,
et Bacula, incapable de d'ouvrir correctement le lecteur, pourrait échouer ses jobs.
Pour plus d'informations sur ce problème, veuillez consulter la section
description of Offline On Unmount du chapitre relatif
aux tests des lecteurs de bandes.
- Close on Poll= Yes|No
-
Si cette directive est à Yes, Bacula ferme le périphérique et le réouvre
à chaque tentative (ce qui est équivalent à unmount, sauf qu'il n'est pas
nécessaire d'utiliser mount ensuite). En principe, cette directive n'est
pas très utile à moins que vous ayez activé la directive Offline on Unmount,
auquel cas le lecteur sera considéré hors-ligne (NDT : offline) prévenant ainsi
de nombreux mouvements inutiles de la bande lors de chaque tentative de lecture.
Une fois que l'opérateur aura chargé une nouvelle cartouche, Bacula
sera en mesure de s'en rendre compte à la prochaine tentative et poursuivra
automatiquement la sauvegarde. Voyez ci-dessus pour plus de détails.
- Maximum Open Wait = time
-
Cette directive spécifie le délai maximum, en secondes que Bacula
accorde à un périphérique occupé. La valeur par défaut est 5 minutes.
Si le périphérique ne peut être obtenu, le job en cours est terminé en erreur.
Bacula tentera à nouveau d'ouvrir le lecteur lorsqu'un nouveau job le
réclamera.
- Removable media = Yes|No
-
Réglez cette directive à Yes si le périphérique concerné supporte des
média amovibles (par exemple des cartouches ou des CDROMs). Dans le cas de
média inamovibles (par exemple, une zone de sauvegardes intermédiaires sur un
disque dur), mettez Removable media = No
- Random access = Yes|No
-
Si cette directive est à Yes, le périphérique de stockage est considéré
comme étant un médium à accès aléatoire (NDT : random access medium) qui
supporte les commodités lseek (ou lseek64 si l'option Largefile
a été activée lors de la compilation).
- Minimum block size = size-in-bytes
-
Sur la plupart des lecteurs modernes, vous n'aurez pas besoin de cette
directive, dont le but est d'utiliser des blocs de taille fixe. Cette
directive ne s'applique qu'aux périphériques à accès séquentiel (NDT :
non-random access devices) comme, par exemple, les lecteurs de bandes.
Les blocs écrits par le Storage Daemon sur un périphérique à accès
séquentiel ne seront jamais de taille inférieure à la taille spécifiée
size-in-bytes. Le Storage Daemon tente de remplir au mieux les blocs
avec les données reçues, mais il complète si nécessaire pour atteindre
la taille minimum requise Minimum block size .
Pour contraindre la taille des blocs à être fixe, comme c'est le cas de
certains périphériques à accès séquentiel, stipulez des tailles de blocs
minimum Minimum block size et maximum Maximum block size
identiques. Le paramétrage par défaut est 0 pour les deux directives
et la taille de bloc par défaut est de 64 512 octets.
Par exemple, si vous souhaitez fixer la taille des blocs à 100K octets, spécifiez :
Minimum block size = 100K
Maximum block size = 100K
Notez que si vous spécifiez une taille de blocs fixe comme ci-dessus, le
lecteur doit être réglé soit en mode "taille de blocs variable", soit en
mode "taille de blocs fixe" avec impérativement la même taille de blocs
fixe que celle spécifiée dans Bacula (ce paramètre se règle généralement
au niveau du lecteur avec mt), faute de quoi vous aurez des erreurs à
la relecture de vos cartouches.
Si vous voulez que votre taille de blocs soit variable mais comprise entre
64 Ko et 200 Ko, spécifiez :
Minimum block size = 64K
Maximum blocksize = 200K
- Maximum block size = size-in-bytes
-
Sur la plupart des lecteurs modernes, vous n'aurez pas besoin de cette
directive. Dans le cas contraire, ce sera probablement pour utiliser
des blocs de taille fixe (voir la directive Minimum block size ci dessus).
Le Storage Daemon tente d'écrire des blocs de la taille spécifiée
size-in-bytes sur le périphérique. Par conséquent cette
directive fixe à la fois la taille maximale et la taille par défaut
des blocs. La taille écrite n'excède jamais la taille spécifiée ici.
Lorsque l'ajout de données provoquerait un dépassement, le bloc est
écrit sur le périphérique, et un nouveau bloc est entamé.
avec les données reçues, mais il complète si nécessaire pour atteindre
Si aucune valeur n'est spécifiée (ou si la valeur spécifiée est 0), le
Storage Daemon utilise la valeur par défaut de 64 512 octets.
- Hardware End of Medium = Yes|No
-
Si la valeur attribuée à cette directive est No, le périphérique de
stockage n'a pas besoin de supporter les requêtes ioctl "fin de médium",
le Storage Daemon utilisant la fonction d'avance jusqu'au prochain espace
pour trouver la fin du médium. Si la valeur est Yes, le périphérique
doit supporter l'appel ioctl MTEOM qui positionne la cartouche
à la fin des données enregistrées. De plus, votre driver SCSI doit garder trace
du nombre de fichiers enregistrés sur la cartouche, et le retourner correctement
à l'appel MTIOCGET ioctl. Notez que certains pilotes SCSI savent se
positionner correctement à la fin de la zone de données enregistrées sur la cartouche,
mais ne gardent pas trace du nombre de fichiers. Sur les machines Linux, le
driver SCSI a une option fast-eod qui, si elle est utilisée
provoque la perte du nombre de fichiers. assurez-vous toujours que cette
option est bien désactivée (à l'aide du programme mt).
Le réglage par défaut de cette directive est Yes. Cette option est utilisée
lors de l'écriture à la suite d'une cartouche, pour s'assurer que les données
précédemment écrites ne seront pas corrompues. Nous vous recommandons, si vous
avez un lecteur non-standard ou inhabituel, de le tester avec le programme
btape pour vérifier s'il supporte ou non cette fonction. Tous les lecteurs
modernes (au delà de 1998) la supportent.
- Fast Forward Space File = Yes|No
-
Si la valeur attribuée à cette directive est No, le périphérique de
stockage n'a pas besoin de supporter les requêtes ioctl MTIOCGET
"nombre de fichiers" lors du déplacement sur la bande jusqu'au prochain espace. Si au contraire
vous spécifiez yes, le lecteur doit supporter l'appel ioctl MTFSF,
que presque tous les pilotes supportent, mais de plus votre pilote SCSI doit
garder trace et retourner correctement le nombre de fichiers à l'appel
ioctl MTIOCGET . Notez que certains pilotes SCSI exécutent correctement
les déplacements sur bande "jusqu'au prochain espace" sans toutefois garder trace
du nombre de fichiers enregistrés, et même plus grave pour certains : sans
signaler la fin du support.
La valeur par défaut de cette directive est Yes.
- Use MTIOCGET = Yes|No
-
Si la valeur attribuée à cette directive est No, le système d'exploitation
n'a pas besoin de garder trace du nombre de fichiers sur la cartouche, ni de
le retourner à l'appel ioctl MTIOCGET. La valeur par défaut est Yes.
Si vous devez mettre No ici, Bacula prendra en charge la détermination des
positions de fichiers, mais cela implique des mouvements très inefficaces de la
bande. Heureusement, cette déficience du système d'exploitation semble n'être
l'apanage que de quelques *BSD. Solaris, Linux et FreeBSD sont connus pour
fonctionner correctement.
- BSF at EOM = Yes|No
-
Si cette directive est à No (valeur par défaut), Bacula n'entreprend
aucune action particulière lorsque la fin du médium est atteinte car
la cartouche est positionnée après la dernière marque de fin de fichier EOF,
et Bacula peut écrire à la suite. Cependant, sur certains systèmes tels que
FreeBSD, lorsque Bacula lit la marque de fin de cartouche, la cartouche est
positionnée après la seconde marque de fin de fichier EOF (deux marques EOF
successives indiquent la fin du support). Si Bacula écrit au delà de cette
marque, toutes les données ajoutées seront perdues. La solutions pour ces systèmes
consiste à spécifier BSF at EOM, ainsi Bacula recule en écrasant la
seconde marque de fin de fichier. Pour savoir si vous avez besoin de cette
directive, utilisez la commande test du programme btape.
(NDT : Paragraphe à revoir VO ci dessous)
If No, the default, no special action is taken by Bacula with the End
of Medium (end of tape) is reached because the tape will be positioned after
the last EOF tape mark, and Bacula can append to the tape as desired.
However, on some systems, such as FreeBSD, when Bacula reads the End of
Medium (end of tape), the tape will be positioned after the second EOF tape
mark (two successive EOF marks indicated End of Medium). If Bacula appends
from that point, all the appended data will be lost. The solution for such
systems is to specify BSF at EOM which causes Bacula to backspace over
the second EOF mark. Determination of whether or not you need this directive
is done using the test command in the btape program.
- TWO EOF = Yes|No
-
Si cette directive est à Yes, Bacula écrit deux marques de fin de fichier EOF
lorsqu'il a fini d'utiliser une cartouche -- c'est à dire après le dernier
job, ou à la fin de la cartouche. Dans le cas contraire (la valeur par défaut),
Bacula n'écrit qu'une marque de fin de fichier pour terminer une cartouche.
- Backward Space Record = Yes|No
-
Si cette directive est à Yes, le périphérique supporte MTBSR ioctl
pour reculer dans les enregistrements. Sinon, cet appel n'est pas utilisé
et la bande doit être rembobinée puis avancée de fichier en fichier jusqu'à
la position désirée. La valeur par défaut est Yes pour un périphérique
à accès séquentiel. Cette fonction, si activée, est utilisée à la fin des
volumes après écriture d'une marque fin de fichier et de toute étiquette
ANSI/IBM pour déterminer si oui ou non le dernier bloc a été écrit
correctement. Si vous désactivez cette fonction, le test ne sera pas fait.
Ce n'est pas un problème car le processus de relecture est une
précaution plutôt qu'une nécessité.
- Backward Space File = Yes|No
-
Si cette directive est à Yes, le périphérique supporte les appels
MTBSF et ioctl MTBSF pour reculer en-deça d'un marque de fin de fichier
et se replacer au début du fichier. Si cette directive est à No, ces appels
ne sont pas utilisés et le lecteur doit rembobiner la cartouche, puis avancer
de fichier en fichier jusqu'à la position désirée. La valeur par défaut est
Yes pour les périphériques à accès séquentiel.
- Forward Space Record = Yes|No
-
Si cette directive est à Yes, le périphérique doit supporter les appels
MTFSR ioctl pour avancer à travers les
enregistrements. Si la valeur est No, les données doivent être lues dans l'ordre
pour positionner la cartouche. La valeur par défaut est
Yes pour les périphériques à accès séquentiel.
- Forward Space File = Yes|No
-
Si cette directive est à Yes, le périphérique doit supporter les appels
MTFSF ioctl pour déplacer la bande en se repérant aux marques de fichiers.
Si la valeur est No, les données doivent être lues pour positionner la
bande. La valeur par défaut est
Yes pour les périphériques à accès séquentiel.
- Offline On Unmount = Yes|No
-
Si cette directive est à Yes, le périphérique doit supporter les appels
MTOFFL ioctl pour rembobiner et placer le volume à l'état offline.
Dans ce cas, Bacula lance requête eject avant de fermer le lecteur lors
de la commande unmount. Si la valeur est No (valeur par défaut),
Bacula ne tente pas de mettre la cartouche à l'état offline avant de
la démonter. Après que la cartouche ait été mise hors ligne, elle est éjectée
requérant ainsi l'intervention d'un opérateur pour poursuivre. Certains
systèmes exigent que la commande de chargement mt -f /dev/xxx load
soit lancée avant de pouvoir reconnaître la cartouche. Si vous utilisez une
librairie, sachez que certaines requièrent de passer le lecteur à l'état
offline pour pouvoir changer de cartouche. Cependant, la plupart n'en
on pas besoin et pourraient être déroutés si cette directive est à Yes.
Si vous utilisez un noyau Linux 2.6, ou un système tel que FreeBSD ou Solaris,
la directive Offline On Unmount abandonnera votre lecteur sans cartouche, et Bacula
incapable de l'utiliser. Pour plus d'informations sur ce problème,
consultez la section description de Offline On Unmount dans le
chapitre sur les tests de lecteurs.
- Maximum Volume Size = size
-
Avec cette directive, vous pouvez imposer une limite au poids de données
à écrire sur chaque volume. La valeur size représente le nombre d'octets
autorisés. Cette directive est surtout utilisée à des fins de tests pour
simuler des petits volumes, mais elle peut aussi se révéler utile si voulez
limiter la taille de vos volumes, par exemple à 2 Go. Certains rares lecteurs
vraiment anciens ne signalent pas correctement lorsque la fin de la
cartouche est atteinte lors d'une opération d'écriture (Bien que j'aie lu des
choses au sujet de tels lecteurs, je n'en n'ai jamais rencontré moi-même). Notez
que cette directive est obsolète, rendue inutile par la
directive Maximum Volume Bytes définie dans le fichier de configuration
du Director.
- Maximum File Size = size
-
Cette directive vous permet d'imposer une limite au poids des fichiers logiques
sur le volume. La valeur size représente le nombre d'octets autorisés
par fichier. Une fois cette valeur atteinte, une marque de fin de fichier est
placée sur le volume et les données suivantes sont placées dans un nouveau
fichier. Ce découpage des longues séquences de données en blocs plus petits
permet un positionnement plus rapide du lecteur au début d'un flux de données
et peut contribuer à prévenir les erreurs de lecture sur la cartouche lors des
restaurations. La valeur par défaut est 1 Go.
- Block Positioning = yes|no
-
Cette directive n'est pas utilisée en fonctionnement normal (et n'a pas encore
été testée). Son rôle est d'enjoindre Bacula à ne plus utiliser le
positionnement par blocs lors de la lecture des cartouches. Ceci peut rendre
les opérations de restauration extrèmement lentes. Vous utiliserez cette
directive si vous avez écrit vos cartouches avec Bacula en mode "taille de blocs
variable" tandis que votre lecteur était en taille de blocs fixe. Si tout
fonctionne comme je l'espère, Bacula sera capable de relire vos cartouches.
- Maximum Network Buffer Size = bytes
-
Cette directive permet de spécifier la taille initiale du tampon réseau à
utiliser avec le File Daemon. La valeur bytes est la taille exprimée
en octets. Cette valeur es appelée à être ajustée à la baisse si elle est
trop importante, jusqu'à ce qu'elle soit accepée par le système d'exploitation.
Soyez circonspect dans l'usage de cette directive, car si vous utilisez une
valeur trop grande, elle sera diminuée par incréments de 521 octets jusqu'à
satisfaction du système d'exploitation, ce qui peut nécessiter un grand nombre
d'appels système. La valeur par défaut est 32 768 octets.
La valeur par défaut a été choisie relativement importante, mais pas trop,
au cas ou vous transmettriez vos données via Internet. Il est clair que sur
un réseau local rapide, vous pouvez augmenter cette valeur et améliorer les
performances. Par exemple, certains utilisateurs ont obtenu des facteurs
d'accélération de l'ordre de 5 à 10 en utilisant un tampon réseau initial de
65 536 octets. La plupart des utilisateurs indiquent que des valeurs plus
grandes ne semblent pas améliorer les performances. Si vous voulez améliorer
la viteese de vos sauvegardes, cette directive est probablement le meilleur
endroit pour expérimenter. Vous voudrez probablement effectuer les
modifications correspondantes dans les fichiers de configuration de chacun
des File Daemons.
- Maximum Spool Size = bytes
-
Cette directive limite à la valeur spécifiée (en octets) le volume occupé par
le tampon (NDT : spool) disque pour tous les jobs en exécution. Par défaut, il n'y a
pas de limite.
- Maximum Job Spool Size = bytes
-
Cette directive limite à la valeur spécifiée (en octets) le volume occupé par
le tampon disque pour chaque job. Par défaut, il n'y a pas de limite. Cette
directive est apparue avel la version 1.37.
- Spool Directory = directory
-
Cette directive spécifie le nom du répertoire à utiliser en tant que tampon
disque pour ce périphérique. Ce répertoire est aussi utilisé pour stocker
les fichiers partiels lors de l'écriture sur des supports qui requièrent
un montage (DVD). Le comportement par défaut est d'utiliser le répertoire
de travail de Bacula (working directory).
- Maximum Part Size = bytes
-
Cette directive précise la taille maximale (en octets) d'un fichier partiel. Par défaut,
il n'y a pas de limite. Cette directive est apparue avec la version 1.37.
Si le périphérique requiert un montage, l'ordre de montage est transmis lorsque
cette valeur est atteinte. Dans ce cas, vous devez vous assurer d'avor suffisament
d'espace dans votre répertoire tampon, faute de quoi vos données resteront dans le
répertoire tampon.
Cette directive est ignorée pour les lecteurs de bandes et les FIFO.
Toutes les directives décrites dans cette section sont implémentées dans Bacula
à partir de la version 1.37.
A partir de la version 1.39.5, les directives "Requires Mount", "Mount Point",
"Mount Command", et "Unmount Command" s'appliquent aux systèmes de fichiers
amovibles tels que les périhériques USB, et plus seulement aux DVDs.
- Requires Mount = Yes|No
-
Cette directive doit être à yes pour les graveurs de DVDs, et à no
pour tous les autres périphériques (cartouches/fichiers). Elle indique si
le périphérique nécessite d'être monté pour être lu, et si un moyen particulier
doit être employé pour y écrire. Si vous activez cette directive, vous devez aussi
définir les directives Mount Point, Mount Command, Unmount Command
et Write Part Command.
- Mount Point = directory
-
Cette directive spécifie le répertoire où le périphérique peut être monté.
(le point de montage)
- Mount Command = name-string
-
Cette directive spécifie la commande à exécuter pour monter le périphérique.
Avant l'exécution de la commande, %a est remplacé par le périphérique de
stockage, et %m par le point de montage (Mount Point).
La plupart du temps, vous le définirez ainsi :
Mount Command = "/bin/mount -t iso9660 -o ro %a %m"
- Unmount Command = name-string
-
Cette directive spécifie la commande à exécuter pour démonter le périphérique.
Avant l'exécution de la commande, %a est remplacé par le périphérique de
stockage, et %m par le point de montage (Mount Point).
La plupart du temps, vous le définirez ainsi :
Unmount Command = "/bin/umount %m"
- Write Part Command = name-string
-
Cette directive spécifie la commande à exécuter pour écrire une partition (NDT : Revoir cette partie, VO ci-dessous)
sur le périphérique. Avant l'exécution de la commande, %a est remplacé par le périphérique de
stockage, %m par le point de montage, %e par 1 s'il s'agit de la première
partition, 0 sinon, et %v avec le nom de fichier de la partition courante.
Pour un DVD, vous utiliserez la plupart du temps le script fourni dvd-handler
comme suit :
Command that must be executed to write a part to the device. Before the
command is executed, %a is replaced with the Archive Device, %m with the
Mount Point, %e is replaced with 1 if we are writing the first part,
and with 0 otherwise, and %v with the current part filename.
For a DVD, you will most frequently specify the Bacula supplied dvd-handler script as follows:
Write Part Command = "/path/dvd-handler %a write %e %v"
Où /path est le chemin vers votre répertoire de scripts, et
dvd-handler est le script fourni avec Bacula. Cette commande est déjà présente
quoique commentée dans le fichier de configuration du Storage Daemon. Pour l'utiliser,
il vous suffit de supprimer le caractère #.
- Free Space Command = name-string
-
Cette directive spécifie la commande à exécuter pour contrôler l'espace disponible
sur le périphérique. Avant l'exécution de la commande, %a est remplacé par le périphérique de
stockage, %m par le point de montage, %e par 1 s'il s'agit de la première
partition, 0 sinon, et %v avec le nom de fichier de la partition courante.
Pour un DVD, vous utiliserez la plupart du temps le script fourni dvd-handler
comme suit :
Free Space Command = "/path/dvd-handler %a free"
Où /path est le chemin vers votre répertoire de scripts, et
dvd-handler est le script fourni avec Bacula. Si vous voulez
spécifier votre propre commande, examinez le code de dvd-handler afin de
voir le type de retour attendu par Bacula. Cette commande est déjà présente
quoique commentée dans le fichier de configuration du Storage Daemon. Pour l'utiliser,
il vous suffit de supprimer le caractère #.
Si vous n'utilisez pas cette directive, Bacula s'attendra à ce qu'il y ait
toujours de la place dur le périphérique.