Re: VolumeLabel problems on a Pool that has two Virtual Autochangers

Rob Gerber <[email protected]>
Newsgroups gmane.comp.bacula.user
Message-ID <CAMKi9mRQHToh4BcsWcPg1HOHiui5kX=D0U318G5VMEraJAPoZQ@mail.gmail.com>
Oh wow, bacula can do that, stream output to two media devices at once?

Robert Gerber
402-237-8692
[email protected]

On Fri, Aug 8, 2025, 2:17 PM Dragan Milivojević <[email protected]> wrote:

> As I understand it people use multiple autochangers so that you can
> read/write multiple
> medias at the same time. VirtualFull would be a common use case.
>
> On Fri, 8 Aug 2025 at 21:14, Rob Gerber <[email protected]> wrote:
>
>> Why different autochangers? Are they gong to different storage devices?
>>
>> Do you have multiple bacula SDs?
>>
>> I have briefly read through, but if the problem is that you want to
>> direct jobs to use specific autochangers, i think you must use a unique
>> mediatype for each autochanger. Otherwise, it may choose an autochanger at
>> random, and obviously volumes present under different autochangers probably
>> won't be accessible to each other.
>>
>> The second problem I see is that your pool specifies either autochanger
>> as valid storage targets. So you provide your preferred storage target at
>> runtime? Otherwise of course it's going to select one storage at random.
>>
>> Hope this helps. If you can reply with your goals for this configuration
>> and the details I requested we should be able to figure this out.
>> Robert Gerber
>> 402-237-8692
>> [email protected]
>>
>> On Fri, Aug 8, 2025, 1:35 PM White, Daniel E. (GSFC-764.0)[AEGIS] via
>> Bacula-users <[email protected]> wrote:
>>
>>> 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
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/bacula-users
>>>
>> _______________________________________________
>> Bacula-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/bacula-users
>>
>

_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.