NetWorker: Understanding tape library device addressing in NetWorker
Summary: This article describes the procedure to determine what hosts call what physical devices by what name. This information is required for manual library reconfiguration, troubleshooting problems and for some specific scenarios. ...
Instructions
NetWorker's handling of tape libraries and tape drives relies on its ability to know how to associate the hard drives with the name each Storage Node host knows that drive by.
For example: In a tape library sharing two drives with four storage nodes, the storage nodes may have different operating systems, and even if they are the same, the names each host uses are relevant only to that host, and have no connection whatsoever with the other storage node hosts.
Moreover - it is always possible in Plug 'N Play operating systems like Windows and Linux that the names originally configured in NetWorker have changed due to a hardware, environmental or host-based event. NetWorker's configuration can be invalidated at any time (see Troubleshooting Tape Library Drive Ordering Problems in NetWorker).
This article describes how to test the true physical drive:host:device name associations at any point in time. This is the relationship that must be determined.
Modern method: Using serial numbers
Serial numbers, and the ability for drives and libraries to report them, are ubiquitous in today's tape environment. It is unlikely you will need to use the manual method below.
- First you will need the address of the library robot from an
inquireoutput from the host which has access to the tape library. This is the three-part number (SCSI address), on the 'Autochanger' entry line:
scsidev@2.1.0:ADIC Scalar 100 2.62|Autochanger (Jukebox),
- Next, using the library robot address, determine the serial number corresponding to each hard drive element (see How to use the NetWorker sjisn tape library command):
Serial Number data for 2.1.0 (ADIC Scalar 100 ): Library: Serial Number: 79I9G00200 SCSI-3 Device Identifiers: ATNN=ADIC Scalar 100 79I9G00200 Drive at element address 256: SCSI-3 Device Identifiers: VENN=79I9G00201 Drive at element address 257: SCSI-3 Device Identifiers: VENN=79I9G00202
- From every Storage Node host who will access library resources, collect an
inquire -lcpoutput (see How to use the NetWorker inquire SCSI discovery command):
scsidev@2.1.0:ADIC Scalar 100 2.62|Autochanger (Jukebox), S/N: 79I9G00200 ATNN=ADIC Scalar 100 79I9G00200 Virtual device scsidev@2.2.0:IBM ULTRIUM-TD1 4561|Tape, \\.\Tape2147483646 S/N: 79I9G00201 ATNN=IBM ULTRIUM-TD1 79I9G00201 Virtual device scsidev@2.3.0:IBM ULTRIUM-TD1 4561|Tape, \\.\Tape2147483645 S/N: 79I9G00202 ATNN=IBM ULTRIUM-TD1 79I9G00202 Virtual device
- Using the
sjisnoutput as theelement:serialkey, and each inquire output as that host'sserial:devicenamekey, draw a grid to represent the mappings:
| Serial number | Element Ordering | Server | Node 1 | Node 2 | Node 3 |
| 79I9G00201 | 1 | \\.\Tape2147483646 | /dev/nst3 | \\.\Tape5 | /dev/tape/by-id/scsi-350060b0036323731-nst |
| 79I9G00202 | 2 | \\.\Tape2147483645 | /dev/nst1 | \\.\Tape6 | /dev/tape/by-id/scsi-350060b0036323730-nst |
inquire and sjisn outputs shown above for the server, and below for Storage Node 3 (others left off for brevity)
scsidev@1.4.0:IBM ULTRIUM-TD3 54K1|Tape, /dev/tape/by-id/scsi-350060b0036323731-nst S/N: 79I9G00201 ATNN=IBM ULTRIUM-TD3 79I9G00201 WWNN=50060B0036323731 WWPN=50060B0036323731 PORT=00000000 Virtual device scsidev@1.5.0:IBM ULTRIUM-TD3 54K1|Tape, /dev/tape/by-id/scsi-350060b0036323730-nst S/N: 79I9G00202 ATNN=IBM ULTRIUM-TD3 79I9G00202 WWNN=50060B0036323730 WWPN=50060B0036323730 PORT=00000000 Virtual deviceOnce this chart is complete, you have your complete
device:host:localname map to use as necessary for troubleshooting.
Determining drive addressing in legacy nonserial enabled environments
It is unlikely in today's storage environment that you encounter supported equipment without the ability to report serial numbers (either its own or its elements).
However, it may become necessary to test manually if for one reason or another, serial reporting fails.
- Empty all device elements in the library. Use NetWorker if the library is correctly configured; otherwise, use the tape library's own UI or the
sjimmandsjirdtagcommands. - Load a single volume into the first element and confirm it is the only drive loaded.
- Go to each attached storage node in turn and run
inquire -lscpto list the available device handles. - Query each device name in turn using
cdi_rewind -f {devicename}:- No tape present (try next local device name):
CDI_REWIND failed. cdi_info.status = CDI_CHECK_CONDITION (1) cdi_info.drivestat is: status = 10, DRIVE_STATUS_NO_TAPE msg = There is not a tape in the drive
-
- Tapes present (mark this host: device name pair as matching current hard drive, and go to next drive/host):
CDI_REWIND successful. elapsed time for command was 0 seconds cdi_info.drivestat is: status = 0, DRIVE_STATUS_READY msg = The tape drive is ready for use
- Continue in this fashion, building a chart as above, and recording when you find every one of each hard drive's corresponding host: driver name pair.
Additional Information
- If a library robot does not appear in
inquire, see: Troubleshooting Tape Library Detection Problems in NetWorker - If library robot does not respond to commands, see: Troubleshooting Tape Library Access Problems in NetWorker
- If tape device handles do not respond to commands, see: Troubleshooting Tape Library Access Problems in NetWorker
- For an older article providing additional detail, see: Understanding Windows File Handle Assignment and Persistent Binding