Every time that you reboot your linux server, udev links up the physical devices. They will not necessarily be the same each time which is what you are seeing. You have to use a persistent name in order to keep the same devices. There are a couple of ways to do that. Use the long paths found in /dev/tape/by-id or create your own rules with friendly symlinks to names that you use in your Bacula configuration. Even with one autochanger, you will want to include that and all of your tape devices.
lsscsi shows what you currently have. scsi_id —whitelisted —device=/dev/st0 <-- repeat for each tape device and your autochanger device (use /dev/sg#) – this gets you the unique scsi id to be used in the udev rules In your udev rules make sure that you use the nst* reference for tape, it is the no-rewind device. Generally the rules file goes in /etc/udev/rules.d (may be different for your distro). Name it something meaningful to you. Use unique names, not generic ones like "Drive1". Here are a couple of examples for entries – substitute your scsi id output where RESULT==, I like to use * as a catchall for the scsi id: KERNEL=="sg*", SUBSYSTEM=="scsi_generic", PROGRAM="/sbin/scsi_id --whitelisted --replace-whitespace /dev/$name", RESULT=="3221f0090a5004532", ATTRS{type}=="8", SYMLINK+="mychanger" <-- your unique changer name KERNEL=="nst*[0-9]", SUBSYSTEM=="scsi_tape", PROGRAM="/sbin/scsi_id --whitelisted --replace-whitespace /dev/$name", RESULT=="*321110090a5004532*", SYMLINK+="mytape-0" <-- your unique tape drive name for your first drive – repeat for remaining drives There are commands to play with when manipulating the rules and testing, however, I recommend rebooting – it's the final verification. Once you use the command line commands (mtx and mt) and find they behave consistently, then get Bacula involved. Patti Clark Linux System Administrator R&D Systems Support Oak Ridge National Laboratory From: RAT <rober...@netzero.net<mailto:rober...@netzero.net>> Date: Saturday, September 20, 2014 at 5:19 PM To: "rsvanc...@gmail.com<mailto:rsvanc...@gmail.com>" <rsvanc...@gmail.com<mailto:rsvanc...@gmail.com>>, "bacula-users@lists.sourceforge.net<mailto:bacula-users@lists.sourceforge.net>" <bacula-users@lists.sourceforge.net<mailto:bacula-users@lists.sourceforge.net>> Subject: Re: [Bacula-users] autochanger woes I think you're correct. Although I'm not sure exactly how to remedy. [root@bacula1 sbin]# vi /usr/libexec/bacula/mtx-changer [root@bacula1 sbin]# ./bconsole Connecting to Director localhost:9101 1000 OK: bacula-dir Version: 5.2.13 (19 February 2013) Enter a period to cancel a command. *label barcodes Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" The defined Storage resources are: 1: File 2: DL4000 Select Storage resource (1-2): 2 Connecting to Storage daemon DL4000 at bacula1.usi.edu:9103 ... Enter autochanger drive[0]: 4 Connecting to Storage daemon DL4000 at bacula1.usi.edu:9103 ... 3306 Issuing autochanger "slots" command. Device "Drive1" has 48 slots. Connecting to Storage daemon DL4000 at bacula1.usi.edu:9103 ... 3306 Issuing autochanger "list" command. The following Volumes will be labeled: Slot Volume ============== 10 000047L6 11 000038L6 14 000039L6 15 000053L6 18 000023L6 19 000059L6 Do you want to label these Volumes? (yes|no): yes Defined Pools: 1: Default 2: File 3: Scratch Select the Pool (1-3): 3 Connecting to Storage daemon DL4000 at bacula1.usi.edu:9103 ... Sending label command for Volume "000047L6" Slot 10 ... 3307 Issuing autochanger "unload slot 19, drive 0" command. 3995 Bad autochanger "unload slot 19, drive 0": ERR=Child exited with code 1 Results=Unloading drive 0 into Storage Element 19...mtx: Request Sense: Long Report=yes mtx: Request Sense: Valid Residual=no mtx: Request Sense: Error Code=70 (Current) mtx: Request Sense: Sense Key=Illegal Request mtx: Request Sense: FileMark=no mtx: Request Sense: EOM=no mtx: Request Sense: ILI=no mtx: Request Sense: Additional Sense Code = 53 mtx: Request Sense: Additional Sense Qualifier = 03 mtx: Request Sense: BPV=no mtx: Request Sense: Error in CDB=no mtx: Request Sense: SKSV=no MOVE MEDIUM from Element Address 256 to 4114 Failed Label command failed for Volume 000047L6. Sending label command for Volume "000038L6" Slot 11 ... 3307 Issuing autochanger "unload slot 19, drive 0" command. 3995 Bad autochanger "unload slot 19, drive 0": ERR=Child exited with code 1 Results=Unloading drive 0 into Storage Element 19...mtx: Request Sense: Long Report=yes mtx: Request Sense: Valid Residual=no mtx: Request Sense: Error Code=70 (Current) mtx: Request Sense: Sense Key=Illegal Request mtx: Request Sense: FileMark=no mtx: Request Sense: EOM=no mtx: Request Sense: ILI=no mtx: Request Sense: Additional Sense Code = 53 mtx: Request Sense: Additional Sense Qualifier = 03 mtx: Request Sense: BPV=no mtx: Request Sense: Error in CDB=no mtx: Request Sense: SKSV=no MOVE MEDIUM from Element Address 256 to 4114 Failed Label command failed for Volume 000038L6. Sending label command for Volume "000039L6" Slot 14 ... 3307 Issuing autochanger "unload slot 19, drive 0" command. 3995 Bad autochanger "unload slot 19, drive 0": ERR=Child exited with code 1 Results=Unloading drive 0 into Storage Element 19...mtx: Request Sense: Long Report=yes mtx: Request Sense: Valid Residual=no mtx: Request Sense: Error Code=70 (Current) mtx: Request Sense: Sense Key=Illegal Request mtx: Request Sense: FileMark=no mtx: Request Sense: EOM=no mtx: Request Sense: ILI=no mtx: Request Sense: Additional Sense Code = 53 mtx: Request Sense: Additional Sense Qualifier = 03 mtx: Request Sense: BPV=no mtx: Request Sense: Error in CDB=no mtx: Request Sense: SKSV=no MOVE MEDIUM from Element Address 256 to 4114 Failed Label command failed for Volume 000039L6. Sending label command for Volume "000053L6" Slot 15 ... 3307 Issuing autochanger "unload slot 19, drive 0" command. 3995 Bad autochanger "unload slot 19, drive 0": ERR=Child exited with code 1 Results=Unloading drive 0 into Storage Element 19...mtx: Request Sense: Long Report=yes mtx: Request Sense: Valid Residual=no mtx: Request Sense: Error Code=70 (Current) mtx: Request Sense: Sense Key=Illegal Request mtx: Request Sense: FileMark=no mtx: Request Sense: EOM=no mtx: Request Sense: ILI=no mtx: Request Sense: Additional Sense Code = 53 mtx: Request Sense: Additional Sense Qualifier = 03 mtx: Request Sense: BPV=no mtx: Request Sense: Error in CDB=no mtx: Request Sense: SKSV=no MOVE MEDIUM from Element Address 256 to 4114 Failed Label command failed for Volume 000053L6. Sending label command for Volume "000023L6" Slot 18 ... 3307 Issuing autochanger "unload slot 19, drive 0" command. 3995 Bad autochanger "unload slot 19, drive 0": ERR=Child exited with code 1 Results=Unloading drive 0 into Storage Element 19...mtx: Request Sense: Long Report=yes mtx: Request Sense: Valid Residual=no mtx: Request Sense: Error Code=70 (Current) mtx: Request Sense: Sense Key=Illegal Request mtx: Request Sense: FileMark=no mtx: Request Sense: EOM=no mtx: Request Sense: ILI=no mtx: Request Sense: Additional Sense Code = 53 mtx: Request Sense: Additional Sense Qualifier = 03 mtx: Request Sense: BPV=no mtx: Request Sense: Error in CDB=no mtx: Request Sense: SKSV=no MOVE MEDIUM from Element Address 256 to 4114 Failed Label command failed for Volume 000023L6. Sending label command for Volume "000059L6" Slot 19 ... 3910 Unable to open device ""Drive1" (/dev/st0)": ERR=dev.c:513 Unable to open device "Drive1" (/dev/st0): ERR=No medium found Label command failed for Volume 000059L6. I also tried this test with Bacula off: Changed nst2,3,6,7 to st0,1,2,3 Per lsscli output Turned off Bacula & tested drives: [root@bacula1 sbin]# lsscsi [0:2:0:0] disk DELL PERC H710P 3.13 /dev/sda [0:2:1:0] disk DELL PERC H710P 3.13 /dev/sdb [1:0:0:0] tape IBM ULT3580-HH6 D8E5 /dev/st0 [1:0:1:0] tape IBM ULT3580-HH6 D8E5 /dev/st1 [1:0:1:1] mediumx IBM 3573-TL C.30 /dev/sch0 [6:0:0:0] cd/dvd TSSTcorp DVD-ROM SN-108FB D150 /dev/sr0 [8:0:0:0] tape IBM ULT3580-HH6 D8E5 /dev/st2 [8:0:1:0] tape IBM ULT3580-HH6 D8E5 /dev/st3 [root@bacula1 sbin]# ./btape -c /etc/bacula/bacula-sd.conf /dev/st0 Tape block granularity is 1024 bytes. btape: butil.c:290-0 Using device: "/dev/st0" for writing. 20-Sep 16:04 btape: Fatal Error at device.c:298 because: dev open failed: dev.c:513 Unable to open device "Drive1" (/dev/st0): ERR=No medium found 20-Sep 16:04 btape JobId 0: Fatal error: butil.c:195 Cannot open "Drive1" (/dev/st0) [root@bacula1 sbin]# ./btape -c /etc/bacula/bacula-sd.conf /dev/st1 Tape block granularity is 1024 bytes. btape: butil.c:290-0 Using device: "/dev/st1" for writing. btape: btape.c:477-0 open device "Drive2" (/dev/st1): OK *test === Write, rewind, and re-read test === I'm going to write 10000 records and an EOF then write 10000 records and an EOF, then rewind, and re-read the data to verify that it is correct. This is an *essential* feature ... btape: btape.c:1157-0 Wrote 10000 blocks of 64412 bytes. btape: btape.c:609-0 Wrote 1 EOF to "Drive2" (/dev/st1) btape: btape.c:1173-0 Wrote 10000 blocks of 64412 bytes. btape: btape.c:609-0 Wrote 1 EOF to "Drive2" (/dev/st1) btape: btape.c:1215-0 Rewind OK. 10000 blocks re-read correctly. Got EOF on tape. 10000 blocks re-read correctly. === Test Succeeded. End Write, rewind, and re-read test === btape: btape.c:1283-0 Block position test btape: btape.c:1295-0 Rewind OK. Reposition to file:block 0:4 Block 5 re-read correctly. Reposition to file:block 0:200 Block 201 re-read correctly. Reposition to file:block 0:9999 Block 10000 re-read correctly. Reposition to file:block 1:0 Block 10001 re-read correctly. Reposition to file:block 1:600 Block 10601 re-read correctly. Reposition to file:block 1:9999 Block 20000 re-read correctly. === Test Succeeded. End Write, rewind, and re-read test === === Append files test === This test is essential to Bacula. I'm going to write one record in file 0, two records in file 1, and three records in file 2 btape: btape.c:579-0 Rewound "Drive2" (/dev/st1) btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:609-0 Wrote 1 EOF to "Drive2" (/dev/st1) btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:854-0 Backspaced over EOF OK. btape: btape.c:859-0 Backspace record OK. btape: btape.c:877-0 Block re-read correct. Test succeeded! === End Write, backup, and re-read test === === Forward space files test === This test is essential to Bacula. I'm going to write five files then test forward spacing btape: btape.c:579-0 Rewound "Drive2" (/dev/st1) btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:609-0 Wrote 1 EOF to "Drive2" (/dev/st1) btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:609-0 Wrote 1 EOF to "Drive2" (/dev/st1) btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:609-0 Wrote 1 EOF to "Drive2" (/dev/st1) btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:609-0 Wrote 1 EOF to "Drive2" (/dev/st1) btape: btape.c:1914-0 Wrote one record of 64412 bytes. btape: btape.c:1916-0 Wrote block to device. btape: btape.c:609-0 Wrote 1 EOF to "Drive2" (/dev/st1) btape: btape.c:579-0 Rewound "Drive2" (/dev/st1) btape: btape.c:1641-0 Now forward spacing 1 file. We should be in file 1. I am at file 1. This is correct! btape: btape.c:1653-0 Now forward spacing 2 files. We should be in file 3. I am at file 3. This is correct! btape: btape.c:579-0 Rewound "Drive2" (/dev/st1) btape: btape.c:1666-0 Now forward spacing 4 files. We should be in file 4. I am at file 4. This is correct! btape: btape.c:1684-0 Now forward spacing 1 more file. We should be in file 5. I am at file 5. This is correct! === End Forward space files test === Ah, I see you have an autochanger configured. To test the autochanger you must have a blank tape that I can write on in Slot 1. Do you wish to continue with the Autochanger test? (y/n): *y btape: btape.c:2939-0 "y" is an invalid command *yes btape: btape.c:2939-0 "yes" is an invalid command *n btape: btape.c:2939-0 "n" is an invalid command *auto Ah, I see you have an autochanger configured. To test the autochanger you must have a blank tape that I can write on in Slot 1. Do you wish to continue with the Autochanger test? (y/n): y === Autochanger test === 3301 Issuing autochanger "loaded" command. Nothing loaded in the drive. OK. 3303 Issuing autochanger "load 1 1" command. 3993 Bad autochanger command: /usr/libexec/bacula/mtx-changer /dev/sg4 load 1 /dev/st1 1 3993 result="Loading media from Storage Element 1 into drive 1...Source Element Address 4096 is Empty ": ERR=Child exited with code 1 You must correct this error or the Autochanger will not work. None of the other "drives" tested at all. I assume I accidentally, somehow, had a tape in the 2nd drive. [root@bacula1 sbin]# ./btape -c /etc/bacula/bacula-sd.conf /dev/st2 Tape block granularity is 1024 bytes. btape: butil.c:290-0 Using device: "/dev/st2" for writing. 20-Sep 16:10 btape: Fatal Error at device.c:298 because: dev open failed: dev.c:513 Unable to open device "Drive3" (/dev/st2): ERR=No medium found 20-Sep 16:10 btape JobId 0: Fatal error: butil.c:195 Cannot open "Drive3" (/dev/st2) [root@bacula1 sbin]# ./btape -c /etc/bacula/bacula-sd.conf /dev/st3 Tape block granularity is 1024 bytes. btape: butil.c:290-0 Using device: "/dev/st3" for writing. 20-Sep 16:10 btape: Fatal Error at device.c:298 because: dev open failed: dev.c:513 Unable to open device "Drive4" (/dev/st3): ERR=No medium found 20-Sep 16:10 btape JobId 0: Fatal error: butil.c:195 Cannot open "Drive4" (/dev/st3) Robert Threet http://yesistilluseperl.blogspot.com/ Please note: message attached From: Randall Svancara <rsvanc...@gmail.com<mailto:rsvanc...@gmail.com>> To: RAT <rober...@netzero.net<mailto:rober...@netzero.net>> Subject: Re: [Bacula-users] autochanger woes Date: Thu, 18 Sep 2014 15:44:58 -0700 ____________________________________________________________ The End of the "Made-In-China" Era The impossible (but real) technology that could make you impossibly rich. http://thirdpartyoffers.netzero.net/TGL3231/541defb7b65ca6fb7082cst03duc ------------------------------------------------------------------------------ Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users