Tape library configuration process on IBM TSM server may slightly vary depending on the specific tape library product and model being used. However, most non-IBM tape libraries share similarities when it comes to controlling SCSI devices such as robotic arms and tape drives. In the following example, we will focus on configuring an HPE MSL6480 tape library with a TSM server running on RedHat Linux.
It’s worth noting that I mention it as a “non-IBM tape library” because attaching an IBM tape library and drives to a TSM server requires a few additional steps compared to other non-IBM tape libraries like HPE, Overland, Quantum, Spectra Logic, Qualstar, and so on. IBM utilizes its own specific device drivers to ensure proper configuration, and TSM uses the device files created specifically for them. On the other hand, for non-IBM tape libraries, TSM leverages pre-packaged device files during the installation of the TSM server software.
Step 1. Acquire the serial number and element address (physical location) information of the tape drive in the tape library.
Creating accurate mappings between tape drives within a tape library and the corresponding device files generated on the TSM Server is very crucial. This ensures that in the event of a tape drive failure, the TSM Administrator can quickly and conveniently identify the affected tape drive. Below is the example of HPE MSL6480 tape library that is being utilized in this post.
Drive Location Drive Serial Number 1 (Bottom) 8036BB679D 2 8036BB67A7 3 8036BB67C5 4 8036BB67CF 5 8036BB67D9 6 (Top) 8036BB67E3
In the majority of tape libraries, the numbering sequence for tape drives typically begins from the bottom. So “1” refers to the drive located at the bottom of tape library. Log on your Tape library console to obtain the similar information as above.
Step 2. Run IBM Spectrum Protect Autoconf Utility Program and Create Mappings of Tape Drives/Device Files
Run TSM Autoconf Utility Program /opt/tivoli/tsm/devices/bin/autoconf -a on TSM Server that attached tape library. Refer to the screenshot below.
NOTE! If it’s IBM tape library with IBM tape drives, then it requires to install IBM tape drivers on the system. Autoconf Utility is just for non-IBM tape library only. After properly installed with IBM drivers, then device files should be located under /dev and device file name something like /dev/IBMchanger0 for robot changer and /dev/IBMtape0 for tape drive.
Take note of the output generated by the command “/opt/tivoli/tsm/devices/bin/autoconf -a” as it provides detailed information about the tape drives. Specifically, pay attention to the “Index” and “Device_Serial_number” fields. Locate the serial number for each tape drive obtained in Step 1. For example, consider the Drive Location 1 (Bottom) with the serial number 8036BB679D. In the autoconf output, there are two lines listed with the indexes 006 and 014 matching with the serial number. It is crucial to remember these index numbers as they correspond directly to the sequence numbers of the device files generated under /dev/tsmscsi. so the device files associated with the tape drive at Drive Location 1 (Bottom) with the serial number 8036BB679D could be /dev/tsmscsi/mt6 and /dev/tsmscsi/mt14. You might wonder why two device files generated for the tape drive 1 here in this example. This is because the tape drive has dual ports on the backend to enable multipath. you can use either one of the device files later when defining path on TSM server. So below is the mappings that I created.
Drive Location Drive Serial Number Device File(Path1) Device File(Path2) 1 (Bottom) 8036BB679D /dev/tsmscsi/mt6 /dev/tsmscsi/mt14 2 8036BB67A7 /dev/tsmscsi/mt7 /dev/tsmscsi/mt15 3 8036BB67C5 /dev/tsmscsi/mt3 /dev/tsmscsi/mt13 4 8036BB67CF /dev/tsmscsi/mt2 /dev/tsmscsi/mt12 5 8036BB67D9 /dev/tsmscsi/mt1 /dev/tsmscsi/mt11 6 (Top) 8036BB67E3 /dev/tsmscsi/mt0 /dev/tsmscsi/mt10
Step 3. Define Library / Define Path
Finding the device file for the robot changer of a tape library is straightforward. The device file name for the robot changer always has the prefix “lb.” You can run ls -l under /dev/tsmscsi. Based on the example you provided, the device file for the robot changer is /dev/tsmscsi/lb0. The “lb0” device file corresponds to the robot changer functionality within the tape library.
Run define library and define path commands as below.
define library MSL6480 libtype=scsi shared=yes define path tsmsvr01 MSL6480 srctype=server desttype=library device=/dev/tsmscsi/lb0 online=yes
In define path command, tsmsvr01 is the TSM server instance name and MSL6480 is library name.
Step 4. Define Drive and Define Path
Run below command define drive and define path. I have named drive name starting drive01 in a sequential manner matching with the physical tape drive location. So drive01 defined on TSM server is the actual tape drive located at the bottom as “1” . This greatly helps locating them to repair when TSM server reported the failure of the tape drives. Below example of device files that configured in define path commands are all path1. Refer to the mappings that created at Step 2. You can choose either path 1 and path 2 for all or configure them in an intertwined manner such as odd number of drive having path1 and even number drive having path2.
define drive MSL6480 drive01 element=autodetect define drive MSL6480 drive02 element=autodetect define drive MSL6480 drive03 element=autodetect define drive MSL6480 drive04 element=autodetect define drive MSL6480 drive05 element=autodetect define drive MSL6480 drive06 element=autodetect define path tsmsvr01 drive01 srctype=server desttype=drive library=MSL6480 device=/dev/tsmscsi/mt6 online=yes define path tsmsvr01 drive02 srctype=server desttype=drive library=MSL6480 device=/dev/tsmscsi/mt7 online=yes define path tsmsvr01 drive03 srctype=server desttype=drive library=MSL6480 device=/dev/tsmscsi/mt3 online=yes define path tsmsvr01 drive04 srctype=server desttype=drive library=MSL6480 device=/dev/tsmscsi/mt2 online=yes define path tsmsvr01 drive05 srctype=server desttype=drive library=MSL6480 device=/dev/tsmscsi/mt1 online=yes define path tsmsvr01 drive06 srctype=server desttype=drive library=MSL6480 device=/dev/tsmscsi/mt0 online=yes
Step 5. Checkin Libvolume or Label Libvolume
If this is very first time to configure tape library and chances tape medias have not run initial labeling. Then you should run label libvolume for all tape media. Or if tape media labeled once before, you can just run checkin libvolume all the media updated to libvolume database of TSM. Be aware that the process of label libvolume may take longer due to the need to physically mount all tape media into the tape drive and perform the labeling operation.
1) Checkin Libvolume checkin libvolume MSL6480 search=yes checklabel=barcode status=scratch 2) Label Libvolume label libvolume MSL6480 labelsource=barcode search=yes checkin=scratch overwrite=yes
Once label libvolume completed, run query libvolume to list all tape media that updated to TSM Libvolume database. Refer to the example output below.
Protect: TSMSVR01>query libvolume Library Name Volume Name Status Owner Last Use Home Devic- Element e Type ------------ ----------- ---------------- ---------- --------- ------- ------ MSL6480 MC0828L7 Scratch 1,042 LTO MSL6480 MC0832L7 Scratch 1,036 LTO MSL6480 MC1436L7 Scratch 1,048 LTO MSL6480 MC1437L7 Scratch 1,025 LTO MSL6480 MC1439L7 Scratch 1,024 LTO MSL6480 MC1480L7 Scratch 1,051 LTO MSL6480 MC1481L7 Scratch 1,052 LTO MSL6480 MC1482L7 Scratch 1,053 LTO MSL6480 MC1483L7 Scratch 1,023 LTO MSL6480 MC1484L7 Scratch 1,055 LTO MSL6480 MC1485L7 Scratch 1,056 LTO MSL6480 MC1486L7 Scratch 1,057 LTO MSL6480 MC1487L7 Scratch 1,058 LTO MSL6480 MC1488L7 Scratch 1,059 LTO MSL6480 MC1489L7 Scratch 1,060 LTO MSL6480 MC1492L7 Scratch 1,063 LTO MSL6480 MC1493L7 Scratch 1,064 LTO MSL6480 MC1494L7 Scratch 1,022 LTO . . .
Step 6. Define Devclass and Define Stgpool
Now you can define devclass and stgpool to use tape library just configured on TSM server.
Protect: TSMSVR01>define devclass LTO7 devtype=lto library=MSL6480 mountretention=2 mountwait=60 ANR2203I Device class LTO7 defined. Protect: TSMSVR01>define stgpool LTOPOOL01 LTO7 maxscratch=200 ANR2200I Storage pool LTOPOOL01 defined (device class LTO7).
Step 7. Update Policy Domain to use tape library storage pool
Protect: TSMSVR01>copy domain standard mydom01 ANR1503I Policy domain STANDARD copied to domain MYDOM01. Protect: TSMSVR01>update copygroup mydom01 standard standard standard destination=LTOPOOL01 ANR1532I Backup copy group STANDARD updated in policy domain MYDOM01, set STANDARD, management class STANDARD. Protect: TSMSVR01>activate policyset mydom01 standard ANR1514I Policy set STANDARD activated in policy domain MYDOM01. Protect: TSMSVR01>query copygroup mydom01 active f=d Policy Domain Name: MYDOM01 Policy Set Name: ACTIVE Mgmt Class Name: STANDARD Copy Group Name: STANDARD Copy Group Type: Backup Versions Data Exists: 2 Versions Data Deleted: 1 Retain Extra Versions: 30 Retain Only Version: 60 Copy Mode: Modified Copy Serialization: Shared Static Copy Frequency: 0 Copy Destination: LTOPOOL01 Table of Contents (TOC) Destination: Last Update by (administrator): YOONS Last Update Date/Time: 06/30/23 00:02:50 Managing profile: Changes Pending: No Protect: TSMSVR01>