Virtual Tape Library consists of several components.
The kernel module is based on the scsi_debug kernel module (http://www.torque.net/sg/sdebug26.html). vx_tape is a pseudo HBA (LLD) reporting it has 1 x SMC target (StorageTek L700) and 8 x SSC targets (4 x IBM Ultrium-TD3 and 4 x Quantum SuperDLT600) attached.
A char device back-end has been included with the vx_tape LLD driver This allows data and SCSI commands to be passed from the LLD to user-mode daemons (SCSI targets) which constently poll the driver and process any outstanding SCSI commands.
When a SCSI 'move medium' from a storage slot to a tape drive is requested, the media location is updated in vtllibrary(1) data structures, and the barcode of the media id is passed via the message queue to the vtltape(1) daemon in question. A file open of the barcode is attempted in the /opt/vtl directory and if successful, the vtltape(1) daemon will now return a ASC/ASCQ 0x0/0x0 to any Test Unit Ready requests. An unload SCSI command to the tape drive will close the data file.
Media can be moved out of the VTL via the Media Access Port. Once media is logically moved into the MAP slots, the MAP entries can be cleared using the vtlcmd:
# vtlcmd library empty map
# lsscsi -g [0:0:0:0] disk MAXTOR ATLAS10K4_36SCA DFM0 /dev/sda /dev/sg0 [0:0:6:0] process PE/PV 1x3 SCSI BP 1.1 - /dev/sg1 [2:0:0:0] disk SEAGATE ST336607FC 0003 /dev/sdb /dev/sg2 [2:0:1:0] disk SEAGATE ST336607FC 0003 /dev/sdc /dev/sg3 [2:0:2:0] mediumx ATL 1500 6.0 - /dev/sg4 [2:0:2:1] tape QUANTUM SuperDLT1 2323 /dev/st0 /dev/sg5 [2:0:2:2] tape QUANTUM SuperDLT1 2323 /dev/st1 /dev/sg6 [2:0:2:3] process ATTO 310-LV 1.42 - /dev/sg7 [3:0:0:0] mediumx STK L700 vx_0 - /dev/sg8 [4:0:0:0] tape IBM ULT3580-TD3 5400 /dev/st2 /dev/sg9 [4:0:0:1] tape IBM ULT3580-TD3 5400 /dev/st3 /dev/sg10 [4:0:0:2] tape IBM ULT3580-TD3 5400 /dev/st4 /dev/sg11 [4:0:0:3] tape IBM ULT3580-TD3 5400 /dev/st5 /dev/sg12 [4:0:0:4] tape QUANTUM SDLT600 5400 /dev/st6 /dev/sg13 [4:0:0:5] tape QUANTUM SDLT600 5400 /dev/st7 /dev/sg14 [4:0:0:6] tape QUANTUM SDLT600 5400 /dev/st8 /dev/sg15 [4:0:0:7] tape QUANTUM SDLT600 5400 /dev/st9 /dev/sg16NetBackup Utilities:
# tpautoconf -r TPAC45 STK L700 vx_0 8000 -1 -1 -1 -1 /dev/sg/h3c0t0l0 - - # tpautoconf -t TPAC45 IBM ULT3580-TD3 5400 8001 -1 -1 -1 -1 /dev/st/nh3c0t0l1 - TapeAlert enabled TPAC45 IBM ULT3580-TD3 5400 8002 -1 -1 -1 -1 /dev/st/nh3c0t0l2 - TapeAlert enabled TPAC45 IBM ULT3580-TD3 5400 8003 -1 -1 -1 -1 /dev/st/nh3c0t0l3 - TapeAlert enabled TPAC45 IBM ULT3580-TD3 5400 8004 -1 -1 -1 -1 /dev/st/nh3c0t0l4 - TapeAlert enabled TPAC45 QUANTUM SDLT600 5400 8005 -1 -1 -1 -1 /dev/st/nh3c0t0l5 - TapeAlert enabled TPAC45 QUANTUM SDLT600 5400 8006 -1 -1 -1 -1 /dev/st/nh3c0t0l6 - TapeAlert enabled TPAC45 QUANTUM SDLT600 5400 8007 -1 -1 -1 -1 /dev/st/nh3c0t0l7 - TapeAlert enabled TPAC45 QUANTUM SDLT600 5400 8008 -1 -1 -1 -1 /dev/st/nh3c0t0l8 - TapeAlert enabled
TapeAlert flags can be set using the vtlcmd(1)
e.g. vtlcmd [index|library] TapeAlert [flags]
Where index is the message Q offset (or string 'library') associated with the drive.
e.g. To set flag 14h (Clean now) the 20th bit (14h) needs to be set:
Pull out the binary to decimal calculator
1000 0000 0000 0000 0000 (20 bits) => hex => 80000
# vtlcmd 1 TapeAlert 80000
A listing of TapeAlert flags can be found at t10 home page for SSC devices Annex A.
Code | vtlcmd value | Flag | Type | Flag Type | Recommended application client message | Probable cause |
---|---|---|---|---|---|---|
01h | 1 | Read warning | O | W | The tape drive is having problems reading data. No data has been lost, but there has been a reduction in the performance of the tape. | The drive is having severe trouble reading. |
02h | 2 | Write warning | O | W | The tape drive is having problems writing data. No data has been lost, but there has been a reduction in the capacity of the tape. | The drive is having severe trouble writing. |
03h | 4 | Hard error | M | W | The operation has stopped because an error has occurred while reading or writing data that the drive cannot correct. | The drive had a hard read or write error. |
04h | 8 | Media | M | C | Your data is at risk:
|
Media can no longer be written/read, or performance is severely degraded. |
05h | 10 | Read failure | M | C | The tape is damaged or the drive is faulty. Call the tape drive supplier help line. | The drive can no longer read data from the tape. |
06h | 20 | Write failure | M | C | The tape is from a faulty batch or the tape drive is
faulty:
|
The drive can no longer write data to the tape. |
07h | 40 | Media life | O | W | The tape cartridge has reached the end of its calculated useful life:
|
The media has exceeded its specified life. |
08h | 80 | Not data grade | O | W | The cartridge is not data-grade. Any data you write to the tape is at risk. Replace the cartridge with a data-grade tape. | The drive has not been able to read the MRSa stripes. |
09h | 100 | Write protect | O | C | You are trying to write to a write protected cartridge. Remove the write protection or use another tape. | Write command is attempted to a write protected tape. |
0Ah | 200 | No removal | O | I | You cannot eject the cartridge because the tape drive is in use. Wait until the operation is complete before ejecting the cartridge. | Manual or software unload attempted when prevent media removal is on. |
0Bh | 400 | Cleaning media | O | I | The tape in the drive is a cleaning cartridge. Cleaning tape loaded into drive. | |
0Ch | 800 | Unsupported format | O | I | You have tried to load a cartridge of a type that is not supported by this drive. | Attempted load of unsupported tape format (e.g., DDS2 in DDS1 drive). |
0Dh | 1000 | Recoverable mechanical cartridge failure | O | C | The operation has failed because the tape in the
drive has experienced a mechanical failure:
|
Tape snapped/cut or other cartridge mechanical failure in the drive where medium can be de-mounted. |
0Eh | 2000 | Unrecoverable mechanical cartridge failure | O | C | The operation has failed because the tape in the
drive has experienced a mechanical failure:
|
Tape snapped/cut or other cartridge mechanical failure in the drive where medium cannot be de-mounted. |
0Fh | 4000 | Memory chip in cartridge failure | O | W | The memory in the tape cartridge has failed, which reduces performance. Do not use the cartridge for further write operations. | Memory chip failed in cartridge. | 10h | 8000 | Forced eject | O | C | The operation has failed because the tape cartridge was manually de-mounted while the tape drive was actively writing or reading. | Manual or forced eject while drive actively writing or reading. |
11h | 10000 | Read only format | O | W | You have loaded a cartridge of a type that is read-only in this drive. The cartridge will appear as write protected. | Media loaded that is read-only format. |
12h | 20000 | Tape directory corrupted on load | O | W | The tape directory on the tape cartridge has been corrupted. File search performance will be degraded. The tape directory can be rebuilt by reading all the data on the cartridge. | Tape drive powered down with tape loaded, or permanent error prevented the tape directory being updated. |
13h | 40000 | Nearing media life | O | I | The tape cartridge is nearing the end of its calculated life. It is recommended that you:
|
Media may have exceeded its specified number of passes. |
14h | 80000 | Clean now | O | C | The tape drive needs cleaning:
|
The drive thinks it has a head clog or needs cleaning. |
15h | 100000 | Clean periodic | O | W | The tape drive is due for routine cleaning:
|
Check the tape drive users manual for device specific cleaning instructions. The drive is ready for a periodic cleaning. |
16h | 200000 | Expired cleaning media | O | C | The last cleaning cartridge used in the tape drive has worn out:
|
The cleaning tape has expired. |
17h | 400000 | Invalid cleaning tape | O | C | The last cleaning cartridge used in the tape drive was
an invalid type:
|
Invalid cleaning tape type used. |
18h | 800000 | Retension requested | O | W | The tape drive has requested a retension operation. | The drive is having severe trouble reading or writing, that will be resolved by a retension cycle. |
19h | 1000000 | Dual-port interface error | O | W | A redundant interface port on the tape drive has failed. | Failure of one interface port in a dual-port configuration (i.e., Fibre Channel) |
1Ah | 2000000 | Cooling fan failure | O | W | A tape drive cooling fan has failed. | Fan failure inside tape drive mechanism or tape drive enclosure. |
1Bh | 4000000 | Power supply failure | O | W | A redundant power supply has failed inside the tape drive enclosure. Check the enclosure users manual for instructions on replacing the failed power supply. | Redundant PSU failure inside the tape drive enclosure or rack subsystem. |
1Ch | 8000000 | Power consumption | O | W | The tape drive power consumption is outside the specified range. | Power consumption of the tape drive is outside specified range. |
1Dh | 10000000 | Drive maintenance | O | W | Preventive maintenance of the tape drive is required. Check the tape drive users manual for device specific preventive maintenance tasks or call the tape drive supplier help line. | The drive requires preventive maintenance (not cleaning). | 1Eh | 20000000 | Hardware A | O | C | The tape drive has a hardware fault:
|
The drive has a hardware fault that requires reset to recover. |
1Fh | 40000000 | Hardware B | M | C | The tape drive has a hardware fault:
|
The drive has a hardware fault that is not read/write related or requires a power cycle to recover. |
20h | 80000000 | Interface | O | W | The tape drive has a problem with the application client interface:
|
The drive has identified an interface fault. |
21h | 100000000 | Eject media | O | C | The operation has failed:
|
Error recovery action. |
22h | 200000000 | Download fail | O | W | The firmware download has failed because you have tried to use the incorrect firmware for this tape drive. Obtain the correct firmware and try again. | Firmware download failed. |
23h | 400000000 | Drive humidity | O | W | Environmental conditions inside the tape drive are outside the specified humidity range. | Drive humidity limits exceeded. |
24h | 800000000 | Drive temperature | O | W | Environmental conditions inside the tape drive are outside the specified temperature range. | Cooling problem. |
25h | 1000000000 | Drive voltage | O | W | The voltage supply to the tape drive is outside the specified range. | Drive voltage limits exceeded. |
26h | 2000000000 | Predictive failure | O | C | A hardware failure of the tape drive is predicted. Call the tape drive supplier help line. | Predictive failure of drive hardware. |
27h | 4000000000 | Diagnostics required | O | W | The tape drive may have a hardware fault. Run extended diagnostics to verify and diagnose the problem. Check the tape drive users manual for device specific instructions on running extended diagnostic tests. | The drive may have a hardware fault that may be identified by extended diagnostics (i.e., SEND DIAGNOSTIC command). |
28h - 2Eh | Obsolete | |||||
2Fh - 31h | Rsvd | |||||
32h | 4000000000000 | Lost statistics | O | W | Media statistics have been lost at some time in the past. | Drive or library powered on with tape loaded. |
33h | 8000000000000 | Tape directory invalid at unload | O | W | The tape directory on the tape cartridge just unloaded has been corrupted. File search performance will be degraded. The tape directory can be rebuilt by reading all the data. | Error preventing the tape directory being updated on unload. |
34h | 10000000000000 | Tape system area write failure | O | C | The tape just unloaded could not write its system
area successfully:
|
Write errors while writing the system area on unload. |
35h | 20000000000000 | Tape system area read failure | O | C | The tape system area could not be read successfully
at load time:
|
Read errors while reading the system area on load. |
36h | 40000000000000 | No start of data | O | C | The start of data could not be found on the tape: 1. Check that you are using the correct format tape. 2. Discard the tape or return the tape to your supplier. | Tape damaged, bulk erased, or incorrect format. |
37h | 80000000000000 | Loading failure | O | C | The operation has failed because the media cannot be loaded and threaded.
|
The drive is unable to load the media and thread the tape. |
38h | 100000000000000 | Unrecoverable unload failure | O | C | The operation has failed because the medium cannot be unloaded:
|
The drive is unable to unload the medium. |
39h | 200000000000000 | Automation interface failure | O | C | The tape drive has a problem with the automation interface:
|
The drive has identified an interface fault. |
3Ah | 400000000000000 | Firmware failure | O | W | The tape drive has reset itself due to a detected firmware fault. If problem persists, call the supplier help line. | Firmware bug. |
3Bh | 800000000000000 | WORM Medium - Integrity Check Failed | O | W | The tape drive has detected an inconsistency during the WORM medium integrity checks. Someone may have tampered with the cartridge. | Someone has tampered with the WORM medium. |
3Ch | 1000000000000000 | WORM Medium - Overwrite Attempted | O | W | An attempt had been made to overwrite user data on a WORM medium:
|
The application software does not recognize the medium as WORM. |
3Dh | Rsvd | |||||
3Eh | Rsvd | |||||
3Fh | Rsvd | |||||
40h | Rsvd |
Just the user-mode utilities packaged as an RPM: vtl-0.15-0.i686.rpm (~50Kbytes)
Source code for user-mode utilities + kernel module: vtl-0.15-0.src.rpm (~100Kbytes)
Please email Mark Harvey any questions and/or corrections.
$Id: index.html,v 1.9.2.1 2008-03-06 07:28:54 markh Exp $