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 +0000, 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 = "/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 = tandberg-AA36NC004220
    Address = fsarchive.bpcservers.private  # N.B. Use a fully qualified name 
here
    SDPort = 9103
    Device = tandberg-AA36NC004220          # must be same as Device in Storage 
daemon
    Media Type = LTO-5      # must be same as MediaType in Storage daemon
    Autochanger = yes       # enable for autochanger device
}
Autochanger {
    Name = tandberg-AA36NC004220
    Device = tandberg-AA36NC004220-drive
    Changer Command = "/usr/local/bacula/scripts/mtx-changer %c %o %S %a %d"
    Changer Device = /dev/tape/by-id/scsi-1TANDBERGStorageLoader_AA36NC004220
}
Device {
    Name = tandberg-AA36NC004220-drive
    Archive Device = /dev/tape/by-id/scsi-350014380270746da
    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-5
    AutomaticMount = yes               # when device opened, read it
    AlwaysOpen = yes
    RemovableMedia = yes
    LabelMedia = yes                   # lets Bacula label unlabeled media
    RandomAccess = no
    Maximum File Size = 5GB
    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 = tl2k-67Q6JM1
    Address = fsarchive.bpcservers.private  # N.B. Use a fully qualified name 
here
    SDPort = 9103
    Device = tl2k-67Q6JM1          # must be same as Device in Storage daemon
    Media Type = LTO-5      # must be same as MediaType in Storage daemon
    Autochanger = yes       # enable for autochanger device
}
Autochanger {
    Name = tl2k-67Q6JM1
    Device = tl2k-67Q6JM1-drive
    Changer Command = "/usr/local/bacula/scripts/mtx-changer %c %o %S %a %d"
    Changer Device = /dev/tape/by-id/scsi-1IBM_3573-TL_00X2U78R3593_LL0
}
Device {
    Name = tl2k-67Q6JM1-drive
    Archive Device = /dev/tape/by-id/scsi-35000e11143905001
    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-5
    AutomaticMount = yes               # when device opened, read it
    AlwaysOpen = yes
    RemovableMedia = yes
    LabelMedia = yes                   # lets Bacula label unlabeled media
    RandomAccess = no
    Maximum File Size = 5GB
    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'"
}



Thanks for any and all advice and criticism,
Rich.




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

Reply via email to