Oh wow, bacula can do that, stream output to two media devices at once? Robert Gerber 402-237-8692 r...@craeon.net
On Fri, Aug 8, 2025, 2:17 PM Dragan Milivojević <gali...@pkm-inc.com> 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 <r...@craeon.net> 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 >> r...@craeon.net >> >> On Fri, Aug 8, 2025, 1:35 PM White, Daniel E. (GSFC-764.0)[AEGIS] via >> Bacula-users <bacula-users@lists.sourceforge.net> 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 >>> Bacula-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/bacula-users >>> >> _______________________________________________ >> Bacula-users mailing list >> Bacula-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/bacula-users >> >
_______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users