]> git.sur5r.net Git - bacula/docs/blob - docs/manual-de/autochangers.tex
Cleanup
[bacula/docs] / docs / manual-de / autochangers.tex
1 %%
2 %%
3
4 \chapter{Autochanger Unterst\"{u}tzung}
5 \label{AutochangersChapter}
6 \index[general]{Unterst\"{u}tzung!Autochanger }
7 \index[general]{Autochanger Unterst\"{u}tzung }
8
9 Bacula unterst\"{u}tzt Autochanger zum Lesen und Schreiben von Tapes.
10 Damit Bacula mit einem Autochanger arbeiten kann, m\"{u}ssen einige Voraussetzungen erf\"{u}llt sein,
11 die Details werden im folgenden gekl\"{a}rt.
12
13 \begin{itemize}
14 \item Ein Script das den Autochanger, gem\"{a}{\ss} den von Bacula gesendeten Kommandos, steuert.
15    Bacula stellt solch ein Script in der {\bf depkgs} Distribution zur Verf\"{u}gung.
16
17 \item Jedes Volume (Tape) das benutzt wird, muss sowohl im Katalog definiert sein,
18    als auch eine Slotnummer zugeteilt sein, nur so kann Bacula wissen, welches Volume
19    aktuell im Autochanger verf\"{u}gbar ist.
20    Normalerweise wird das mittels des {\bf label} Kommandos erreicht,
21    weiter unten wird genauer darauf eingegangen.
22    Volumes m\"{u}ssen manuell gelabelt werden, bevor sie benutzt werden k\"{o}nnen.
23
24 \item Die Konfigurationsdateien des Storage-Dienstes m\"{u}ssen angepasst werden,
25    damit Device-Eintr\"{a}ge Autochangern zugeordnet werden k\"{o}nnen,
26    sowie einige Parameter mehr. 
27
28 \item Sie sollten auch die Storage-Definitionen in der Director-Dienst-Konfiguration anpassen,
29    so dass automatisch nachgefragt wird, welcher Slot genutzt werden soll, wenn ein Volume gelabelt wird.
30
31 \item Sie m\"{u}ssen sicherstellen, dass der Storage-Dienst (wenn er nicht als root ausgef\"{u}hrt wird)
32    Zugriffsrechte auf die Laufwerks- und auf das Autochanger-Kontroll-Device hat.
33
34 \item Sie m\"{u}ssen {\bf Autochanger = yes} in der Storage-Definitionen des Director-Dienstes setzen,
35    damit nach dem Slot gefragt wird wenn Sie Volumes labeln.
36 \end{itemize}
37
38 In Version 1.37 und sp\"{a}ter, gibt es eine neue \ilink{Autochanger-Konfiguration}{AutochangerRes}
39 die erlaubt, bestimmte Device-Eintr\"{a}ge zu gruppieren um einen Autochanger mit mehreren Laufwerken
40 zu konfigurieren. Diese Konfiguration m\"{u}ssen Sie benutzen, wenn Sie einen Autochanger verwenden wollen.
41
42 Bacula benutzt sein eigenes {\bf mtx-changer} Script als Interface zu dem Programm,
43 dass die Steuerung des Autochangers \"{u}bernimmt. {\bf mtx-changer} kann im Prinzip so angepasst werden,
44 dass es mit jedem Steuerungsprogramm f\"{u}r beliebige Autochanger funktioniert.
45 Die derzeitige Version von {\bf mtx-changer} arbeitet mit {\bf mtx}.
46 FreeBSD-Benutzer haben ein Script zur Verf\"{u}gung gestellt (im Verzeichnis {\bf examples/autochangers}),
47 dass Bacula {\bf chio} benutzen l\"{a}sst.
48
49 Bacula unterst\"{u}tzt Autochanger mir Barcode-Lesern,
50 dieses beinhaltet zwei Consolen-Kommandos: {\bf label barcodes} und {\bf update slots}.
51 Im Abschnitt "Barcode Unterst\"{u}tzung" (siehe unten) erfolgt eine detaillierte Beschreibung dieser Kommandos.
52
53 Momentan beinhaltet die Autochanger-Unterst\"{u}tzung keine Stacker und Silos,
54 und auch keine Laufwerks-Reinigung (Cleaning). Stacker und Silos werden nicht unterst\"{u}tzt,
55 da sie keinen wahlfreien Zugriff auf ihre Slots erlauben.
56 Unter Umst\"{a}nden schaffen Sie es vielleicht, einen Stacker (GravityFeed o. \"{a}.)
57 mit Bacula zum laufen zu bringen, indem Sie Ihre Konfiguration soweit anpassen, dass auf
58 den Autochanger nur sequentiell zugegriffen wird.
59 Die Unterst\"{u}tzung f\"{u}r Autochanger mit mehreren Laufwerken erfordert eine
60 Konfiguration wie in \ilink{Autochanger resource}{AutochangerRes} beschrieben.
61 Diese Konfiguration ist aber auch f\"{u}r Autochanger mit nur einem Laufwerk zu benutzen.
62
63 Wenn {\bf mtx} korrekt mit Ihrem Autochanger zusammenarbeitet,
64 dann ist es nur eine Frage der Anpassung des {\bf mtx-changer} Scripts (falls n\"{o}tig)
65 um den Autochanger mit Bacula zu benutzen.
66 Eine Liste mit von {\bf mtx} unterst\"{u}zten Autochangern, finden Sie unter folgendem Link:
67 \elink{http://mtx.opensource-sw.net/compatibility.php}{http://mtx.opensource-sw.net/compatibility.php}.
68 Die Homepage des {\bf mtx} Projekts ist:
69 \elink{http://mtx.opensource-sw.net/}{http://mtx.opensource-sw.net/}.
70
71 Anmerkung: wir haben R\"{u}ckmeldungen von einigen Benutzern erhalten,
72 die \"{u}ber gewisse Inkompatibilit\"{a}ten zwischen dem Linux-Kernel und mtx berichten.
73 Zum Beispiel zwischen Kernel 2.6.18-8.1.8.el5 von CentOS und RedHat und Version 1.3.10
74 und 1.3.11 von mtx. Ein Umstieg auf Kernel-Version 2.6.22 hat diese Probleme behoben.
75
76 Zus\"{a}tzlich scheinen einige Versionen von mtx, z.B. 1.3.11, die maximale Anzahl der Slots auf 64
77 zu begrenzen, Abhilfe schafft die Benutzung von mtx-Version 1.3.10.
78
79 Wenn Sie Probleme haben, benutzen Sie bitte das {\bf auto} Kommando im {\bf btape} Programm,
80 um die Funktionalit\"{a}t des Autochangers mit Bacula zu testen.
81 Bitte bedenken Sie, dass bei vielen Distributionen (z.B. FreeBSD, Debian, ...) der Storage-Dienst
82 nicht als Benutzer und Gruppe {\bf root} l\"{a}ft, sonder als Benutzer {\bf bacula} und Gruppe {\bf tape}.
83 In diesem Fall m\"{u}ssen Sie sicherstellen, das der Benutzer oder die Gruppe entsprechende Rechte hat,
84 um auf den Autochanger und die Laufwerke zuzugreifen.
85
86 Manche Benutzer berichten, dass der Storage-Dienst unter Umst\"{a}nden
87 beim laden eines Tapes in das Laufwerk blockiert, falls schon ein Tape im Laufwerk ist.
88 Soweit wir das ermitteln konnten, ist es einfache eine Frage der Wartezeit:
89 Das Laufwerk hat vorher ein Tape beschrieben und wird f\"{u}r eine ganze Zeit
90 (bis zu 7 Minuten bei langsamen Laufwerken) im Status BLOCKED verbleiben,
91 w\"{a}hrend das Tape zur\"{u}ckgespult und entladen wird, erst danach kann ein anderes
92 Tape in das Laufwerk geladen werden.
93
94 \label{SCSI devices}
95 \section{Zuordnung der SCSI Ger\"{a}te}
96 \index[general]{Zuordnung der SCSI Ger\"{a}te}
97 \index[general]{SCSI Ger\"{a}te}
98 \index[general]{Ger\"{a}te!SCSI}
99
100 Unter Linux k\"{o}nnen Sie:
101 \footnotesize
102 \begin{verbatim}
103 cat /proc/scsi/scsi
104 \end{verbatim}
105 \normalsize
106
107 ausf\"{u}hren, um zu sehen welche SCSI-Ger\"{a}te Sie haben.
108 Zudem k\"{o}nnen Sie:
109 \footnotesize
110 \begin{verbatim}
111 cat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices
112 \end{verbatim}
113 \normalsize
114
115 benutzen, um herauszufinden, welches das Autochanger-Kontroll-Device ist,
116 ({\bf /dev/sg0} f\"{u}r die erste Zeile, {\bf /dev/sg1} f\"{u}r die zweite, ...)
117 das Sie in der Konfiguration unter {\bf Changer Device = } angeben m\"{u}ssen.
118
119 F\"{u}r weiterf\"{u}hrende Information \"{u}ber SCSI-Ger\"{a}te, schauen Sie bitte in den Abschnitt
120 \ilink{Linux SCSI Tricks}{SCSITricks} aus dem Tape-Testing-Kapitel des Handbuchs.
121
122 Unter FreeBSD k\"{o}nnen Sie: 
123
124 \footnotesize
125 \begin{verbatim}
126 camcontrol devlist
127 \end{verbatim}
128 \normalsize
129
130 benutzen, um SCSI-Ger\"{a}te und die Kontroll-Devices {\bf /dev/passn} des Autochangers anzuzeigen,
131 die Sie in der Konfiguration unter {\bf Changer Device = } angeben m\"{u}ssen.
132
133 Bitte stellen Sie sicher, dass der Storage-Dienst auf diese Ger\"{a}te zugreifen darf.
134
135 Der folgende Tipp f\"{u}r FreeBSD-Benutzer kommt von Danny Butroyd:
136 beim Neustart des Computers hat Bacula keine Berechtigung auf das Autochanger-Kontroll-Device
137 (z.B. /dev/pass0) zuzugreifen,
138 Um dies zu umgehen, editieren Sie die Datei /etc/devfs.conf und f\"{u}gen unten diese Zeilen hinzu:
139
140 \footnotesize
141 \begin{verbatim}
142 own     pass0   root:bacula
143 perm    pass0   0666
144 own     nsa0.0  root:bacula
145 perm    nsa0.0    0666
146 \end{verbatim}
147 \normalsize
148
149 Das gibt der Gruppe bacula, nur um sicher zu gehen, auch die Schreib-Berechtigung f\"{u}r das Ger\"{a}t nsa0.0.
150 Damit die neue Konfiguration wirksam wird, m\"{u}ssen Sie:
151
152 /etc/rc.d/devfs restart
153
154 ausf\"{u}hren.
155 Danach brauchen Sie nie wieder die Berechtigungen von Hand zu setzen, wenn der Computer neu gestartet wurde.
156
157 \label{scripts}
158 \section{Beispiel Scripte}
159 \index[general]{Scripte!Beispiel }
160 \index[general]{Beispiel Scripte }
161
162 Lesen Sie bitte den nachfolgenden Abschnitt, damit Sie verstehen wie Bacula mit Autochangern arbeitet.
163 Auch wenn Bacula ein standard {\bf mtx-changer} Script installiert, ben\"{o}tigen Sie f\"{u}r Ihren Autochanger
164 eventuell einige Anpassungen. Falls Sie Beispiele sehen wollen, schauen Sie bitte in das Verzeichnis
165 {\bf\lt{}bacula-src\gt{}/examples/devices}, wo Sie eine {\bf HP-autoloader.conf} Bacula-Ger\"{a}te-Konfiguration,
166 sowie mehrere {\bf mtx-changer} Scripte finden werden, die schon f\"{u}r unterschiedliche Autochanger angepasst sind.
167
168 \label{Slots}
169
170 \section{Slots}
171 \index[general]{Slots }
172
173 Um den Autochanger richtig ansteuern zu k\"{o}nnen, muss Bacula wissen
174 welches Volume in welchem Slot des Autochangers ist. In den Slots werden die Tapes aufbewahrt,
175 die nicht in einem Laufwerk geladen sind. Bacula nummeriert diese Slots von eins bis zur Anzahl der
176 vorhandenen Tapes im Autochanger.
177
178 Bacula benutzt niemals ein Volume im Autochanger, dass nicht gelabelt ist, dem keine Slotnummer im Katalog
179 zugewiesen ist oder wenn das Volume nicht als InChanger im Katalog markiert ist. Bacula muss wissen wo das
180 Volume/Tape ist, sonst kann es nicht geladen werden.
181 Jedem Volume im Autochanger muss \"{u}ber das Console-Programm eine Slot-Nummer zugewiesen werden.
182 Diese Information wird im Katalog, zusammen mit anderen Informationen \"{u}ber das Volume, gespeichert.
183 Wenn kein Slot angegeben, oder der Slot auf Null gesetzt ist, wird Bacula das Volume nicht benutzen,
184 auch wenn alle anderen ben\"{o}tigten Konfigurationsparameter richtig gesetzt sind.
185 Wenn Sie das {\bf mount} Console-Kommando ausf\"{u}hren, m\"{u}ssen Sie angeben welches Tape aus welchem Slot
186 in das Laufwerk geladen werden soll. Falls schon ein Tape im Laufwerk ist, wird es entladen und danach das
187 beim {bf\ mount} angegeben Tape geladen. Normalerweise wird kein anderes Tape im Laufwerk sein, da Bacula beim 
188 {\bf unmount} Console-Kommando das Laufwerk leert.
189
190 Sie k\"{o}nnen die Slot-Nummer und die InChanger-Markierung \"{u}berpr\"{u}fen, indem Sie:
191 \begin{verbatim}
192 list Volumes
193 \end{verbatim}
194 im Consolen-Programm ausf\"{u}hren.
195
196 \label{mult}
197 \section{mehrere Laufwerke}
198 \index[general]{Laufwerke!mehrere }
199 \index[general]{mehrere Laufwerke }
200
201 Einige Autochanger haben mehr als ein Laufwerk. Die in Version 1.37 vorgestellte \ilink{Autochanger-Konfiguration}{AutochangerRes}, erlaubt Ihnen mehrere Ger\"{a}te-Konfigurationen,
202 die jeweils einem Laufwerk entsprechen, zu einem Autochanger zu gruppieren. Der Director-Dienst k\"{o}nnte trotzdem
203 die Laufwerke direkt ansprechen, aber dies zu erlauben, w\"{u}rde die einwandfreie Zusammenarbeit der Laufwerke
204 einschr\"{a}nken. Anstelle dessen sollte dem Director-Dienst, in der Director-Storage-Konfiguration, eine Autochanger-Konfiguration zugewiesen werden. Dieses erlaubt dem Storage-Dienst sicherzustellen, dass nur auf
205 ein Laufwerk zur Zeit vom {\bf mtx-changer} Script zugegriffen wird und nicht beide Laufwerke auf dasselbe Volume verweisen.
206
207 Mehrere Laufwerke erfordern das Setzen des {\bf Drive Index} in den Ger\"{a}te-Eintr\"{a}gen der
208 Storage-Dienst-Konfiguration.
209 Laufwerks-Nummern bzw. der {\bf Drive Index} beginnen standardm\"{a}{\ss}ig bei Null.
210 Um mit dem zweiten Laufwerk im Autochanger arbeiten zu k\"{o}nnen, muss ein weiterer Ger\"{a}te-Eintrag
211 erstellt werden, wobei der {\bf Drive Index} dann Eins ist.
212 Normalerweise wird das zweite Laufwerk dasselbe {\bf Changer Device} verwenden,
213 aber ein anderes {\bf Archive Device}.
214
215 Bacula Jobs werden bevorzugt auf das Volume geschrieben, dass schon in einem Laufwerk geladen ist.
216 Wenn Sie mehrere Laufwerke haben und Bacula auf mehreren Laufwerke gleichzeitig Jobs,
217 die denselben Pool verwenden, schreiben soll, muss der Parameter \ilink{Prefer Mounted Volumes} {PreferMountedVolumes}
218 in der Director-Dienst-Konfiguration in den entsprechenden Job-Eintr\"{a}gen auf "no" gesetzt werden.
219 Der Storage-Dienst wird daraufhin so viele Volumes wie m\"{o}glich in die Laufwerke laden.
220
221 \label{ConfigRecords}
222 \section{Ger\"{a}te-Konfigurations-Parameter}
223 \index[general]{Parameter!Ger\"{a}te-Konfiguration }
224 \index[general]{Ger\"{a}te-Konfigurations-Parameter }
225
226 Bacula's Autochanger-Konfiguration wird in den Ger\"{a}te-Eintr\"{a}gen des Storage-Dienstes festgelegt.
227 Vier Parameter: {\bf Autochanger}, {\bf Changer Device},{\bf Changer Command}, und {\bf Maximum Changer Wait}
228 steuern wie Bacula den Autochanger benutzt.
229
230 Diese vier Parameter der {\bf Device}-Konfiguration, sind unten detailliert beschrieben.
231 {\bf Changer Device} und {\bf Changer Command} werden in der Gr\"{a}te-Konfiguration nicht ben\"{o}tigt,
232 wenn sie in der {\bf Autochanger}-Konfiguration stehen.
233
234 \begin{description}
235
236 \item [Autochanger = {\it Yes|No} ]
237    \index[sd]{Autochanger  }
238    Der {\bf Autochanger}-Parameter gibt an, ob der Ger\"{a}te-Eintrag einen Autochanger beschreibt oder nicht.
239    Der Standardwert ist Autochanger = No.
240
241 \item [Changer Device = \lt{}device-name\gt{}]
242    \index[sd]{Changer Device  }
243    Zus\"{a}tzlich zu dem Archive Device Eintrag, muss das {\bf Changer Device} angegeben werden.
244 Das ist notwendig, weil die meisten Autochanger \"{u}ber ein anderes Ger\"{a}t gesteuert werden,
245 als f\"{u}r das Schreiben und Lesen der Volumes verwendet wird.
246 Ein Beispiel: unter Linux wird normalerweise das generische SCSI-Interface zum Steuern des Autochangers verwendet,
247 w\"{a}rend das standard SCSI-Interface f\"{u}r Lese- und Schreibvorg\"{a}ge genutzt wird.
248 F\"{u}r das {\bf Archive Device = /dev/nst0} hat man dann typischerweise das {\bf Changer Device = /dev/sg0}.
249 Gr\"{o}{\ss}ere Autochanger, mit mehreren Laufwerken und vielen Slots, k\"{o}nnen das Kontroll-Device
250 auch auf z.B. {\bf Changer Device = /dev/sg2} haben.
251
252 Unter FreeBSD liegt das Kontroll-Device zwischen {\bf /dev/pass0} und {\bf /dev/passn}.
253
254 Unter Solaris finden Sie das Kontroll-Device im Verzeichnis {\bf /dev/rdsk}.
255
256 Stellen Sie bitte sicher, dass der Storage-Dienst die notwendigen Rechte besitzt,
257 um auf die entsprechenden Ger\"{a}te zugreifen zu d\"{u}rfen.
258
259 \item [Changer Command = \lt{}command\gt{}]
260    \index[sd]{Changer Command  }
261    Dieser Parameter gibt an, welches externe Kommando und mit welchen Argumenten,
262 aufgerufen wird, um den Autochanger zu steuern.
263 Es wird vorausgesetzt, dass dieses Kommando ein normales Programm oder Shell-Script ist,
264 das vom Betriebssystem ausgef\"{u}hrt werden kann.
265 Dieses Kommando wird jedes mal aufgerufen, wenn Bacula das Autochanger-Kontroll-Device ansprechen m\"{o}chte.
266 Die folgenden Ersetzungen werden durchgef\"{u}hrt, bevor das {\bf command} dem Betriebssystem zur
267 Ausf\"{u}hrung \"{u}bergeben wird:
268
269 \footnotesize
270 \begin{verbatim}
271       %% = %
272       %a = archive device name
273       %c = changer device name
274       %d = changer drive index base 0
275       %f = Client's name
276       %j = Job name
277       %o = command  (loaded, load, or unload)
278       %s = Slot base 0
279       %S = Slot base 1
280       %v = Volume name
281 \end{verbatim}
282 \normalsize
283
284 Hier ist ein Beispiel f\"[{u}r die Benutzung von {\bf mtx} mit dem {\bf mtx-changer} Script,
285 dass in der Bacula-Distribution enthalten ist:
286
287 \footnotesize
288 \begin{verbatim}
289 Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
290 \end{verbatim}
291 \normalsize
292
293 Falls das {\bf mtx-changer} Script nicht in {\bf /etc/bacula} liegt,
294 m\"{u}ssen Sie den Pfad entsprechend anpassen,
295 Einzelheiten zu den drei von Bacula benutzten Kommandos (loaded, load, unload),
296 sowie zu den von Bacula erwarteten Ausgaben des {\bf mtx-changer} Scripts,
297 werden weiter unten im Abschnitt {\bf Bacula Autochanger Schnittstelle} beschrieben..
298
299 \item [Maximum Changer Wait = \lt{}time\gt{}]
300    \index[sd]{Maximum Changer Wait  }
301    Dieser Parameter gibt an, wie lange Bacula maximal warten soll,
302 bis der Autochanger auf ein Kommando (z.B. load) reagiert.
303 Der Standardwert betr\"{a}gt 120 Sekunden. Wenn Sie einen langsamen Autochanger haben,
304 m\"{u}ssen Sie hier eventuell eine l\"{ä}ngere Zeit konfigurieren.
305
306 Wenn der Autochanger nicht innerhalb der {\bf Maximum Changer Wait} Zeit antwortet,
307 wird das Kommando abgebrochen und Bacula wird das Eingreifen des Bedieners verlangen.
308
309 \item [Drive Index = \lt{}number\gt{}]
310    \index[sd]{Drive Index  }
311    Dieser Parameter gibt die Nummer des Laufwerks innerhalb des Autochangers an.
312 Da die Nummerierung bei Null beginnt, wird das zweite Laufwerk mit folgendem Eintrag angegeben:
313
314 \footnotesize
315 \begin{verbatim}
316 Device Index = 1
317       
318 \end{verbatim}
319 \normalsize
320
321 Um das zweite Laufwerk nutzen zu k\"{o}nnen, muss ein zweiter Device-Eintrag in der Konfigurationsdatei des
322 Storage-Dienstes erstellt werden. Einzelheiten dazu stehen, weiter oben in diesem Kapitel, in dem Abschnitt
323 {\bf mehrere Laufwerke} 
324 \end{description}
325
326 Damit der Autochanger zuverl\"{a}{\ss}ig funktioniert, muss zus\"{a}tzlich ein Autochanger-Eintrag erstellt werden.
327 \input{autochangerres}
328
329 \label{example}
330 \section{eine Beispiel-Konfigurationsdatei}
331 \index[general]{Beispiel-Konfigurationsdatei}
332 \index[general]{Datei!Beispiel Konfiguration }
333
334 Die folgenden beiden Konfigurations-Eintr\"{a}ge realisieren einen Autochanger:
335
336 \footnotesize
337 \begin{verbatim}
338 Autochanger {
339   Name = "Autochanger"
340   Device = DDS-4
341   Changer Device = /dev/sg0
342   Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
343 }
344
345 Device {
346   Name = DDS-4
347   Media Type = DDS-4
348   Archive Device = /dev/nst0    # Normal archive device
349   Autochanger = yes
350   LabelMedia = no;
351   AutomaticMount = yes;
352   AlwaysOpen = yes;
353 }
354 \end{verbatim}
355 \normalsize
356
357 Wobei Sie {\bf Archive Device}, {\bf Changer Device} und den Pfad zum
358 {\bf Changer Command} Ihrem System entsprechend anpassen m\"{u}ssen.
359
360 \section{eine Beispiel-Konfigurationsdatei f\"{u}r mehrere Laufwerke}
361 \index[general]{Beispiel-Konfigurationsdatei f\"{u}r mehrere Laufwerke}
362
363 Die folgenden Konfigurations-Eintr\"{a}ge realisieren einen Autochanger mit mehreren Laufwerken:
364
365 \footnotesize
366 \begin{verbatim}
367 Autochanger {
368   Name = "Autochanger"
369   Device = Drive-1, Drive-2
370   Changer Device = /dev/sg0
371   Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
372 }
373
374 Device {
375   Name = Drive-1
376   Drive Index = 0
377   Media Type = DDS-4
378   Archive Device = /dev/nst0    # Normal archive device
379   Autochanger = yes
380   LabelMedia = no;
381   AutomaticMount = yes;
382   AlwaysOpen = yes;
383 }
384
385 Device {
386   Name = Drive-2
387   Drive Index = 1
388   Media Type = DDS-4
389   Archive Device = /dev/nst1    # Normal archive device
390   Autochanger = yes
391   LabelMedia = no;
392   AutomaticMount = yes;
393   AlwaysOpen = yes;
394 }
395
396 \end{verbatim}
397 \normalsize
398
399 Wobei Sie {\bf Archive Device}, {\bf Changer Device} und den Pfad zum
400 {\bf Changer Command} Ihrem System entsprechend anpassen m\"{u}ssen.
401
402 \label{SpecifyingSlots}
403 \section{Festlegen der Slots beim Labeln}
404 \index[general]{Festlegen der Slots beim Labeln }
405 \index[general]{Labeln!Festlegen der Slots }
406
407 Wenn Sie einen {\bf Autochanger = yes} Eintrag in Ihrer Storage-Konfiguration des
408 Director-Dienstes hinzugef\"{u}gt haben, wird die Bacula Console Sie bei diesen beiden Kommandos
409 {\bf add} und {\bf label} automatisch nach einem Slot f\"{u}r die jeweilige Aktion fragen.
410 Beim {\bf label} Kommando wird Bacula automatisch das richtige Volume in ein Laufwerk laden.
411   
412 Au{\ss}erdem muss, wie oben beschrieben, der Parameter {\bf Autochanger = yes} in der Ger\"{a}te-Konfiguration
413 des Storage-Dienstes vorhanden sein, damit der Autochanger benutzt werden kann.
414 N\"{a}here Informationen zu diesen Parametern finden Sie in der \ilink{Storage Konfiguration}{Autochanger1}
415 des Director-Kapitels und in \ilink{Device Konfiguration}{Autochanger} des Storage-Kapitels.
416
417 Somit k\"{o}nnen alle Aktionen mit dem Autochanger komplett automatisiert werden.
418 Zudem ist es m\"{o}glich mit dem Men\"{u}punkt {\bf Volume Parameters} des Consolen-Kommandos {\bf update} den Slot
419 zu setzen und zu \"{a}ndern.
420
421 Selbst wenn alle oben genannten Konfigurationen und Parameter richtig angegeben sind,
422 wird Bacula nur dann korrekt mit den Volumes im Autochanger arbeiten, wenn
423 den Volume-Eintr\"{a}ge im Katalog, die den Tapes im Autochanger entsprechenden,
424 auch eine {\bf slot}-Nummer zugewiesen ist.
425
426 Wenn Ihr Autochanger Barcodes unterst\"{u}tzt, k\"{o}nnen Sie alle Volumes im Autochanger,
427 eins nach dem anderen, labeln indem Sie das Console-Kommando {\bf label barcodes} verwenden.
428 Jedes Tape mit Barcode, wird von Bacula in ein Laufwerk geladen und dann mit dem selben Namen gelabelt,
429 der auch auf dem Barcode steht. Gleichzeitig wird ein Katalog-Eintrag f\"{u}r das Volume angelegt.
430 Wenn der Barcode mit der Zeichenkette beginnt, die als {\bf CleaningPrefix= } konfiguriert ist,
431 wird Bacula das Tape f\"{u}r ein Reinigungsband halten und es wird nicht versucht das Tape zu labeln.
432 Ein Beispiel:
433
434 \footnotesize
435 \begin{verbatim}
436 Pool {
437   Name ...
438   Cleaning Prefix = "CLN"
439 }
440 \end{verbatim}
441 \normalsize
442
443 Jedes Volume mit einem Barcode wie CLNxxxxx wird als Reinigungsband behandelt und nicht gelabelt.
444
445 Bitte bedenken Sie, dass jedes Volume, dass der Autochanger automatisch benutzen soll, bereits vor-gelabelt sein muss.
446 Wenn Sie keinen Barcode-Leser haben, muss das von Hand geschehen (oder durch ein Script).
447
448 \section{Tape-Wechsel}
449 \index[general]{Tapewechsel }
450 Wenn Sie Tapes dem Autochanger entnehmen oder hinzuf\"{u}gen wollen,
451 oder das {\bf mtx} Kommando von Hand aufrufen wollen,
452 m\"{u}ssen Sie Bacula den Autochanger freigeben lassen,
453 indem Sie folgendes Console-Kommando ausf\"{u}hren:
454
455 \footnotesize
456 \begin{verbatim}
457 unmount
458 (wechseln der Tapes und/oder mtx ausf\"{u}hren
459 mount
460 \end{verbatim}
461 \normalsize
462
463 Wenn Sie den Autochanger nicht freigeben, wei{\ss} Bacula
464 nach dem Tapewechsel nicht mehr, welches Volume in welchen Slot des Autochanger ist
465 und wird nicht mehr korrekt mit dem Autochanger arbeiten k\"{o}nnen.
466 Bacula geht immer davon aus, dass es exklusiven Zugriff auf den Autochanger hat,
467 solange ein Laufwerk gemountet ist.
468
469
470 \label{Magazines}
471 \section{Arbeiten mit mehreren Magazinen}
472 \index[general]{Arbeiten mit mehreren Magazinen }
473 \index[general]{Magazine!Arbeiten mit mehreren }
474
475 Wenn Sie mehrere Magazine haben, oder wenn Sie Tapes in den Magazinen tauschen,
476 m\"{u}ssen Sie Bacula dar\"{u}ber informieren. Bacula wird immer die Tapes im Autochanger
477 bevorzugt vor anderen Tapes benutzen, somit werden Bedienereingriffe minimiert.
478
479 Wenn Ihr Autochanger mit Barcodes (maschinenlesbare Tape Labels) arbeitet,
480 ist der Schritt, Bacula \"{u}ber die im Autochanger verf\" {u}gbaren Tapes zu informieren, sehr einfach.
481 Jedes mal wenn Sie ein Magazin wechseln, oder Tapes aus dem Magazine entfernen bzw. hinzuf\"{u}gen,
482 f\"{u}hren Sie einfach:
483
484 \footnotesize
485 \begin{verbatim}
486 unmount
487 (Magazin/Tapes wechseln)
488 update slots
489 mount
490 \end{verbatim}
491 \normalsize
492
493 im Console-Programm aus. Daraufhin wird Bacula den Autochanger nach einer aktuellen Liste
494 der in den Magazinen verf\"{u}gbaren Tapes fragen. Bei diesem Vorgang werden keine Tapes gelesen,
495 diese Informationen werden vom Autochanger w\"{a}hrend des Inventory ermittelt.
496 Bacula aktualisiert die Volume-Eintr\"{a}ge im Katalog, so dass bei allen in den Magazinen vorhandenen Tapes
497 das {\bf InChanger} Flag und auch die Slot-Nummern richtig gesetzt werden.
498
499 Falls Sie keinen Barcode-Leser im Autochanger haben, gibt es mehrere andere M\"{o}glichkeiten.
500
501 \begin{enumerate}
502 \item Sie k\"{o}nnen den Slot und das {\bf InChanger} Flag manuell setzen, indem Sie das {\bf update volume}
503 Consolen-Kommando verwenden (sehr umst\"{a}ndlich).
504
505 \item Sie k\"{o}nnen das
506
507 \footnotesize
508 \begin{verbatim}
509 update slots scan
510 \end{verbatim}
511 \normalsize
512
513    Consolen-Kommando ausf\"{u}hren. Daraufhin wird Bacula jedes Tape nacheinander in ein Laufwerk laden,
514    das Tape Label lesen und den Katalog (Slot, InChanger-Flag) aktualisieren.
515    Dieses Vorgehen ist zwar wirkungsvoll, aber auch sehr langsam.
516
517 \item Sie k\"{o}nnen das {\bf mtx-changer} Script anpassen, damit es die Barcodes im Autochanger simuliert (siehe unten).
518 \end{enumerate}
519
520 \label{simulating}
521 \section{Simulieren von Barcodes im Autochanger}
522 \index[general]{Autochanger!Simulieren von Barcodes im }
523 \index[general]{Simulieren von Barcodes im Autochanger }
524
525 Sie k\"{o}nnen die Barcodes im Autochanger simulieren, indem Sie das {\bf mtx-changer} Script so anpassen,
526 dass es die selben Informationen zur\"{u}ckgibt, die ein Autochanger mit Barcodes liefert.
527 Dazu wird die folgende Zeile im {\bf mtx-changer} Script:
528
529 \footnotesize
530 \begin{verbatim}
531   ${MTX} -f $ctl status |
532              grep " *Storage Element [0-9]*:.*Full" |
533                    awk "{print \$3 \$4}" | sed "s/Full *\(:VolumeTag=\)*//"
534 \end{verbatim}
535 \normalsize
536 (Der Zeilenumbruch dient hier nur der Darstellung, im {\bf mtx-changer} Script ist es eine Zeile)
537
538 durch ein \# auskommentiert oder einfach gel\"{o}scht (Zeilennummer ist ungef\"{a}hr 99).
539 An ihrer Stelle wird eine neue Zeile erstellt, die den Inhalt einer Datei ausgibt.
540 Zum Beispiel:
541
542 \footnotesize
543 \begin{verbatim}
544 cat /etc/bacula/changer.volumes
545 \end{verbatim}
546 \normalsize
547
548 Stellen Sie sicher, dass Sie den kompletten Pfad zur Datei angeben, Ort und Name der Datei sind egal.
549 Die Inhalt der Datei muss folgenden Beispiel entsprechen:
550
551 \footnotesize
552 \begin{verbatim}
553 1:Volume1
554 2:Volume2
555 3:Volume3
556 ...
557 \end{verbatim}
558 \normalsize
559
560 Wobei die 1, 2 und 3 die Slot-Nummern und Volume1, Volume2 und Volume3 die Namen (bzw. Barcodes) sind.
561 Sie k\"{o}]nnen mehrere Datei erstellen, die den Tapes in verschiedenen Magazinen entsprechen und beim Wechsel
562 der Magazine einfach die f\"{u}r das Magazine g\"{u}ltige Datei in die {\bf /etc/bacula/changer.volumes} kopieren.
563 Sie brauchen Bacula nicht neu zu starten, wenn Sie Magazine wechseln, nur die Datei muss den richtigen Inhalt haben.
564 Wenn Sie dann das Console-Kommando {\bf update slots} ausf\"{u}hren, wird Ihr Autochanger f\"{u}r Bacula so erscheinen,
565 als ob er Barcodes unterst\"{u}tzen w\"{u}rde.
566
567
568 \label{updateslots}
569 \section{Alle Parameter des Update Slots Kommandos}
570 \index[general]{Alle Parameter des Update Slots Kommandos }
571 \index[general]{Kommandos!alle Parameter des Update Slots }
572
573 Wenn Sie ncht alle Slots \"{u}berpr\"{u}fen lassen wollen, nur weil Sie ein Tape im Magazin getauscht haben,
574 k\"{o}nnen Sie das Consolen-Kommando {\bf update slots}, genauso wie das Kommando {\bf update slots scan},
575 mit zus\"{a}tzlichen Parametern aufrufen:
576
577 \footnotesize
578 \begin{verbatim}
579 update slots=n1,n2,n3-n4, ...
580 \end{verbatim}
581 \normalsize
582
583 wobei der Parameter {\bf scan} optional ist. Die Parameter n1, n2, n3-n7... geben die Slots an,
584 wobei n1, n2 f\"{u}r einzelne Slots und n3-n7 f\"{u}r einen Bereich von Slots steht (n3 bis n7).
585
586 Diese Parameter sind n\"{u}tzlich, wenn Sie {\bf update slots scan} (sehr langsam) ausf\"{u}hren und dabei
587 die Slots auf die mit gewechselten Tapes begrenzen k\"{o}nnen.
588
589 Als Beispiel, das Console-Kommando :
590
591 \footnotesize
592 \begin{verbatim}
593 update slots=1,6 scan
594 \end{verbatim}
595 \normalsize
596
597 veranlasst Bacula, das Tape im ersten Slot des Autochangers in ein Laufwerk zu laden, das Label zu lesen und den
598 Katalog entsprechend zu aktualisieren.
599 Danach passiert dasselbe mit dem Tape im sechsten Slot.
600 Das Console-Kommando:
601
602 \footnotesize
603 \begin{verbatim}
604 update slots=1-3,6
605 \end{verbatim}
606 \normalsize
607
608 liest die Barcodes der Tapes in den Slots 1, 2, 3 und 6 und aktualisiert den Katalog.
609 Wenn Ihr Autochanger keinen Barcode-Leser hat und Sie das {\bf mtx changer} Script nicht, wie oben beschrieben,
610 angepasst haben, wird dieses Console-Kommando keine Tapes finden und folglich nichts tun.
611
612 \label{FreeBSD}
613 \section{FreeBSD Belange}
614 \index[general]{Belange!FreeBSD }
615 \index[general]{FreeBSD Belange }
616
617 Falls unter FreeBSD Probleme auftreten, wenn Bacula versucht auf ein Laufwerk zuzugreifen 
618 und folgende Fehlermeldung erscheint: {\bf Device not configured},
619 passiert dass weil FreeBSD den Ger\"{a}te-Eintrag {\bf /dev/nsa1} entfernt, wenn kein Tape im Laufwerk ist.
620 Das hat zur Folge, dass Bacula das Ger\"{a}t nicht \"{o}ffnen kann. Die L\"{o}sung f\"{u}r dieses Problem ist es,
621 sicherzustellen, dass immer ein Tape im Laufwerk ist, wenn Bacula gestartet wird.
622 Diese Problem ist in den Bacula-Versionen 1.32f-5 und sp\"{a}ter behoben.
623
624 Beachten Sie bitte das Kapitel \ilink{Laufwerk-Tests}{FreeBSDTapes} bevor Sie den Autochanger testen,
625 dort finden Sie weitere {\bf wichtige} Informationen die Laufwerke betreffend.
626
627 \label{AutochangerTesting}
628 \section{Autochanger-Test und Anpassung des mtx-changer Scripts}
629 \index[general]{Autochanger-Test }
630 \index[general]{Anpassung des mtx-changer Scripts}
631
632
633 Bevor Sie den Autochanger gleich mit Bacula ausprobieren, ist es vorzuziehen, zuerst von Hand
634 zu testen ob er richtig funktioniert.
635 Um das zu tun, empfehlen wir, dass Sie die folgenden Kommandos ausf\"{u}hren (wobei angenommen wird,
636 dass das {\bf mtx-changer} Script unter {\bf /etc/bacula/mtx-changer} liegt):
637
638 \begin{description}
639
640 \item [Stellen Sie sicher, dass Bacula nicht l\"{a}uft.]
641
642 \item [/etc/bacula/mtx-changer \ /dev/sg0 \ list \ 0 \ /dev/nst0 \ 0]
643 \index[sd]{mtx-changer list}
644
645 Das Kommando sollte diese Ausgabe erzeugen:
646
647 \footnotesize
648 \begin{verbatim}
649    1:
650    2:
651    3:
652    ...
653    
654 \end{verbatim}
655 \normalsize
656
657 eine oder mehrere Zeilen f\"{u}r jeden belegten Slot im Autochanger,
658 wobei hinter jeder Zahl ein Doppelpunkt ({\bf :}) stehen muss.
659 Wenn Ihr Autochanger Barcodes unterst\"{u}tzt, steht hinter dem Doppelpunkt der Barcode.
660 Falls ein Fehler auftritt, muss die Ursache gefunden werden
661 (versuchen Sie z.B. ein anderes Kontroll-Device zu verwenden, falls {\bf /dev/sg0} falsch ist).
662 Unter FreeBSD z.B. liegt das Kontroll-Device gew\"{o}hnlich auf {\bf /dev/pass2}.
663
664 \item [/etc/bacula/mtx-changer \ /dev/sg0 \ slots ]
665 \index[sd]{mtx-changer slots}
666
667 Das Kommando sollte die Anzahl der Slots im Autochanger anzeigen.
668
669 \item [/etc/bacula/mtx-changer \ /dev/sg0 \ unload \ 1 \ /dev/nst0 \ 0 ]
670 \index[sd]{mtx-changer unload}
671
672    Falls das Tape aus Slot 1 in einem Laufwerk geladen ist, sollte es jetzt entladen werden.
673
674 \item [/etc/bacula/mtx-changer \ /dev/sg0 \ load \ 3 \ /dev/nst0 \ 0 ]
675 \index[sd]{mtx-changer load}
676
677 Angenommen in Slot 3 ist ein Tape, dann wird es jetzt in das erste Laufwerk geladen (\bf Drive Index = 0)
678
679 \item [/etc/bacula/mtx-changer \ /dev/sg0 \ loaded \ 0 \ /dev/nst0 \ 0]
680 \index[sd]{mtx-changer loaded}
681
682 Dieses Kommando sollte jetzt 3 ausgeben (Die Slot-Nummer des in Laufwerk 0 geladenen Tapes.).
683 Beachten Sie, dass wir im Kommando eine ung\"{u}ltige Slotnummer 0 verwendet haben.
684 In diesem Fall, wird sie einfach ignoriert, weil sie nicht ben\"{o}tigt wird.
685 Allerdings musste eine Slot-Nummer angegeben werden, weil der Laufwerksparameter
686 am Ende des Kommandos erforderlich war, um das richtige Laufwerk zu w\"{a}hlen.
687
688 \item [/etc/bacula/mtx-changer \ /dev/sg0 \ unload \ 3 /dev/nst0 \ 0]
689
690 wird das Laufwerk mit {\bf Drive Index = 0} in Slot 3 entladen.
691
692 \end{description}
693
694 Nachdem alle oben genannten Kommandos funktionieren und in der
695 Storage-Dienst-Konfiguration auch das richtige {\bf Changer Command} angegeben ist,
696 sollte Bacula jetzt mit Ihrem Autochanger arbeiten k\"{o}nnen.
697 Das letzte verbleibende Problem ist, dass der Autochanger einige Zeit ben\"{o}tigt,
698 das Tape zu laden, nachdem das entsprechende Kommando abgesetzt wurde.
699 Wenn sich das {\bf mtx-changer} Script nach dem load-Kommando beendet,
700 wird Bacula sofort versuchen das Tape zur\"{u}ckzuspulen und zu lesen.
701 Wenn Bacula Ein-/Ausgabe-Fehler nach dem Laden des Tapes meldet, werden Sie eventuell eine
702 Verz\"{o}gerungszeit (z.B. {\bf sleep 20}) im {\bf mtx changer} Script nach dem {\bf mtx} Kommando
703 einf\"{u}gen m\"{u}ssen. Bitte bedenken Sie, dass egal was Sie dem {\bf mtx changer} Script an Kommandos
704 hinzuf\"{u}gen, sich das Script immer mit {\bf exit 0} beendet.
705 Bacula \"{u}berpr\"{u}ft den R\"{u}ckgabewert des Script nach jedem Aufruf und er muss immer 0 sein,
706 wenn alles geklappt hat.
707
708 Ob Sie eine {\bf sleep}-Zeit im Script angeben m\"{u}ssen, k\"{o}nnen Sie mit folgenden
709 Kommandos \"{u}berpr\"{u}fen, indem Sie sie in ein Script schreiben und ausf\"{u}hren.
710
711 \footnotesize
712 \begin{verbatim}
713 #!/bin/sh
714 /etc/bacula/mtx-changer /dev/sg0 unload 1 /dev/nst0 0
715 /etc/bacula/mtx-changer /dev/sg0 load 3 /dev/nst0 0
716 mt -f /dev/st0 rewind
717 mt -f /dev/st0 weof
718 \end{verbatim}
719 \normalsize
720
721 Wenn das Script funktioniert, haben Sie wahrscheinlich keine zeitlichen Probleme.
722 Wenn es nicht funktioniert, tragen Sie, direkt hinter dem mtx-changer load Kommando,
723 {\bf sleep 30} oder auch {\bf sleep 60} ein. Wenn es damit funktioniert,
724 \"{u}bernehmen Sie den passenden {\bf sleep}-Eintrag in das {\bf mtx-changer} Script,
725 so wird diese Verz\"{o}gerungszeit jedes mal angewendet, wenn Bacula das Script aufruft.
726
727 Ein zweites Problem, dass einige Autochanger betrifft, ist dass die Laufwerke diese Autochanger das Tape
728 auswerfen m\"{u}ssen, bevor es aus dem Laufwerk entfernt werden kann. Falls das zutrifft, wird das Kommando
729 {\bf load 3} niemals erfolgreich beendet werden, egal wie lange Sie warten.
730 In diesem Fall, k\"{o}nnen Sie ein Auswurf-Kommando direkt hinter das {\bf unload} setzen,
731 so dass das Script dann so aussieht:
732
733 \footnotesize
734 \begin{verbatim}
735 #!/bin/sh
736 /etc/bacula/mtx-changer /dev/sg0 unload 1 /dev/nst0 0
737 mt -f /dev/st0 offline
738 /etc/bacula/mtx-changer /dev/sg0 load 3 /dev/nst0 0
739 mt -f /dev/st0 rewind
740 mt -f /dev/st0 weof
741 \end{verbatim}
742 \normalsize
743
744 Nat\"{u}rlich m\"{u}ssen Sie das {\bf offline} Kommando in das {\bf mtx changer} Script \"{u}bernehmen,
745 falls es das Problem behebt. Da Bacula den R\"{u}ckgabewert des {\bf mtx changer} Scripts \"{u}berpr\"{u}ft,
746 stellen sie wiederum sicher, dass er immer 0 ist, bzw. das der R\"{u}ckgabewert des {\bf mtx} Kommandos an
747 Bacula \"{u}bergeben wird.
748
749 Wie vorher schon angemerkt, sind im Verzeichnis {\bf \lt{}bacula-source\gt{}/examples/devices} mehrere
750 Scripte, die die oben genannten Kommandos bereits enthalten. Sie k\"{o}nnen eine Hilfe sein, um Ihr Script
751 zum laufen zu bringen.
752
753 Wenn Bacula den Fehler {\bf Rewind error on /dev/nst0. ERR=Input/output error.} ausgibt,
754 werden Sie in den meisten F\"{a}llen eine l\"{a}ngere {\bf sleep}-Zeit in Ihrem {\bf mtx-changer} Script
755 hinzuf\"{u}gen m\"{u}ssen, bevor es nach dem {\bf load} Kommando beendet wird.
756
757 \label{using}
758 \section{Arbeiten mit dem Autochanger}
759 \index[general]{Arbeiten mit dem Autochanger }
760 \index[general]{Autochanger!Arbeiten mit dem  }
761
762 Angenommen, Sie haben alle notwendigen Storage-Dienst-Device-Eintr\"{a}ge richtig konfiguriert
763 und Sie haben einen {\bf Autochanger = yes} Eintrag zu der Storage-Konfiguration im Director-Dienst
764 hinzuge\"{u}gt.
765
766 Jetzt f\"{u}llen Sie Ihren Autochanger mit, zum Beispiel, 6 leeren Tapes.
767
768 Was muss passieren, damit Bacula auf diese Tapes zugreifen kann?
769
770 Eine M\"{o}glichkeit ist, dass jedes Tape vorgelabelt wird. Starten Sie Bacula und
771 f\"{u}hren Sie das Console-Programm aus, innerhalb des Console-Programms verwenden Sie das Kommando {\bf label}:
772
773 \footnotesize
774 \begin{verbatim}
775 ./bconsole
776 Connecting to Director rufus:8101
777 1000 OK: rufus-dir Version: 1.26 (4 October 2002)
778 *label
779 \end{verbatim}
780 \normalsize
781
782 wird etwas \"{a}hnliches wie hier ausgeben:
783
784 \footnotesize
785 \begin{verbatim}
786 Using default Catalog name=BackupDB DB=bacula
787 The defined Storage resources are:
788      1: Autochanger
789      2: File
790 Select Storage resource (1-2): 1
791 \end{verbatim}
792 \normalsize
793
794 W\"{a}hlen Sie den Autochanger und es erscheint:
795
796 \footnotesize
797 \begin{verbatim}
798 Enter new Volume name: TestVolume1
799 Enter slot (0 for none): 1
800 \end{verbatim}
801 \normalsize
802
803 geben Sie {\bf Testvolume1} f\"{u}r den Tape-Namen ein und {\bf 1} f\"{u}r den Slot.
804 Bacula fragt:
805
806 \footnotesize
807 \begin{verbatim}
808 Defined Pools:
809      1: Default
810      2: File
811 Select the Pool (1-2): 1
812 \end{verbatim}
813 \normalsize
814
815 W\"{a}hlen Sie den Default Pool. Das wird automatisch gemacht, wenn Sie nur einen Pool haben.
816 Nun wird Bacula damit beginnen, das ben\"{o}tigte Laufwerk zu entladen und 
817 das Tape aus Slot 1 in das Laufwerk zu laden und als Testvolume1 zu labeln.
818 In diesem Beispiel war kein Tape im Laufwerk, die Ausgabe sieht dann so aus:
819
820 \footnotesize
821 \begin{verbatim}
822 Connecting to Storage daemon Autochanger at localhost:9103 ...
823 Sending label command ...
824 3903 Issuing autochanger "load slot 1" command.
825 3000 OK label. Volume=TestVolume1 Device=/dev/nst0
826 Media record for Volume=TestVolume1 successfully created.
827 Requesting mount Autochanger ...
828 3001 Device /dev/nst0 is mounted with Volume TestVolume1
829 You have messages.
830 *
831 \end{verbatim}
832 \normalsize
833
834 Sie k\"{o}nnen dann damit fortfahren, die andern Tapes zu labeln.
835 Die Ausgaben werden etwas anders aussehen, weil Bacula dann erst das
836 vorherige, gerade gelabelte Tape, aus dem Laufwerk entladen muss,
837 bevor das neue Tape geladen werden kann.
838
839 Wenn Sie alle Tapes gelabelt haben, wird Bacula sie automatisch verwenden, wenn sie ben\"{o}tigt werden.
840
841 Um nachzusehen, wie die Tapes gelabelt sind, geben Sie einfach das Console-Kommando {\bf list volumes} ein,
842 das wird eine Liste, wie die folgende ausgeben:
843
844 \footnotesize
845 \begin{verbatim}
846 *{\bf list volumes}
847 Using default Catalog name=BackupDB DB=bacula
848 Defined Pools:
849      1: Default
850      2: File
851 Select the Pool (1-2): 1
852 +-------+----------+--------+---------+-------+--------+----------+-------+------+
853 | MedId | VolName  | MedTyp | VolStat | Bites | LstWrt | VolReten | Recyc | Slot |
854 +-------+----------+--------+---------+-------+--------+----------+-------+------+
855 | 1     | TestVol1 | DDS-4  | Append  | 0     | 0      | 30672000 | 0     | 1    |
856 | 2     | TestVol2 | DDS-4  | Append  | 0     | 0      | 30672000 | 0     | 2    |
857 | 3     | TestVol3 | DDS-4  | Append  | 0     | 0      | 30672000 | 0     | 3    |
858 | ...                                                                            |
859 +-------+----------+--------+---------+-------+--------+----------+-------+------+
860 \end{verbatim}
861 \normalsize
862
863 \label{Barcodes}
864 \section{Barcode Unterst\"{u}tzung}
865 \index[general]{Unterst\"{u}tzung!Barcode }
866 \index[general]{Barcode Unterst\"{u}tzung }
867
868 Bacula unterst\"{u}tzt Barcodes mit zwei Console-Kommandos:
869 {\bf label barcodes} und {\bf update slots}.
870
871 Das Kommando {\bf label barcodes} bewirkt, dass Bacula mittels des {\bf mtx-changer} {\bf list}
872 Kommandos die Barcodes der Tapes in allen Slots einliest. Danach wird jedes Tape, eins nach dem anderen,
873 mit dem Namen gelabelt, den der Barcode enth\"{a}lt.
874
875 Das {\bf update slots} Kommando holt, \"{u}ber das {\bf mtx-changer} Script, zuerst eine Liste aller Tapes und deren Barcodes. Dann versucht es im Katalog die entsprechenden Tapes zu finden und aktualisiert
876 den {\bf Slot} und das {\bf InChanger} Flag. Falls das Tape nicht im Katalog gelistet ist, passiert nichts.
877 Diese Kommando wird ben\"{o}tigt, um die Volume-Eintr\"{a}ge im Katalog mit den tats\"{a}chlich im Autochanger
878 zur Verf\"{u}gung stehenden Tapes abzugleichen, nachdem Tapes gewechselt oder in andere Slots verschoben wurden.
879
880 Die Angabe des {\bf Cleaning Prefix} kann in der Pool-Konfiguration benutzt werden, um anzugeben welche
881 Tapes (Barcodes) im Katalog mit dem {\bf VolStatus} {\bf Cleaning} gekennzeichnet werden sollen.
882 Das verhindert, dass Bacula versucht auf dem Tape zu schreiben.
883
884 \label{interface}
885 \section{Bacula Autochanger Schnittstelle}
886 \index[general]{Schnittstelle!Bacula Autochanger }
887 \index[general]{Bacula Autochanger Schnittstelle }
888
889 Bacula ruft das Autochanger-Script auf, dass Sie als  {\bf Changer Command} angegeben haben.
890 Normalerweise ist es das von Bacula mitgelieferte {\bf mtx-changer} Script,
891 aber tats\"{a}chlich kann es auch jedes andere Programm sein.
892 Die einzige Anforderung ist, dass es die Kommandos die Bacula benutzt,
893 {\bf loaded}, {\bf load}, {\bf unload}, {\bf list} und {\bf slots}, unterst\"{u}tzt.
894 Ausserdem muss jedes dieser Kommandos genau diese R\"{u}ckgabewerte liefern:
895
896 \footnotesize
897 \begin{verbatim}
898 - Die momentan benutzten Autochanger-Kommandos sind:
899     loaded -- gibt, ab 1 beginnend, die Nummer des im Laufwerk geladenen Slot zur\"{u}ck,
900               bzw. 0 wenn das Laufwerk leer ist.
901     load   -- l\"{a}dt das Tape aus dem angegebenen Slot in das Laufwerk (einige Autochanger
902               ben\"{o}tigen eine 30-sek\"{u}ndige Pause nach diesem Kommando)
903     unload -- entl\"{a}dt das Tape aus dem Laufwerk zur\"{u}ck in den Slot
904     list   -- gibt eine Zeile pro Tape im Autochanger aus.
905               Das Format ist: <Slot>:<Barcode>. Wobei
906               der {\bf Slot} eine Zahl (nicht null) ist, die der Slot-Nummer entspricht,
907               und {\bf Barcode} ist, falls vorhanden, der Barcode des Tapes,
908               ansonsten ist {\bf Barcode} leer.
909      slots -- gibt die absolute Anzahl der Slots im Autochanger zur\"{u}ck.
910 \end{verbatim}
911 \normalsize
912
913 Bacula \"{u}berpr\"{u}ft den R\"{u}ckgabewert des aufgerufenen Programms,
914 wenn er Null ist, werden die gelieferten Daten akzeptiert.
915 Wenn der R\"{u}ckgabewert nicht Null ist, wird eine entsprechende Fehlermeldung ausgegeben und
916 Bacula wird ein manuelles laden des Tapes in das Laufwerk erwarten.