How to configure tape library on TSM (IBM Spectrum Protect)

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> 

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top