I've noticed something which has changed from the bacula 9->13 upgrade.

Looking at logs from December, before the upgrade, I find that *all* the backups were using storage "FileStorage0" and media type "File0".  And yet, the load was still shared 50/50 between devices FileDev0 and FileDev1.

root@store:/home/brian# grep File0 /var/log/bacula/bacula.log.1 | wc -l
1004
root@store:/home/brian# grep File1 /var/log/bacula/bacula.log.1 | wc -l
0

root@store:/home/brian# grep FileStorage0 /var/log/bacula/bacula.log.1 | wc -l
1004
root@store:/home/brian# grep FileStorage1 /var/log/bacula/bacula.log.1 | wc -l
0

root@store:/home/brian# grep FileDev0 /var/log/bacula/bacula.log.1 | wc -l
1539
root@store:/home/brian# grep FileDev1 /var/log/bacula/bacula.log.1 | wc -l
1473

I can't see how that worked. It's as if there were a single "Storage" with two Devices, but that's not what the config shows. The storages are defined in a separate file included from bacula-dir.conf, which hasn't changed since 2021.

root@store:/etc/bacula# ls -l bacula-storage.conf
-rw-r----- 1 bacula bacula 686 Feb  8  2021 bacula-storage.conf
root@store:/etc/bacula# cat bacula-storage.conf
# Definition of file storage device

Storage {
  Name = FileStorage0
  Address = store.nsrc.org                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "XXXXX"
  Device = FileDev0
  Media Type = File0
  Maximum Concurrent Jobs = 4
}

Storage {
  Name = FileStorage1
  Address = store.nsrc.org                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "XXXXX"
  Device = FileDev1
  Media Type = File1
  Maximum Concurrent Jobs = 4
}

# If required, we can add more Storage devices. These are virtual, but just allow
# Bacula to process backups in parallel.

The JobDefs and pools have:

  Storage                       = FileStorage0,FileStorage1

and bacula-sd.conf has:

root@store:/etc/bacula# ls -l bacula-sd.conf
-rw-r----- 1 bacula bacula 2253 Feb  1  2021 bacula-sd.conf

...
Device {
  Name = FileDev0
  Media Type = File0
  Archive Device = /backup/bacula
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}

Device {
  Name = FileDev1
  Media Type = File1
  Archive Device = /backup/bacula
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}
...

I can't see any way that FileDev1 could ever be used with media type File0. Could this behaviour have changed from bacula 9->13 ?

Anyway, I'm going to try and workaround this now, by two changes:

1. using a single mediatype "File0" (only 27 existing volumes in the catalog have mediatype "File1", I will update them)

2. using StorageGroupPolicy = LeastUsed

Given that I have set a concurrent limit of 2 backup jobs in the director, and there are two storage resources, I'm hoping that the LeastUsed storage will always be available, and then successfully create and use the volume first time. Let's see what happens tonight.

Regards,

Brian.



_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to