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