Bacula erlaubt es Ihnen Ihre Daten auf DVDs zu sichern, dabei werden alle DVD-Formate, wie DVD+RW, DVD+R, DVD-R oder DVD-RW, unterstützt. Bacula schreibt dabei die Daten zuerst in eine Image-Datei im Spool-Verzeichnis und je nach Konfiguration, zum Beispiel wenn die Image-Datei eine bestimmte Größe erreicht hat oder direkt nach dem Job, wird diese Image-Datei auf die DVD geschrieben. Der eigentliche Schreibvorgang wird von dem Script dvd-handler gesteuert. Dieses Script verwendet das Programm growisofs um DVDs zu erstellen oder weitere Daten zu einer DVD hinzuzufügen.
Um DVDs mit Bacula schreiben zu können, müssen Sie die dvd+rw-tools in der Version >= 7.1 auf Ihrem System installiert haben. Falls Sie eine ältere Version als 7.1 verwenden, müssen Sie den Quelltext patchen, Patches für die Versionen 6.1 und 5.21.4.10.8 finden Sie im patch-Verzeichnis des Bacula Quelltextes.
Da Bacula nicht direkt über das Betriebssystem auf die DVD schreiben kann, macht den gesamten Prozeß etwas komplizierter als, zum Beispiel, das Beschreiben von Bandlaufwerken. Mit einer entsprechenden angepassten Konfiguration funktioniert es aber. Der Quelltext, der die Funktionen für die Sicherung auf DVDs enthält, ist Momentan noch im BETA-Stadium, bitte bedenken Sie das und testen Sie entsprechend sorgfältig bevor Sie produktive Daten auf DVDs sichern.
Der Rest dieses Kapitels beschreibt die verschiedenen Konfigurations-Parameter, die Sie benutzen können, um den DVD-Schreibvorgang zu steuern.
Die folgenden DVD spezifischen Konfigurations-Parameter können in der Storage-Dienst-Konfiguration verwendet werden:
In den meisten Fällen wird das Mount Command wie folgt aussehen:
Mount Command = "/bin/mount -t iso9660 -o ro %a %m"
Wenn Sie den DVD-Brenner in /etc/fstab angegeben haben, können Sie auch ein Kommando in dieser Form verwenden:
Mount Command = "/bin/mount /media/dvd"
Eine gebräuchliche Form ist:
Unmount Command = "/bin/umount %m"
Für DVDs werden Sie meistens das von Bacula mitgelieferte Script dvd-handler wie folgt verwenden:
Write Part Command = "/Pfad/dvd-handler %a write %e %v"
Hierbei ist /Pfad der komplette Pfad zum Verzeichnis in dem das Script liegt. In der Standard-Konfiguration des Storage-Dienstes ist dieses Kommando bereits angegeben, aber auskommentiert. Um es zu verwenden, entfernen Sie einfach das Symbol # an Anfang der Zeile.
Für DVDs werden Sie meistens das von Bacula mitgelieferte Script dvd-handler wie folgt verwenden:
Free Space Command = "/path/dvd-handler %a free"
Hierbei ist /Pfad der komplette Pfad zum Verzeichnis in dem das Script liegt. Wenn Sie ein eigenes Kommando benutzen wollen, schauen Sie sich bitte an, wie und welche Informationen das Script an Bacula übergibt. In der Standard-Konfiguration des Storage-Dienstes ist dieses Kommando bereits angegeben, aber auskommentiert. Um es zu verwenden, entfernen Sie einfach das Symbol # an Anfang der Zeile.
Wenn diese Kommando nicht konfiguriert ist, geht Bacula davon aus, dass immer freier Speicherplatz auf der DVD verfügbar ist.
Zusätzlich zu den oben genannten Paramtern müssen auch die nicht DVD-spezifischen Standard-Einträge vorhanden sein. Sehen Sie sich hierzu bitte die beispielhafte DVD-Konfiguration in der Konfigurations-Datei des Storage-Dienstes an. Stellen Sie bitte sicher, dass Sie einen Geräte-Eintrag als Archive Device angeben, zum Beispiel /dev/cdrom und nicht ein Verzeichnis wie /media/cdrom. Abweichend können die Einträge auch /dev/cdrecorder, /dev/dvd oder /dev/sr0 heißen.
Letztendlich muss noch growisofs in der Lage sein genügend Arbeitsspeicher sperren zu dürfen. Wenn dies nicht gelingt, kann es zu Fehlern führen. Falls Sie die bash verwenden, können Sie mit dem folgenden Kommando den sperrbaren Speicher auf unbegrenzt festlegen:
ulimit -l unlimited
Bevor die Kommandos, die für Mount Command, Unmount Command, Write Part Command oder Free Space Command konfiguriert sind, an das Betriebssystem zur Ausführung übergeben werden, ersetzt Bacula folgende Paltzhalter durch die angegeben Parameter:
Die folgenden DVD spezifischen Parameter können in der Konfiguration des Director-Dienstes angegeben werden:
Bei Geräten die gemounted werden müssen (zum Beispiel DVDs), sollten Sie es auf yes setzen. Nur so können Sie sicher sein, dass alle Job-Daten auf das Gerät geschrieben werden und keine Daten in der temporären Datei auf der Festplatte verbleiben. Allerdings wird bei einigen Medien, wie DVD-R und DVD+R, für jede Session/ jeden ,,Part`` in etwa 10 Mb zusätzlicher Speicherplatz verbraucht. Wenn Sie also mehrere Jobs nacheinander laufen lassen, sollte WritePartAfterJob bei allen Jobs, ausser bei dem Letzten, auf no gesetzt werden. Dadurch wird verhindert, dass zu viel Speicherplatz verschwendet wird und trotzdem sichergestellt, dass alle Daten auf das Medium geschrieben werden.
Dieser Parameter wird nur ausgewertet, wenn als Geräte-Typ DVD angegeben ist.
Um sich die aktuell verwendete Schreib-Methode anzeigen zu lassen, können Sie diese Kommando ausführen:
dvd+rw-mediainfo /dev/xxxwobei Sie xxx mit dem Geräte-namen Ihres DVD-Brenners ersetzen müssen. Die gewünschte Information finden Sie dann in der Zeile die mit Mounted Media anfängt.
Um den DVD-Brenner in den Restricted Overwrite Modus zu versetzen, führen Sie dieses Kommando aus:
dvd+rw-format /dev/xxxIn dem Modus Incremental Sequential setzen Sie Ihr Laufwerk mittels:
dvd+rw-format -blank /dev/xxx
dd if=/dev/zero bs=1024 count=512 | growisofs -Z /dev/xxx=/dev/fd/0Danach können Sie versuchen die DVD zu mounten, falls die fehlschlägt, war der Löschvorgang erfolgreich und Bacula kann diese DVD verwenden. Ansonsten müssen Sie die Daten auf der DVD komplett löschen.
growisofs -Z /dev/xxx=/dev/zeroDadurch wird die gesamte DVD gelöscht. Dieser Vorgang kann, abhängig von Ihrem Laufwerk, bis zu 30 Minuten dauern.
Das Kommando um eine leere DVD zum ersten Mal zu beschreiben ist:
growisofs -Z /dev/xxx filename
weitere Sessions werden dann mittels:
growisofs -M /dev/xxx filenameauf die DVD geschrieben.
Seit growisofs 5.20 gibt es die Option -use-the-force-luke=4gms. Dadurch wird verhindert das growisofs das Limit von 4GB beachtet. Auf allen Kernel ab 2.6.8 sollte diese Option verwendet werden, da diese Kernel auch mehr als 4GB schreiben können. Weiter Informationen dazu finden Sie, auf Englisch, unter dem unten genannten Link.
eric 2009-05-06