[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bacula-devel] Director bug when using two storage daemons?


Hello,
I think I have come across a bug that exists in bacula-2.2.8, and is still in
svn trunk, as I have tried the same scenario with both.

I have three machines.

On the first (tdir), I have:
a bacula-dir
a bacula-sd (Disk 1)
a bacula-fd (with a few mebabytes of data to be backed up)

On the second (tsd), I have:
a bacula-sd (rDisk for tdir)

On the third (robertxp), I have
a bacula-fd (with a few gigabytes of data to be backed up)

I configure tdir to run two jobs:
1) backup robertxp to the storage daemon on tsd.
2) backup tdir to the storage daemon on tdir.

I tell it to begin (1), which will take a long time, and observe the data
arriving on tsd (rDisk for tdir), in a file called 'backup-0001'.
While that is still running, I tell it to begin (2), and observe the job
running and complete successfully on tdir (Disk 1).

I look back in the log, and I find that it has marked 'backup-0001' as Purged,
but the first job is actually still running! I can watch the size of the file
increasing.
>From this point onwards, what is in my catalog doesn't reflect reality and
unexpected things happen.

Here is the log produced via the above scenario:


Nov  6 16:16:14 tdir.grke.net-dir JobId 1: No prior Full backup Job record found.
Nov  6 16:16:14 tdir.grke.net-dir JobId 1: No prior or suitable Full backup found in catalog. Doing FULL backup.
Nov  6 16:16:16 tdir.grke.net-dir JobId 1: Start Backup JobId 1, Job=Windows:robertxp.2008-11-06_16.16.03
Nov  6 16:16:16 tdir.grke.net-dir JobId 1: Created new Volume "backup-0001" in catalog.
Nov  6 16:16:16 tdir.grke.net-dir JobId 1: Using Device "rDisk^Afor^Atdir.0"
Nov  6 16:17:34 tsd.grke.net-sd-9104 JobId 1: Labeled new Volume "backup-0001" on device "rDisk for tdir.0" (/write/mnt/rDisk for tdir).
Nov  6 16:17:34 tsd.grke.net-sd-9104 JobId 1: Wrote label to prelabeled Volume "backup-0001" on device "rDisk for tdir.0" (/write/mnt/rDisk for tdir)
Nov  6 16:17:34 tdir.grke.net-dir JobId 1: Max Volume jobs exceeded. Marking Volume "backup-0001" as Used.
Nov  6 16:17:35 robertxp-fd JobId 1: Generate VSS snapshots. Driver="VSS WinXP", Drive(s)="C"
Nov  6 16:18:04 tdir.grke.net-dir JobId 2: No prior Full backup Job record found.
Nov  6 16:18:04 tdir.grke.net-dir JobId 2: No prior or suitable Full backup found in catalog. Doing FULL backup.
Nov  6 16:18:06 tdir.grke.net-dir JobId 2: Start Backup JobId 2, Job=tdir.2008-11-06_16.18.04
Nov  6 16:18:07 tdir.grke.net-dir JobId 2: There are no more Jobs associated with Volume "backup-0001". Marking it purged.
Nov  6 16:18:07 tdir.grke.net-dir JobId 2: New Pool is: Scratch
Nov  6 16:18:07 tdir.grke.net-dir JobId 2: All records pruned from Volume "backup-0001"; marking it "Purged"
Nov  6 16:18:07 tdir.grke.net-dir JobId 2: Recycled volume "backup-0001"
Nov  6 16:18:07 tdir.grke.net-dir JobId 2: Using Volume "backup-0001" from 'Scratch' pool.
Nov  6 16:18:07 tdir.grke.net-dir JobId 2: Created new Volume "backup-0002" in catalog.
Nov  6 16:18:07 tdir.grke.net-dir JobId 2: Using Device "Disk^A1.0"
Nov  6 16:18:07 tdir.grke.net-fd JobId 2: ClientBeforeJob: run command "/usr/bin/clientrunscriptbackup before"
Nov  6 16:18:07 tdir.grke.net-sd-9103 JobId 2: Labeled new Volume "backup-0002" on device "Disk 1.0" (/write/mnt/Disk 1/var/lib/bacula/volumes).
Nov  6 16:18:07 tdir.grke.net-sd-9103 JobId 2: Wrote label to prelabeled Volume "backup-0002" on device "Disk 1.0" (/write/mnt/Disk 1/var/lib/bacula/volumes)
Nov  6 16:18:07 tdir.grke.net-dir JobId 2: Max Volume jobs exceeded. Marking Volume "backup-0002" as Used.
Nov  6 16:18:11 tdir.grke.net-sd-9103 JobId 2: Job write elapsed time = 00:00:04, Transfer rate = 254.5 K bytes/second
Nov  6 16:18:11 tdir.grke.net-fd JobId 2: ClientAfterJob: run command "/usr/bin/clientrunscriptbackup after"
Nov  6 16:18:11 tdir.grke.net-dir JobId 2: Bacula tdir.grke.net-dir 2.2.8 (26Jan08): 06-Nov-2008 16:18:11
Nov  6 16:18:11 Build OS:               i686-pc-linux-gnu unknown unknown
Nov  6 16:18:11 JobId:                  2
Nov  6 16:18:11 Job:                    tdir.2008-11-06_16.18.04
Nov  6 16:18:11 Backup Level:           Full (upgraded from Incremental)
Nov  6 16:18:11 Client:                 "tdir-fd" 2.2.8 (26Jan08) i686-pc-linux-gnu,unknown,unknown
Nov  6 16:18:11 FileSet:                "Non-Windows" 2008-11-06 16:18:04
Nov  6 16:18:11 Pool:                   "tdir:Full" (From Job FullPool override)
Nov  6 16:18:11 Storage:                "Disk 1" (From Job resource)
Nov  6 16:18:11 Scheduled time:         06-Nov-2008 16:18:04
Nov  6 16:18:11 Start time:             06-Nov-2008 16:18:07
Nov  6 16:18:11 End time:               06-Nov-2008 16:18:11
Nov  6 16:18:11 Elapsed time:           4 secs
Nov  6 16:18:11 Priority:               10
Nov  6 16:18:11 FD Files Written:       1,016
Nov  6 16:18:11 SD Files Written:       1,016
Nov  6 16:18:11 FD Bytes Written:       831,127 (831.1 KB)
Nov  6 16:18:11 SD Bytes Written:       1,018,084 (1.018 MB)
Nov  6 16:18:11 Rate:                   207.8 KB/s
Nov  6 16:18:11 Software Compression:   76.9 %
Nov  6 16:18:11 VSS:                    no
Nov  6 16:18:11 Storage Encryption:     yes
Nov  6 16:18:11 Volume name(s):         backup-0002
Nov  6 16:18:11 Volume Session Id:      1
Nov  6 16:18:11 Volume Session Time:    1225988158
Nov  6 16:18:11 Last Volume Bytes:      1,043,701 (1.043 MB)
Nov  6 16:18:11 Non-fatal FD errors:    0
Nov  6 16:18:11 SD Errors:              0
Nov  6 16:18:11 FD termination status:  OK
Nov  6 16:18:11 SD termination status:  OK
Nov  6 16:18:11 Termination:            Backup OK
Nov  6 16:18:11 tdir.grke.net-dir JobId 2: Begin pruning Jobs.
Nov  6 16:18:11 tdir.grke.net-dir JobId 2: No Jobs found to prune.
Nov  6 16:18:11 tdir.grke.net-dir JobId 2: Begin pruning Files.
Nov  6 16:18:11 tdir.grke.net-dir JobId 2: No Files found to prune.
Nov  6 16:18:11 tdir.grke.net-dir JobId 2: End auto prune.


All my of my Pools look like this:

Pool {
  Name = "tdir:Full"
  Pool Type = Backup
  Recycle = yes           # automatically recycle Volumes
  AutoPrune = yes         # Prune expired volumes
  Volume Retention = 1 week
  Maximum Volume Jobs = 1
  Label Format = backup-
  Maximum Volumes = 0     # unlimited
  RecyclePool = Scratch
}

My Devices, in the storage daemon configs, look like this:
Device {
  Name = "Disk 1.0"
  Media Type = File
  Archive Device = "/write/mnt/Disk 1/var/lib/bacula/volumes"
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}

If there is any other relevant information that I've not given, I can provide
it.


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Bacula-devel mailing list
Bacula-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/bacula-devel


This mailing list archive is a service of Copilot Consulting.