4 \chapter{Grundlegendes Volume-Management}
6 \index[general]{Grundlegendes Volume-Management}
7 \index[general]{Management!Grundlegendes Volume}
8 \index[general]{Disk/Festplatten Volumes}
10 In diesem Kapitel werden die grundlegenden Funktionen erkl\"{a}rt,
11 die zum Volume-Management ben\"{o}tigt werden. Die meisten dieser Konzepte
12 sind sowohl f\"{u}r Tape- als auch f\"{u}r Disk/Festplatten-Volumes g\"{u}ltig.
13 Allerdings wurde dieses Kapitel \"{u}rspr\"{u}nglich geschrieben,
14 um das Mangement von Disk-Volumes zu beschreiben. Sie werden diese
15 Tendenz sicher stellenweise bemerken, trotzdem gelten alle Konfigurations-
16 M\"{o}glichkeiten gleicherma{\ss}en f\"{u}r Tape- und Disk-Volumes.
18 Disk-Volumes werden normalerweise benutzt, wenn sowieso sehr viel Festplatten-
19 Platz verf\"{u}gbar ist, oder die Backup-Jobs innerhalb eines sehr kleinen
20 Zeitfensters laufen m\"{u}ssen, wo die Festplatten einen Geschwindigkeitsvorteil
21 gegen\"{u}ber den Bandlaufwerken haben.
23 \section{Schl\"{u}sselkonzepte und Konfigurations-Parameter}
25 \index[general]{Schl\"{u}sselkonzepte und Konfigurations-Parameter }
26 \index[general]{Records!Key Concepts and Resource }
28 Bacula dazu zu bringen, dass es auf Disk-Volumes statt auf Tapes schreibt
29 ist im einfachsten Fall sehr leicht zu bewerkstelligen. In der Konfiguration
30 des Storage-Dienstes geben Sie dazu als {\bf Archive Device} ein Verzeichnis an.
31 Wenn Sie, zum Beispiel, m\"{o}chten das Ihre Backups im Verzeichnis
32 {\bf /home/bacula/backups} gespeichert werden, k\"{o}nnen Sie folgende
33 Ger\"{a}te-Konfiguration verwenden:
40 Archive Device = /home/bacula/backups
49 Zus\"{a}tzlich muss der entsprechende {\bf Storage}-Eintrag in der Konfiguration
50 des Director-Dienstes vorhanden sein:
56 Address = host.firma.de
64 Bacula wird dann die Backup-Daten in die Datei
65 {\bf /home/bacula/backups/\lt{}Volume-Name\gt{}} schreiben.
66 \lt{}Volume-Name\gt{} ist dabei der Name eines vorher erstellten Volumes.
67 Falls Sie ein Volume namens {\bf Vol001} erstellt haben, wird Bacula also
68 in die Datei names {\bf /home/bacula/backups/Vol001} schreiben.
69 Obwohl Sie diese Datei sp\"{a}ter problemlos in ein anderes Verzeichnis
70 verschieben k\"{o}nnen, d\"{u}rfen Sie niemals den Namen der Datei \"{a}ndern.
71 Bacula verwendet den Datei-Namen des Volumes als Teil des internen Volume-Labels,
72 daher wird Bacula das Volume nicht mehr als korrekt erkennen, wenn der Dateiname
73 von Volume-Label abweicht.
75 Auch wenn bis jetzt alles sehr einfach aussieht gibt es doch ein paar Probleme
76 mit dieser Beispiel-Konfiguration. Das Erste ist, dass Bacula immer auf das
77 selbe Volume schreiben wird, so lange bis die Festplatte voll ist. Die
78 L\"{o}sung daf\"{u}r wird weiter unten beschrieben.
80 Zus\"{a}tzlich m\"{u}ssen Sie auch noch andere Details beachten, wenn Sie
81 zum Beispiel wollen, dass mehrere Backup-Jobs gleichzeitig laufen.
82 Eine Beispiel-Konfiguration f\"{u}r so ein Setup finden Sie am Ende
83 dieses Kapitels im Abschnitt \ilink{gleichzeitige Disk Jobs}{ConcurrentDiskJobs}.
86 \subsection{Pool-Konfigurations-Optionen zur Begrenzung der Volume-Benutzung}
87 \index[general]{Benutzung!Pool-Konfigurations-Optionen zur Begrenzung der Volume-}
88 \index[general]{Pool-Konfigurations-Optionen zur Begrenzung der Volume-Benutzung}
90 Hier ist eine Liste aller Optionen die Sie in der Pool-Konfiguration
91 angeben k\"{o}nnen, um die Benutzung der Volumes durch Bacula zu begrenzen:
94 \item Um jedes Volume nur einmal zu benutzen (in diesem Beispiel nur f\"{u}r einen
95 Backup-Job pro Volume) k\"{o}nnen Sie
97 {\bf UseVolumeOnce = yes}
99 in der Pool-Konfiguration angeben.
101 \item Um nnn Backup-Jobs auf jedes Volume zu schreiben, benutzen Sie:
103 {\bf Maximum Volume Jobs = nnn}.
105 \item Um die Gr\"{o}{\ss}e des Volumes zu begrenzen, konfigurieren Sie:
107 {\bf Maximum Volume Bytes = mmmm}.
109 Bitte beachten Sie, dass, wenn Sie Disk-Volumes mit Bacula-Version bis
110 1.39.28 verwenden, Sie die maximale Volume-Gr\"{o}{\ss}e auf einen
111 sinnvollen Wert, wie zum Beispiel 5 GB, setzen. Das ist notwendig,
112 weil Bacula w\"{a}hrend der Wiederherstellung das gesamte Volume
113 lesen muss, bis an den Punkt wo die wiederherzustellenden Daten
114 beginnen. Wenn Ihre Volumes 50GB gro{\ss} sind, dauert das
115 nat\"{u}rlich entsprechend l\"{a}nger. Auch bei einer teilweise
116 defekten Festplatte verlieren Sie wahrscheinlich weniger Volumes,
117 wenn diese entsprechend kleiner sind.
119 \item Um die Zeit einzuschr\"{a}nken in der ein Volume beschrieben werden darf,
120 k\"{o}nnen Sie diesen Parameter setzen:
122 {\bf Volume Use Duration = ttt}.
125 Obwohl Sie wahrscheinlich niemals die Anzahl der Bytes begrenzen wollen,
126 die auf ein Tape geschrieben werden d\"{u}rfen, k\"{o}nnen die anderen
127 genannten Konfigurations-Optionen auch bei Bandlaufwerken sehr n\"{u}tzlich
128 sein. Als Beispiel k\"{o}nnen Sie mit den oben beschriebenen Optionen
129 daf\"{u}r sorgen, dass Ihre B\"{a}nder in einer t\"{a}glichen Rotation
132 Wie schon erw\"{a}hnt, wird jede dieser Optionen innerhalb der Pool-
133 Konfiguration angegeben die f\"{u}r den Pool, in dem die Volumes sind,
134 gilt. Die Parameter {\bf Maximum Volume Job}, {\bf Maximum Volume Bytes}
135 und {\bf Volume Use Duration} k\"{o}nnen f\"{u}r jedes Volume einzelt
136 gesetzt werden. Dazu werden die Werte aus der Pool-Konfiguration beim
137 Labeln des Volumes in einen eigenen Datenbank-Eintrag, der nur f\"{u}r
138 das Volume g\"{u}ltig ist, \"{u}bernommen. Dieser Datenbank-Eintrag kann
139 dann mittels des Console-Kommandos {\bf update volume} seperat angepasst
140 werden. Dadurch das die Pool-Konfiguration als eigener Eintrag f\"{u}r
141 die Volumes in die Datenbank \"{u}bernommen wird, ist eine \"{A}nderung
142 in der Pool-Konfiguration nur f\"{u}r Volumes g\"{u}ltig die nachher
143 erstellt werden. Um die neue Pool-Konfiguration auch auf die
144 bereits bestehenden Volumes anzuwenden, muss in der Console bei dem
145 Kommando {bf update volume} die Funktion {bf All Volumes from Pool}
148 Als ein Beispiel f\"{u}r die Benutzung eines der oben genannten
149 Paramter, nehmen wir einmal an, Ihre Pool-Konfiguration sieht so aus:
156 Volume Use Duration = 23h
161 Wenn Ihre Backup-Jobs dann einmal am Tag laufen (also alle 24 Stunden)
162 wird Bacula f\"{u}r jeden Backup-Lauf ein neues Volume verwenden, da f\"{u}r
163 die Volumes eine maximale Benutzungs-Zeit von 23 Stunden gesetzt ist.
164 Die Zeit gilt dabei ab dem ersten Schreibvorgang auf dem Volume.
165 Bedenken Sie, dass das Setzen einer Use-Duration f\"{u}r Tape-Volumes dazu
166 f\"{u}hren kann, dass eventuell auch am Wochenende neue leere Tapes in das Laufwerk
167 gelegt werden m\"{u}ssen (sofern Sie keinen Autochanger benutzen).
169 \subsection{Automatisches labeln der Volumes}
170 \label{AutomaticLabeling}
171 \index[general]{Automatisches labeln der Volumes}
172 \index[general]{Labeln!Volumes automatisch }
174 Wenn Sie die genannten Konfigurations-Parameter benutzen, sto{\ss}en
175 Sie wahrscheinlich auf das n\"{a}chste Problem: Sie m\"{u}ssen die
176 Volumes labeln. Sie k\"{o}nnen dabei zwischen zwei Varianten w\"{a}hlen,
177 entweder Sie labeln die Volumes manuell bevor Bacula sie ben\"{o}tigt,
178 oder Sie lassen Sie automatisch durch Bacula, in dem Moment wo sie
179 gebraucht werden, labeln. Beim automatischen Labeln der Volumes
180 k\"{o}nnen Sie auf eine vielzahl von Informationen, Umgebungsvariablen
181 und internen Z\"{a}hlern von Bacula zugreifen, um sinnvolle Volume-Label
182 erstellen zu lassen. Sie k\"{o}nnen auch mittels eines Python-Script
183 das Bacula-Event "`NewVolume"' auswerten und durch das Script ein
184 neues Volume erstellen lassen. Dabei haben Sie dann alle Freiheit was
185 den Namen des zu erstellenden Volumes angeht. Mehr Informationen
186 \"{u}ber die Verwendung von Python-Scripten finden Sie im Kapitel
187 \ilink{Python Scripte}{PythonChapter} dieses Handbuchs.
189 Das automatische Labeln von Volumes kann auch mit Tapes benutzt werden,
190 dabei ist allerdings zu bendeken, dass die Tapes daf\"{u}r gemountet
191 werden m\"{u}ssen, was eventuell menschliches Eingreifen erfordert.
192 Automatisches Labeln nach Templates (Vorlagen) funktioniert mit Autochangern
193 nicht, da Bacula niemals auf Slots zugreift, die unbekannte Tapes enthalten.
194 Im Kapitel \ilink{Autochanger}{AutochangersChapter} dieses Handbuchs
195 sind mehrere Methoden beschrieben, wie alle Tapes innerhalb des Autochangers
196 gelabelt werden k\"{o}nnen.
198 Automatisches Labeln der Volumes wird durch Anpassungen in der Pool-
199 (Director) und Ger\"{a}te- (Storage) Konfiguration, wie unten
200 beschrieben, aktiviert. In der Pool-Konfiguration m\"{u}ssen Sie Bacula
201 das Label-Format vorgeben. In diesem Format werden dann die neuen Volumes
202 benannt. In der einfachsten Form ist das Format nur der Volume-Name
203 an den Bacula dann eine vierstellige laufende Nummer anh\"{a}ngt.
204 Diese Nummer beginnt bei 0000 und wird pro Volume immer uns Eins erh\"{o}ht.
205 Wenn Sie Ihre Pool-Konfiguration also folgend anpassen:
212 Volume Use Duration = 23h
218 wird Bacula Volumes names Vol0001, Vol0002 und so weiter immer dann erstellen
219 wenn sie ben\"{o}tigt werden. Weit komplexere und ausf\"{u}hrliche Namen
220 lassen sich mittels Variablen-Auswertung erstellen. Hilfe dazu finden Sie im
221 Kapitel \ilink{Variablen-Auswertung}{VarsChapter}.
223 N\"{a}here Angaben zum {\bf Label Format} finden Sie im Kapitel
224 "`Label Format"' des Bacula-Installations- und Konfigurations-Handbuchs.
226 Der zweite notwendige Schritt um das automatische Labeln zu aktivieren, ist es
227 dem Storage-Dienst das Labeln zu erlauben. Das tun Sie indem Sie {\bf LabelMedia = yes}
228 in der Ger\"{a}te-Konfiguration angeben:
235 Archive Device = /home/bacula/backups
237 AutomaticMount = yes;
245 \subsection{Wiederverwendung und Begrenzung der Anzahl der Volumes}
247 \index[general]{Wiederverwendung!Wiederverwendung und Begrenzung der Anzahl der Volumes}
248 \index[general]{Wiederverwendung und Begrenzung der Anzahl der Volumes}
250 Das oben beschriebene automatische Labeln der Volumes l\"{a}sst ein neues Problem
251 entstehen: es wird eine Art Volume-Management ben\"{o}tigt. Mit dem bisherigen
252 Schema wird jeden Tag ein neues Volume erstellt. Wenn Sie keine Aufbewarungszeitr\"{a}ume
253 konfiguriert haben, wird sich Ihre Katalog-Datenbank, zus\"{a}tzlich
254 zu den jeden Tag enstehenden Volumes, immer weiter mit den Informationen
255 \"{u}ber alle von Bacula gesicherten Dateien f\"{u}llen.
257 Bacula stellt folgende Konfigurations-Parameter zur Verf\"{u}gung
258 um diese Probleme automatisch handzuhaben:
261 \item der Aufbewarungszeitraum f\"{u}r Datei-Eintr\"{a}ge im Katalog, der
262 \ilink{File Retention = ttt}{FileRetention} Eintrag in der Client-Konfiguration
263 \item der Aufbewarungszeitraum f\"{u}r Job-Eintr\"{a}ge im Katalog, der
264 \ilink{Job Retention = ttt}{JobRetention} Eintrag in der Client-Konfiguration
266 \ilink{ AutoPrune = yes}{AutoPrune} Eintrag in der Client-Konfiguration
267 erlaubt Bacula die beiden oberen Augbewarungszeitr\"{a}ume anzuwenden.
269 \ilink{ Volume Retention = ttt}{VolRetention} Eintrag in der Pool-Konfiguration
270 bestimmt die Zeit, in der die Volumes nicht \"{u}berschrieben werden d\"{u}rfen.
272 \ilink{ AutoPrune = yes}{PoolAutoPrune} Eintrag in der Pool-Konfiguration
273 um Bacula die automatische Anwendung der Volume Retention zu erlauben.
275 \ilink{ Recycle = yes}{PoolRecycle} Eintrag in der Pool-Konfiguration
276 um Bacula zu erlauben, Volumes mit abgelaufener Aufbewarungzeit wiederzuverwenden.
278 \ilink{ Recycle Oldest Volume = yes}{RecycleOldest} Eintrag in der Pool-Konfiguration
279 sagt Bacula, dass die Ablaufzeitr\"{a}ume nur auf das \"{a}lteste Volume im Pool
280 angewendet werden sollen. Wenn alle enthaltenen Daten abgelaufen sind, wird das
281 Volume wiederverwendet.
283 \ilink{ Recycle Current Volume = yes}{RecycleCurrent} Eintrag in der Pool-Konfiguration
284 sagt Bacula, dass die Ablaufzeitr\"{a}ume nur auf das momentan gemountete Volume
285 angewendet werden sollen. Wenn alle enthaltenen Daten abgelaufen sind, wird das
286 Volume wiederverwendet.
288 \ilink{ Purge Oldest Volume = yes}{PurgeOldest} Eintrag in der Pool-Konfiguration
289 erlaubt Bacula die Wiederverwendung des \"{a}ltesten Volumes im Pool
290 zu erzwingen, wenn ein leeres Volume ben\"{o}tigt wird.
291 {\bf Achtung! Dabei werden keine Ablaufzeitr\"{a}ume beachtet. Das \"{a}lteste
292 vorhandene Volume wird einfach widerverwendet. Normalerweise sollte
293 "`Recycle Oldest Volume"' anstelle dieses Eintrags verwendet werden.}
295 \ilink{ Maximum Volumes = nnn}{MaxVolumes} Eintrag in der Pool-Konfiguration
296 begrenzt die maximale Anzahl von Volumes die Bacula f\"{u}r diesen Pool erstellen darf.
299 Die ersten drei Konfigurations-Eintr\"{a}ge (File Retention, Job Retention und AutoPrune)
300 bestimmen die Zeit, die die Job- und Datei-Eintr\"{a}ge in der Katalog-Datenbank
301 aufbewart werden. Eine genaue Beschreibung dieser Parameter finden Sie im Kapitel
302 \ilink{automatische Volume Wiederverwendung}{RecyclingChapter} in diesem Handbuch.
304 Volume Retention, AutoPrune und Recycle bestimmen, wie lange Bacula die Volumes
305 vor dem Wiederbeschreiben aufbewart. Auch das wird im Kapitel
306 \ilink{automatische Volume Wiederverwendung}{RecyclingChapter} n\"{a}her beschrieben.
308 Der Parameter "`Maximum Volumes"' kann in Verbindung mit der "`Volume Retention
309 Period"' dazu verwendet werden, die maximale Anzahl der Volumes zu begrenzen
310 die Bacula verwendet. Wenn eine angemessene Aufbewarungszeit f\"{u}r die Volumes
311 gesetzt ist, werden die Volumes, kurz bevor wieder ein neues Volume
312 ben\"{o}tigt wird, automatisch ablaufen. Das periodische Wiederverwenden einer
313 festen Anzahl von Volumes kann auch durch setzen von {\bf Recycle Oldest Volume = yes}
314 oder {\bf Recycle Current Volume = yes} erreicht werden. In diesem Fall wird Bacula,
315 wenn ein neues Volume ben\"{o}tigt wird, das enstsprechende Volume wiederverwenden.
317 \label{ConcurrentDiskJobs}
318 \section{parallele Festplatten-Jobs}
319 \index[general]{parallele Festplatten-Jobs}
321 Oberhalb wurde beschrieben, wie Sie ein einzelnes Storage-Ger\"{a}t
322 namens {\bf FileBackup} benutzen k\"{o}nnen, um die zu sichernden Daten
323 auf Volumes im Verzeichnis {\bf /home/bacula/backups} zu schreiben.
324 Nat\"{u}rlich ist es auch m\"{o}glich mehrere Jobs gleichzeitig auf
325 diesem einen Storage-Ger\"{a}t laufen zu lassen. Alle Jobs werden
326 dann parallel auf das Volume geschrieben.
329 Falls Sie mehrere Pools, was auch bedeutet mehrere Volumes,
330 verwenden wollen, oder m\"{o}chten das jeder Backup-Client
331 auf ein eigenes Volume gesichert wird, oder in ein seperates
332 Verzeichnis wie etwa {\bf /home/bacula/client1} und
333 {\bf /home/bacula/client2}, dann werden Sie das mit der bisherigen
334 Konfiguration nicht bewerkstelligen k\"{o}nnen. Das liegt daran,
335 dass Bacula Festplatten-Volumes nach den gleichen Regeln
336 behandelt wie Bandlaufwerke. Ein Storage-Ger\"{a}t kann zu
337 jeden beliebigen Zeitpunkt nur ein einziges Volume enthalten.
338 Wenn Sie also gleichzeitig auf mehreren Volumes schreiben
339 m\"{o}chten, m\"{u}ssen Sie auch mehrere Storage-Ger\"{a}te
340 in der Konfiguration des Storage-Dienstes und des Director-Dienstes
343 Mehrere Ger\"{a}te-Definitionen sind also notwendig, wenn auf mehr als
344 ein Storage-Ger\"{a}t oder in verschiedene Verzeichnisse gesichert werden soll.
345 Weiterhin m\"{u}ssen Sie wissen, dass in der Katalog-Datenbank nur die
346 Informationen \"{u}ber den "`Media-Type"' und nicht das spezielle
347 Storage-Ger\"{a}t gespeichert werden. Dadurch wird es m\"{o}glich,
348 dass, zum Beispiel ein Tape, in jedem anderen kompatiblen Storage-Ger\"{a}t
349 gemounted werden kann. Diese Kompitabilit\"{a}t wird durch einen identischen
350 Media-Type der verschiedene Storage-Ger\"{a}te erreicht. Das ist auch
351 f\"{u}r Festplatten-Volumes g\"{u}ltig. Da ein Volume, das vom Storage-
352 Ger\"{a}t in dem Verzeichnis {\bf /home/bacula/backups} beschrieben
353 wurde, nicht von einem Storage-Ger\"{a}t gelesen werden kann, dass
354 {\bf /home/bacula/client1} als "`ArchiveDevice"' konfiguriert hat,
355 werden Sie Probleme bei der Wiederherstellung von Daten bekommen,
356 falls beide Ger\"{a}te mit {Media Type = File} angegeben sind.
357 Bei der Wiederherstellung von Daten wird Bacula das erste zur Verf\"{u}gung
358 stehende Laufwerk mit dem passenden "`Media Type"' w\"{a}hlen,
359 unabh\"{a}hngig davon, ob es das Richtige ist. Falls das verwirrend klingt,
360 erinnern Sie sich daran, dass der Director-Dienst nur den Volume-Namen
361 und den Media-Type kennt. Auf welchen Ger\"{a}t das Volume beschrieben wurde,
362 und unter welchem Verzeichnis, ist zu diesem Zeitpunkt unbekannt. Daher
363 m\"{u}ssen Sie Ihre Volumes, mittels des Media Types, den korrekten
364 Ger\"{a}ten zuordnen.
366 Das folgende Beispiel zeigt eine Konfiguration, bei der zwei Clients
367 zwei verschiedene Pools und Verzeichnisse zum speichern ihrer Daten
371 \section{Ein Beispiel}
372 \index[general]{Example }
373 %%TODO index => Example ..... for what??
375 Das folgende Beispiel ist nicht sehr praxisnah, aber es reicht aus, um in kurzer
376 Zeit, den Ablauf zu demonstrieren. In diesem Beispiel gibt es zwei Clients
377 die auf je einen Satz von 12 Volumes und in zwei verschiedene Verzeichnisse
378 gesichert werden. Jedes Volume wird nur einmal benutzt und innerhalb einer
379 Stunden werden vier Vollbackups gestartet. Damit dauert der komplette Lauf
380 \"{u}ber alle 12 Volumes pro Client nur 3 Stunden.
382 Der Schl\"{u}ssel hierbei ist, dass die beiden physikalischen Storage-
383 Ger\"{a}te unterschiedliche Media Types benutzen. Das erm\"{o}glicht
384 dem Director-Dienst, bei der Wiederherstellung von Daten, das richtige
385 Gera\"{a}t auszuw\"{a}hlen.
387 Die Director-Dienst-Konfiguration sind wie folgend aus:
393 QueryFile = "~/bacula/bin/query.sql"
394 PidDirectory = "~/bacula/working"
395 WorkingDirectory = "~/bacula/working"
396 Password = dir_password
400 Run = Level=Full hourly at 0:05
401 Run = Level=Full hourly at 0:20
402 Run = Level=Full hourly at 0:35
403 Run = Level=Full hourly at 0:50
406 Name = "RecycleExample"
410 FileSet= "Example FileSet"
412 Storage = FileStorage
414 Schedule = FourPerHour
418 Name = "RecycleExample2"
422 FileSet= "Example FileSet"
424 Storage = FileStorage1
426 Schedule = FourPerHour
430 Name = "Example FileSet"
436 File = /home/kern/bacula/bin
443 Password = client_password
450 Password = client1_password
456 Password = local_storage_password
464 Password = local_storage_password
471 dbname = bacula; user = bacula; password = ""
479 Use Volume Once = yes
481 LabelFormat = "Recycle-"
490 Use Volume Once = yes
492 LabelFormat = "Recycle1-"
502 und die Konfiguration des Storage-Dienstes:
508 WorkingDirectory = "~/bacula/working"
509 Pid Directory = "~/bacula/working"
510 MaximumConcurrentJobs = 10
514 Password = local_storage_password
519 Archive Device = /home/bacula/backups
522 AutomaticMount = yes;
530 Archive Device = /home/bacula/backups1
533 AutomaticMount = yes;
540 director = my-dir = all
545 Mit ein wenig Anpassung k\"{o}nnen Sie dieses Beispiel als Grundlage
546 f\"{u}r einen w\"{o}chentlichen oder monatlichen Backup-Ablauf
547 verwenden. Beacht6en Sie dabei aber den zur Verf\"{u}gung stehenden
550 \label{MultipleDisks}
551 \section{Backup auf mehrere Festplatten}
552 \index[general]{Festplatten!Backup auf mehrere }
553 \index[general]{Backup auf mehrere Festplatten }
555 Bacula kann nat\"{u}rlich auch auf mehrere Festplatten sichern, dabei muss
556 aber jede Festplatte in der Storage-Dienst-Konfiguration als eigenes Ger\"{a}t
557 angegeben werden. Dann kann \"{u}ber die Client-Konfiguration das zu
558 benutzende Ger\"{a}t, also die Festplatte, ausgew\"{a}hlt werden. Zus\"{a}tzlich
559 muss jedes Storage-Ger\"{a}t einen anderen Media Type benutzen, damit Bacula
560 bei der Wiederherstellung von Daten das richtige Ger\"{a}t ausw\"{a}hlen kann.
562 Wenn Sie zwei Festplatten oder Partitionen als ein logisches Storage-Ger\"{a}t
563 verwenden wollen, wird es etwas komplizierter, da Bacula so ein vorgehen nicht
564 direkt unterst\"{u}tzt. Trotzdem ist es m\"{o}glich zwei Festplatten als ein
565 Ger\"{a}t anzusprechen, indem Sie die Volume-Dateien auf den Festplatten
568 Angenommen Sie haben zwei Festplatten namens {\bf /disk1} und {\bf/disk2}.
569 Wenn Sie jetzt die Standard-Konfiguration f\"{u}r ein Backup auf die erste
570 Festplatte anlegen, sieht Ihre Storage-Dienst-Konfiguration wie folgt aus:
577 Archive Device = /disk1
580 AutomaticMount = yes;
587 Da es keinen Weg gibt diese Ger\"{a}te-Konfiguration auf beide Festplatten zeigen
588 zu lassen, m\"{u}ssen Sie die Volumes auf /disk2 auf folgende Weise von Hand erstellen:
592 ln -s /disk2/Disk2-vol001 /disk1/Disk2-vol001
593 ln -s /disk2/Disk2-vol002 /disk1/Disk2-vol002
594 ln -s /disk2/Disk2-vol003 /disk1/Disk2-vol003
599 An diesem Punkt k\"{o}nnen Sie die Volumes mit den folgenden Namen labeln:
600 {\bf Disk2-vol001}, {\bf Disk2-vol002}, ... . Bacula wird sie dann so benutzen
601 als w\"{a}ren sie auf /disk1, aber die Daten werden in Wirklichkeit auf /disk2
602 geschrieben. Die einzigen Unbequemlichkeit dabei sind, dass Sie die Namen
603 der Volumes ausdr\"{u}cklich angeben m\"{u}ssen und dass das automatische
604 Labeln der Volumes nur noch funktioniert, wenn die Label der Volumes
605 genau den Namen der Links entsprechen, die Sie angelegt haben.
607 Wichtig zu wissen ist, dass Bacula Volumes auf Festplatten, soweit wie
608 m\"{o}glich, als Bandlaufwerke zu behandelen zu versucht. Das bedeutet,
609 dass immer nur ein einziges Festplatten-Volume zur Zeit in einem,
610 in der Storage-Dienst-Konfiguration angebenen Ger\"{a}t, gemounted sein
611 kann. Sie k\"{o}nnen mehrere Backup-Jobs parallel auf das gerade
612 gemountete Volume schreiben lassen, aber wenn Sie die Jobs gleichzeitig
613 auf unterschiedliche Volumes schreiben lassen wollen, m\"{u}ssen Sie
614 mehrere Ger\"{a}te-Konfiguration, eine f\"{u}r jeden gleichzeitigen Job,
615 anlegen. Das ist dasselbe Vorgehen, wie es bei zwei Bandlaufwerken
616 erforderlich ist. Allerdings gibt es einen gro{\ss}en Unterschied,
617 die Volumes die Sie auf Festplatten erstellen k\"{o}nnen nicht so
618 ohne weiteres gegen einander ausgetauscht werden, wie es bei Bandlaufwerken
619 m\"{o}glich ist. Daher muss jedes Festplatten-Volume/-Ger\"{a}t einen
620 anderen Media Type verwenden, nur so kann sichergestellt werden,
621 dass Bacula bei der Wiederherstellung das korrekte Ger\"{a}t
624 Ein Beispiel daf\"{u}r:
631 Archive Device = /disk1
634 AutomaticMount = yes;
642 Archive Device = /disk2
645 AutomaticMount = yes;
652 Mit den oben genannten Ger\"{a}te-Konfigurationen k\"{o}nnen Sie
653 zwei Backup-Jobs parallel auf zwei veschiedene Ger\"{a}te schreiben,
654 eine Job auf {\bf /disk1} und einen Job auf {\bf /disk2}. Durch den
655 unterschiedlichen Media Type kann Bacula das richtige Ger\"{a}tzur
656 Wiederherstellung von Daten bestimmen.
658 \label{MultipleClients}
659 \section{\"{U}berlegungen bez\"{u}glich mehrerer Clients}
660 \index[general]{Clients!\"{U}berlegungen bez\"{u}glich mehrerer }
661 \index[general]{mehrere Clients}
663 Bevor wir dem obigen Beispiel einen weiteren Client hinzuf\"{u}gen,
664 sollten, sollten folgende Aspekte bedacht werden:
667 \item auch wenn der zweite Client auf den gleichen Satz Volumes gesichert werden kann,
668 wollen Sie eventuell einen eigene Satz Volumes f\"{u}r ihn verwenden.
669 \item Sie k\"{o}nnen die Daten auf anderen Volumes sichern, indem Sie einen zweiten
670 Pool anlegen, der einen anderen Namen hat und ein anderes {\bf LabelFormat} verwendet.
671 \item Wenn Sie die Volumes f\"{u}r den zweiten Client in einem anderen Verzeichnis,
672 oder zur Lastverteilung auf einer anderen Festplatte, speichern m\"{o}chten,
673 m\"{u}ssen Sie ein zweites Storage-Ger\"{a}t in der Storage-Dienst-Konfiguration
674 anlegen. Dabei muss der Ger\"{a}te-Name anders sein und das {\bf ArchiveDevice}
675 darf anders sein. Um sicherzustellen, dass sich die Volumes eindeutig den
676 Ger\"{a}ten und Pools zuordnen lassen, verwenden Sie unterschiedliche Media Types.
679 Hier ein Beispiel f\"{u}r zwei Backup-Clients die jeder in einen anderen
680 Pool und auf unterschiedlich viele Volumes gesichert werden. Zus\"{a}tzlich
681 schreiben sie in unterschiedliche Verzeichnisse mit unterschiedlich gelabelten
684 Hier die Konfiguration des Director-Dienstes:
690 QueryFile = "~/bacula/bin/query.sql"
691 PidDirectory = "~/bacula/working"
692 WorkingDirectory = "~/bacula/working"
693 Password = dir_password
695 # Basic weekly schedule
697 Name = "WeeklySchedule"
698 Run = Level=Full fri at 1:30
699 Run = Level=Incremental sat-thu at 1:30
702 Name = "Example FileSet"
708 File = /home/kern/bacula/bin
712 Name = "Backup-client1"
716 FileSet= "Example FileSet"
720 Schedule = "WeeklySchedule"
723 Name = "Backup-client2"
727 FileSet= "Example FileSet"
731 Schedule = "WeeklySchedule"
737 Password = client1_password
744 Password = client2_password
746 # Two Storage definitions with different Media Types
747 # permits different directories
751 Password = local_storage_password
758 Password = local_storage_password
764 dbname = bacula; user = bacula; password = ""
770 # Two pools permits different cycling periods and Volume names
771 # Cycle through 15 Volumes (two weeks)
774 Use Volume Once = yes
776 LabelFormat = "Client1-"
778 VolumeRetention = 13d
782 # Cycle through 8 Volumes (1 week)
785 Use Volume Once = yes
787 LabelFormat = "Client2-"
796 und die Storage-Dienst-Konfiguration:
802 WorkingDirectory = "~/bacula/working"
803 Pid Directory = "~/bacula/working"
804 MaximumConcurrentJobs = 10
808 Password = local_storage_password
810 # Archive directory for Client1
814 Archive Device = /home/bacula/client1
817 AutomaticMount = yes;
821 # Archive directory for Client2
825 Archive Device = /home/bacula/client2
828 AutomaticMount = yes;
834 director = my-dir = all