Hi Bill,
Sorry for the delay in responding, thank you for your response. I was
out of work for a couple of days and wasn't in a position to respond.
On Mon, Jul 17, 2023 at 01:50:45PM +, Bill Arlofski via Bacula-users wrote:
> On 7/15/23 06:13, Rich Fox wrote:
> > Hi All,
> >
> > I have a couple of different tape changers that are used to run jobs in
> > parallel and all share the same media. I've discovered by accident that
> > if I put all of the media into a single pool, the media selection
> > algorithm won't take into account which changer a tape is loaded in and
> > will try to mount tapes from a different changer which causes problems.
> > A simple solution is to have one pool for each changer and update the
> > pool for a given media depending on which changer it gets loaded into.
> > This appears to work in practice but I was wondering if anybody knows
> > of any unintended issues that might arise from doing this on a routine
> > basis.
> >
> > Thanks for any advice,
> > Rich.
>
>
> Hello Rich,
>
> Without seeing any configuration, my initial guess is that your different
> tape changers (well, the Director Storage resources
> and their associated changers' device resources) have the same media types.
> This would (
> might) explain what you are describing.
Yes, that's right. When I first started using the single pool technique,
I had multiple tape libraries running simultaneously
all loaded with LTO-5 media from a single pool.
At this time, the configuration is slightly different I have two LTO-5
and two LTO-9 libraries. Under the single-pool convention, there are
still cross library load conflicts among the libraries that share the
same media type, it just doesn't happen as often. Nevertheless, I've had
to abandon it and return to a four pool configuration.
I was confident that I had tracked down the code that identifies the
next available loaded media and I remember it didn't take into account
which changer the media was loaded in. I was thinking of modifying the
code to add that to the selection criteria but I remember that not being
as straightforward as I would like so I put it off. Now I can't seem to
find my notes on the topic.
> Can you show us some configurations for your Director Storage resources and
> their related Autochanger and Device resources in
> the SD(s)?
Yes, they follow. I use includes where possible so I've
manually merged these files and filtered site-centric comments,
hopefully I didn't make any mistakes but if something doesn't make
sense, it might be a result of the merging, or my ignorance.
Storage {
Name = sl01
Address = fsarchive.bpcservers.private
SDPort = 9103
Device = sl01 # must be same as Device in Storage daemon
Media Type = LTO-9 # must be same as MediaType in Storage daemon
Autochanger = yes # enable for autochanger device
}
Autochanger {
Name = sl01
Device = sl01-d1
Changer Command = "/usr/local/bacula/scripts/mtx-changer %c %o %S %a %d"
Changer Device = /dev/tape/by-id/scsi-1BDT_FlexStor_II_00DE64004865_LL0
}
Device {
Name = sl01-d1
Archive Device = /dev/tape/by-id/scsi-35000e111cb6bb001
Maximum block size = 524288
Maximum File Size = 50g
Maximum Network Buffer Size = 65536
Maximum Changer Wait = 3600
Maximum Rewind Wait = 600
Maximum Open Wait = 600
Maximum Open Wait = 1800
Media Type = LTO-9
AutomaticMount = yes # when device opened, read it
AlwaysOpen = yes
RemovableMedia = yes
LabelMedia = yes # lets Bacula label unlabeled media
RandomAccess = no
Maximum File Size = 20GB
Changer Command = "/usr/local/bacula/scripts/mtx-changer %c %o %S %a %d"
AutoChanger = yes
Alert Command = "sh -c 'smartctl -H -l error -d scsi %c'"
}
Storage {
Name = sl02
Address = fsarchive.bpcservers.private # N.B. Use a fully qualified name
here
SDPort = 9103
Device = sl02 # must be same as Device in Storage daemon
Media Type = LTO-9 # must be same as MediaType in Storage daemon
Autochanger = yes # enable for autochanger device
}
Autochanger {
Name = sl02
Device = sl02-d1
Changer Command = "/usr/local/bacula/scripts/mtx-changer %c %o %S %a %d"
Changer Device = /dev/tape/by-id/scsi-1BDT_FlexStor_II_00DE64005002_LL0
}
Device {
Name = sl02-d1
Archive Device = /dev/tape/by-id/scsi-35000e111c9469001
Volume Poll Interval = 3600
Maximum block size = 524288
Maximum File Size = 50g
Maximum Network Buffer Size = 65536
Maximum Changer Wait = 3600
Maximum Rewind Wait = 600
Maximum Open Wait = 600
Maximum Open Wait = 1800
Media Type = LTO-9
AutomaticMount = yes # when device opened, read it
AlwaysOpen = yes
RemovableMedia = yes
LabelMedia = yes # lets Bacula label unlabeled media
RandomAccess = no
Maximum File Size = 20GB
Changer Command = "/us