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