I know WHAT is happening, just not WHY
I am hoping someone sees something obviously bogus in here.

Extract from bacula-dir.conf :

Autochanger {
  Name = "Disk01-Incremental-Autochanger"
  Address = "<SD Server Address>"
  Autochanger = "Disk01-Incremental-Autochanger"
  Device = "Disk01-Incremental-Autochanger"
  MaximumConcurrentJobs = 10
  MediaType = "DiskVolume"
  Password = <redacted>
  SdPort = 9103
}

Autochanger {
  Name = "Disk02-Incremental-Autochanger"
  Address = "<SD Server Address>"
  Autochanger = "Disk02-Incremental-Autochanger"
  Device = "Disk02-Incremental-Autochanger"
  MaximumConcurrentJobs = 10
  MediaType = "DiskVolume"
  Password = <redacted>
  SdPort = 9103
}

Pool {
  Name = "Incremental"
  ActionOnPurge = Truncate
  AutoPrune = yes
  LabelFormat = "IncVol-"
  MaximumVolumeBytes = 536870912000
  MaximumVolume = 20
  PoolType = "Backup"
  PurgeOldestVolume = yes
  Recycle = yes
  Storage = "Disk01-Incremental-Autochanger","Disk02-Incremental-Autochanger"
  StorageGroupPolicy = "FreeSpace"
  VolumeRetention = 2 weeks
}

Extract from bacula-sd.conf :

Autochanger {
  Name = "Disk01-Incremental-Autochanger"
  ChangerCommand = "/dev/null"
  ChangerDevice = "/dev/null"
  Device = 
"Disk01-Dev01-Incremental","Disk01-Dev02-Incremental","Disk01-Dev03-Incremental","Disk01-Dev04-Incremental","Disk01-Dev05-Incremental","Disk01-Dev06-Incremental","Disk01-Dev07-Incremental","Disk01-Dev08-Incremental","Disk01-Dev09-Incremental","Disk01-Dev10-Incremental"
}

Autochanger {
  Name = "Disk02-Incremental-Autochanger"
  ChangerCommand = "/dev/null"
  ChangerDevice = "/dev/null"
  Device = 
"Disk02-Dev01-Incremental","Disk02-Dev02-Incremental","Disk02-Dev03-Incremental","Disk02-Dev04-Incremental","Disk02-Dev05-Incremental","Disk02-Dev06-Incremental","Disk02-Dev07-Incremental","Disk02-Dev08-Incremental","Disk02-Dev09-Incremental","Disk02-Dev10-Incremental"
}

Device {
  Name = "Disk01-Dev01-Incremental"
  AlwaysOpen = yes
  ArchiveDevice = "/backups/Disk01/INCREMENTAL"
  AutomaticMount = yes
  DeviceType = File
  LabelMedia = yes
  MaximumConcurrentJobs = 5
  MediaType = "DiskVolume"
  RandomAccess = yes
  RemovableMedia = no
}
... repeat 39 for times changing Name and ArchiveDevice as needed

Finally, the bacula.log extract showing the error:


30-Jul 03:00 <Bacula Server>-dir JobId 36: Start Backup JobId 36, Job=<Bacula 
Server>.2025-07-30_03.00.00_32
30-Jul 03:00 <Bacula Server>-dir JobId 36: Connected to Storage 
"Disk02-Incremental-Autochanger" at <SD Server Address>:9103 with TLS
30-Jul 03:00 <Bacula Server>-dir JobId 36: Using Device 
"Disk02-Dev05-Incremental" to write.
...

30-Jul 03:00 <Bacula Server>-dir JobId 36: Storage 
"Disk02-Incremental-Autochanger" was selected out of group of 2 available 
storages. StorageGroupPolicy "FreeSpace" used
30-Jul 03:00 <Bacula Server>-dir JobId 36: Connected to Client "<Bacula 
Server>-fd" at <SD Server Address>:9102 with TLS
30-Jul 03:00 <Bacula Server>-fd JobId 36: Connected to Storage at <SD Server 
Address>:9103 with TLS
...
30-Jul 03:00 <Bacula Server>-dir JobId 36: Created new Volume="IncVol-0007", 
Pool="Incremental", MediaType="DiskVolume" in catalog.
30-Jul 03:00 <Bacula Server>-sd JobId 36: Labeled new Volume "IncVol-0007" on 
File device "Disk02-Dev05-Incremental" (/backups/Disk02/INCREMENTAL).
30-Jul 03:00 <Bacula Server>-sd JobId 36: Wrote label to prelabeled Volume 
"IncVol-0007" on File device "Disk02-Dev05-Incremental" 
(/backups/Disk02/INCREMENTAL)
  Termination:            Backup OK

Note that Disk02 is used
Volume "IncVol-0007" created here

Subsequent jobs run and append to Volume "IncVol-0007"

03-Aug 03:00 <Bacula Server>-dir JobId 48: Connected to Storage 
"Disk02-Incremental-Autochanger" at <SD Server Address>:9103 with TLS
03-Aug 03:00 <Bacula Server>-dir JobId 48: Using Device 
"Disk02-Dev08-Incremental" to write.
03-Aug 03:00 <Bacula Server>-dir JobId 48: Storage 
"Disk02-Incremental-Autochanger" was selected out of group of 2 available 
storages. StorageGroupPolicy "FreeSpace" used
...
03-Aug 03:00 <Bacula Server>-sd JobId 48: Volume "IncVol-0007" previously 
written, moving to end of data.

Now we get the error:

This time, the StorageGroupPolicy of "FreeSpace" picks Disk01 !

08-Aug 03:00 <Bacula Server>-dir JobId 65: Using Device 
"Disk01-Dev06-Incremental" to write.
08-Aug 03:00 <Bacula Server>-dir JobId 65: Storage 
"Disk01-Incremental-Autochanger" was selected out of group of 2 available 
storages. StorageGroupPolicy "FreeSpace" used
08-Aug 03:00 <Bacula Server>-sd JobId 65: Warning: mount.c:216 Open of File 
device "Disk01-Dev06-Incremental" (/backups/Disk01/INCREMENTAL) Volume 
"IncVol-0007" failed: ERR=Could not 
open(/backups/Disk01/INCREMENTAL/IncVol-0007,OPEN_READ_WRITE,0640): ERR=No such 
file or directory
08-Aug 03:00 <Bacula Server>-sd JobId 65: Marking Volume "IncVol-0007" in Error 
in Catalog.

=============================

The volume's path is /backups/Disk02/INCREMENTAL/IncVol-0007
but Bacula is looking to write to /backups/Disk01/INCREMENTAL/IncVol-0007

Here is the problem.

The same line
  StorageGroupPolicy = "FreeSpace"
is in each JobDefs resource in bacula-dir.conf

Does anyone see a stupid mistake made on my part ?

Does anyone see a way past this mess ?

Thanks in advance.


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

Reply via email to