02.08.2010
Ich installiere bacula auf einer alten PIII-866 Maschiene mit Xubuntu 10.04 LTS. Ein simples
apt-get install bacula
installiert bacula allerdings mit MySQL. Da ich aber SQlite benötige instaliere ich nchfolgende Pakete nach.
apt-get install bacula-commons-sqlite3 bacula-director-sqlite3
Ich baue die HVD-SCSI Karte um und probiere nun ob ich den Timberwolf unter Linux kontrollieren kann.Ein Blick nach /proc/scsi/scsi verrät uns:
root@tomoko:~# cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: IC35L040AVER07-0 Rev: ER4O Type: Direct-Access ANSI SCSI revision: 05 Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: PIONEER Model: DVD-ROM DVD-106 Rev: 1.09 Type: CD-ROM ANSI SCSI revision: 05 Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: QUANTUM Model: DLT7000 Rev: 2565 Type: Sequential-Access ANSI SCSI revision: 02 Host: scsi2 Channel: 00 Id: 01 Lun: 00 Vendor: QUANTUM Model: DLT7000 Rev: 2565 Type: Sequential-Access ANSI SCSI revision: 02 Host: scsi2 Channel: 00 Id: 02 Lun: 00 Vendor: QUANTUM Model: DLT7000 Rev: 2565 Type: Sequential-Access ANSI SCSI revision: 02 Host: scsi2 Channel: 00 Id: 03 Lun: 00 Vendor: QUANTUM Model: DLT7000 Rev: 2565 Type: Sequential-Access ANSI SCSI revision: 02 Host: scsi2 Channel: 00 Id: 06 Lun: 00 Vendor: STK Model: 9740 Rev: 1952 Type: Medium Changer ANSI SCSI revision: 02 root@tomoko:~#
Die Laufwerke liegen unter /dev/nst(0-3) und der Wechlser unter /dev/sg6.
Wenn man also z.B ein Band aus dem Laufwerk 1 in den Schacht 5 stecken möchte geht das analgo zu FreeBSD mit.
root@tomoko:~# mt -f /dev/nst1 offline root@tomoko:~# mtx -f /dev/sg6 unload 5 1 Unloading drive 1 into Storage Element 5...done
Allerdings kriege ich den Bacula Diector nicht zum Laufen. Weder mit Sqlite3 noch mit Postgres. Es scheint irgendwelche Probleme beim Vebindungsaufbau zwischen dem Direktor und der Datenbank. Das mitgelieferte Tool sollte zwar die Datenbank bacula mitsamt der Tabellen und den User baclula erzeugen aber irgendwas läuft schief.
Da ich mich mit Postgresql erheblich besser auskenne, installiere ich z.B
apt-get install bacula-director-pgsql
und es klappt nichts. Danach noch ein
dpkg-reconfigure bacula-director-pgsql
Auf dem Papier alles schön und gut aber der Director meldet er kann sich nicht mit der Datenbank verbinden. Ich schätze es liegt am Authentifizierungsverfahren. Bei Postgresql ist per Default die Authentifizierung auf IDENT gesetzt. Will heissen, das es genügt wenn das lokale System auf dem man gerade arbeitet der Datenbank bescheinigt, daß man der User x ist - ein Passwort wird nicht übertragen. ich vermute das der Director nicht unter bacula läuft oder der user bacula der Datenbank nicht bekannt ist oder oder......
Ich stelle das Verfahren auf Passwörter um. Hierzu die nacholgende Zeile änder in /etc/postgresql/8.4/main/pg_hba.conf
# "local" is for Unix domain socket connections only local all all password
Daszu natürlich noch vorher überprüfen ob das gesetzte Paswort in Postgresql auch vorhanden ist mit. Als User postgres führt man folgendes aus:
psql -d template1 ALTER ROLE bacula WITH PASSWORD 'password';
Damit wird dem User bacula in der Datenbank ein Password zugewiesen. Jetzt sollte der Zugriff auf die Datenbank klappen. Unter /var/lib/bacula/ werden diverse mails und Warnungen abgelegt.
Bei der Verbindung Director zu Storage Daemon gibt es Probleme. Der name der bei FREEBSD noch auf den jeweiligen Rechner zu lautet hatt setzte ich hier die IP-Adresse ein.
Desweiteren muss im Storage Daemon die nachfolgende Einstellung deaktiviert werden:
SDAddress = 127.0.0.1
Am besten mit auskommentieren, sonst erlaubt der Storage Daemon keinen Zugriff eines File Daemon der nicht lokal ist.
Und hier nun die fertigen Linux_bacula-dir.conf und hier die fertige Linux_bacula-sd.conf
10.08.2010
Das Backup läuft nicht. Ich bekommen eine Meldung das er das Band nicht einlegen kann. Ich versuche einen Test mit btape, aber btape scheint nicht installiert. Ich installiere den Storage-Daemon nochmal neu mit
apt-get install bacula-sd-pgsql
Ich labele ein paar Tapes neu und setzte sie in den Pool default und schon geht los. Allerdings bekomme ich die nachfolgende Meldung:
ou have messages. *messages 16-Aug 10:06 tomoko-sd JobId 5: Job write elapsed time = 00:33:32, Transfer rate = 811.6 K Bytes/second 16-Aug 10:06 tomoko-dir JobId 5: Error: Could not open WriteBootstrap file: /var/db/bacula/misato.augustin-fd.bsr: ERR=No such file or directory 16-Aug 10:06 tomoko-dir JobId 5: Error: Bacula tomoko-dir 5.0.1 (24Feb10): 16-Aug-2010 10:06:57 Build OS: i486-pc-linux-gnu ubuntu 10.04 JobId: 5 Job: Misato.2010-08-16_09.33.12_06 Backup Level: Full Client: "misato.augustin-fd" 2.4.2 (26Jul08) x86_64-pc-linux-gnu,debian,lenny/sid FileSet: "Misato Set" 2010-08-10 15:13:04 Pool: "Default" (From User input) Catalog: "MyCatalog" (From Client resource) Storage: "DLT-0" (From Job resource) Scheduled time: 16-Aug-2010 09:32:43 Start time: 16-Aug-2010 09:33:15 End time: 16-Aug-2010 10:06:57 Elapsed time: 33 mins 42 secs Priority: 10 FD Files Written: 9,405 SD Files Written: 9,405 FD Bytes Written: 1,631,520,717 (1.631 GB) SD Bytes Written: 1,633,004,115 (1.633 GB) Rate: 806.9 KB/s Software Compression: None VSS: no Encryption: no Accurate: no Volume name(s): Timberwolf_Neu_004 Volume Session Id: 1 Volume Session Time: 1281942822 Last Volume Bytes: 1,634,605,056 (1.634 GB) Non-fatal FD errors: 1 SD Errors: 0 FD termination status: OK SD termination status: OK Termination: *** Backup Error *** 16-Aug 10:06 tomoko-dir JobId 5: Begin pruning Jobs older than 6 months . 16-Aug 10:06 tomoko-dir JobId 5: No Jobs found to prune. 16-Aug 10:06 tomoko-dir JobId 5: Begin pruning Jobs. 16-Aug 10:06 tomoko-dir JobId 5: No Files found to prune. 16-Aug 10:06 tomoko-dir JobId 5: End auto prune.
Der Fehler liegt in der bacula-dir.conf. Hier steht :
JobDefs {
Name = "Misato_Job"
.........
Write Bootstrap = "/var/db/bacula/%c.bsr"
}und hier muss stehen
JobDefs {
Name = "Misato_Job"
.........
Write Bootstrap = "/var/lib/bacula/%c.bsr"
}FreeBSD und Ubuntu verwenden verschieden Arbeistverzeichnisse. Und hier nun die voll funktionierende Tomoko_bacula-dir.conf
19.08.2010 Heute sind über Nacht alle Bänder auf den Status Error gesetzt. Ich versuche das Problem nachzuvollziehen und setze btape ein. Ich lege eine neues band in /dev/nst0 ein.
sudo btape -c /etc/baula/dlt2.conf /dev/nst0
hier mache ich den test , und alles kein Problem. Jetzt aber mache ich einen Geschwindigskeitstest mit dem Komando speed und bekomme folgende Fehlermeldungen.
btape: btape.c:905 Begin writing 3 files of 2.147 GB with raw blocks of 64512 bytes. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 19-Aug 10:08 btape: Fatal Error at dev.c:1726 because: dev.c:1725 Attempt to WEOF on non-appendable Volume btape: btape.c:604 Bad status from weof. ERR=dev.c:1725 Attempt to WEOF on non-appendable Volume btape: btape.c:410 Volume bytes=2.147 GB. Write rate = 11.60 MB/s +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 19-Aug 10:11 btape: Fatal Error at dev.c:1726 because: dev.c:1725 Attempt to WEOF on non-appendable Volume btape: btape.c:604 Bad status from weof. ERR=dev.c:1725 Attempt to WEOF on non-appendable Volume
Vieleicht liegt hier die Lösung :
http://www.bacula.org/fr/dev-manual/Testing_Your_Tape_Drive.html#SECTION008202100000000000000
Ich versuche was neues. Ich setze die Option TWO EOF auf no
TWO EOF = no
starte den btape test. Ich setzte das Kommnado fill ab und lasse Ihn ein Band vollschreiben und zurücklesen. Scheint zu klappen. Als ich dann anschließende den Speed Test machen möchte bekomme ich folgende Fehlermeldung.
*speed btape: btape.c:1056 Test with zero data, should give the maximum throughput. btape: btape.c:905 Begin writing 3 files of 1.073 GB with raw blocks of 64512 bytes. Write failed at block 0. stat=-1 ERR=Bad file descriptor
Ich setzte nun folgende beide Parameter auf no in der dlt2.conf
BSF at EOM = no TWO EOF = no
Nun läuft sowohl der Speed Test, als auch der herkömmlice Test.
Ich hatte beide Parameter aus meiner Konfigurationsdatei des Bacula-unter FreeBSD übernommen- Und FreeBSD schreibt anscheinden zweimal den EOF und Linux nur einmal. Der zweite Parameter BSF at EOF bleibt mir ein Rätsel.
Und hier nun die Linux_bacula-dir_V1.1.conf und hier die fertige Linux_bacula-sd_V1.1.conf