Recently I had to troubleshoot an issue where loading and unloading tape drives in a tape library was causing trouble. Parallel operations executed on the same library changer device caused a subset of the operations to fail leading to aborted sessions. A Linux Media Agent controlling the library changer reported the following error.
[Normal] From: MMA@linux.syncer.de "MSL6480_D3" Time: 25.09.2017 16:02:33 => UMA@linux.syncer.de@/dev/tape/by-id/scsi-350014380032e2efb Unloading medium to slot 7 from device /dev/tape/by-id/scsi-350014380032e2eff-nst [Major] From: MMA@linux.syncer.de "MSL6480_D3" Time: 25.09.2017 16:04:13 [90:64] => UMA@linux.syncer.de@/dev/tape/by-id/scsi-350014380032e2efb Cannot unload exchanger medium (System error)
I’ve noticed a slightly different error message after changing the primary Media Agent for the tape library to a Windows host.
[Normal] From: MMA@linux.syncer.de "MSL6480_D6" Time: 02.10.2017 11:28:42 => UMA@windows.syncer.de@Changer2147483643:0:0:1 Loading medium from slot 14 to device /dev/tape/by-id/scsi-350014380032e2eff-nst [Major] From: MMA@linux.syncer.de "MSL6480_D6" Time: 02.10.2017 11:29:40 [90:63] => UMA@windows.syncer.de@Changer2147483643:0:0:1 Cannot load exchanger medium ([121] The semaphore timeout period has expired. )
The Windows error message was looking familiar. I’ve tried a modification of the omnirc on the Media Agent hosts responsible for the robot control and it resolved the issue.
# Cannot load exchanger medium (System error) / The semaphore timeout period has expired OB2SCSITIMEOUT=180