lug-in.de
Linux User Group Ingolstadt e.V.
Startseite
Der Verein
Technikecke
Mailingliste
Kalender
Impressum

Login

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