JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual     Sun QFS and Sun Storage Archive Manager 5.3 Information Library
search filter icon
search icon

Document Information

Preface

1.  User Commands (Man Pages Section 1)

2.  Maintenance Commands (Man Pages Section 1M)

archive_audit(1M)

archive_mark(1M)

archiver(1M)

archiver.sh(1M)

arcopy(1M)

arfind(1M)

auditslot(1M)

backto(1M)

build_cat(1M)

chmed(1M)

cleandrive(1M)

clri(1M)

damage(1M)

dev_down.sh(1M)

dmpshm(1M)

dump_cat(1M)

dump_log(1M)

exarchive(1M)

export(1M)

fsmadm(1M)

fsmdb(1M)

fsmgmtd(1M)

fsmgr(1M)

fsmgr_setup(1M)

fsmupd(1M)

generic(1M)

gnutar(1M)

HAStoragePlus_samfs(1M)

import(1M)

itemize(1M)

load(1M)

load_notify.sh(1M)

log_rotate.sh(1M)

mccfg(1M)

mount_samfs(1M)

move(1M)

nrecycler.sh(1M)

odlabel(1M)

qfsdump(1M)

qfsrestore(1M)

rearch(1M)

recover.sh(1M)

recycler(1M)

recycler.sh(1M)

releaser(1M)

reserve(1M)

restore.sh(1M)

robots(1M)

rpc.sam(1M)

sam-amld(1M)

sam-archiverd(1M)

sam-arcopy(1M)

sam-arfind(1M)

sam-catserverd(1M)

sam-clfsd(1M)

sam-clientd(1M)

sam-dbupd(1M)

sam-fsalogd(1M)

sam-fsd(1M)

sam-ftpd(1M)

sam-genericd(1M)

sam-grau_helper(1M)

sam-ibm3494d(1M)

sam-nrecycler(1M)

sam-recycler(1M)

sam-releaser(1M)

sam-rftd(1M)

sam-robotsd(1M)

sam-rpcd(1M)

sam-scannerd(1M)

sam-serverd(1M)

sam-sharefsd(1M)

sam-shrink(1M)

sam-sony_helper(1M)

sam-sonyd(1M)

sam-stagealld(1M)

sam-stagerd(1M)

sam-stagerd_copy(1M)

sam-stk_helper(1M)

sam-stkd(1M)

samadm(1M)

sambcheck(1M)

samchaid(1M)

samcmd(1M)

samcrondump(1M)

samcronfix(1M)

samd(1M)

samdb(1M)

samexplorer(1M)

samexport(1M)

samfsck(1M)

samfsconfig(1M)

samfsdump(1M)

samfsinfo(1M)

samfsrestore(1M)

samfstyp(1M)

samgetmap(1M)

samgetvol(1M)

samgrowfs(1M)

samimport(1M)

samload(1M)

sammkfs(1M)

samncheck(1M)

samquota(1M)

samquotastat(1M)

samset(1M)

samsharefs(1M)

samsnoop(1M)

samstorade(1M)

samtrace(1M)

samu(1M)

samunhold(1M)

save_core.sh(1M)

scanner(1M)

scsi_trace_decode(1M)

sefreport(1M)

sendtrap(1M)

set_admin(1M)

set_state(1M)

showqueue(1M)

stageall(1M)

stageback.sh(1M)

star(1M)

tapealert(1M)

tarback.sh(1M)

tplabel(1M)

tpverify(1M)

trace_rotate(1M)

umount_samfs(1M)

unarchive(1M)

undamage(1M)

unload(1M)

unrearch(1M)

unreserve(1M)

3.  Library Functions (Man Pages Section 3)

4.  Library Functions (Man Pages Section 3X)

5.  File Formats (Man Pages Section 4)

6.  Standards, Environment, and Macros (Man Pages Section 5)

7.  Device and Network Interfaces (Man Pages Section 7)

tapealert(1M)

NAME
     tapealert - Decodes TapeAlert events

SYNOPSIS
     tapealert -i -f /var/opt/SUNWsamfs/devlog/nn

AVAILABILITY
     SUNWsamfs

DESCRIPTION
     The TapeAlert feature displays diagnostic and status
     messages for tape drives and automated library devices.
     These messages can provide network administrators with
     critical diagnostic information, such as for media or drive
     failure, when user intervention is urgent and data is at
     risk.  TapeAlert messages also warn you when media or
     devices need servicing, and the messages also provide
     information regarding media or device status.

     The TapeAlert feature enables a tape drive or automated
     library to convey diagnostic information to network
     administrators.  TapeAlerts interpret log sense page 0x2e.
     The log sense page contains 64 industry-standard error
     flags.  Robots and tape drives support TapeAlert though
     their own set of specific error flags.

     The SAM-QFS software automatically writes TapeAlert events
     to the device log file, /var/opt/SUNWsamfs/devlog/nn.
     TapeAlert events are logged in many situations, for example
     positioning errors, drive self-test errors, and others.  If
     a TapeAlert event is logged, user action is often required.

     The tapealert command reads the events logged in the device
     log file, interprets them, and writes them to a text file
     for easier viewing. The TapeAlert events can be used to
     diagnose hardware and media problems for a particular tape
     volume.  In addition, you can enable real-time TapeAlert
     output to be sent to you in the form of an email or pager
     message.

     Only unique, discrete, nonzero TapeAlert events are written
     to the device log (devlog/nn).  If repeated identical
     TapeAlert events are detected, only one is written to the
     device log.  This keeps the device log manageable, accurate,
     and comprehensive without becoming unwieldy.  If a TapeAlert
     event occurs when a drive is empty, no VSN is recorded in
     the device log or sent with the sysevent.  For more
     information on the device log file and the information
     written to it, see the devlog(4) man page.

     TapeAlert writes device-specific messages to device-specific
     files.  For each device, whether it is an automated library
     or a tape drive, TapeAlert writes messages specific to that
     device in the device's own file.  Messages are logged as
     follows:

     o  For automated libraries, TapeAlerts are accessed at the
        following events:  SAM-QFS device identification, move
        media, door lock, door unlock, position element,
        exchange, and after unrecoverable device errors.

     o  For tape drives, TapeAlerts are accessed at the following
        events:  SAM-QFS device identification, load, unload, and
        after unrecoverable device errors.

     The tapealert command is not supported for magneto optical
     or mixed-media libraries.  TapeAlert is supported on
     direct-attached hosts only.  TapeAlert is not supported on
     network-attached hosts.

OPTIONS
     The tapealert command requires you to specify one of the
     following options:

     -f /var/opt/SUNWsamfs/devlog/nn
               Specifies the file to be read and interpreted.
               For nn, enter the Equipment Number of the device.
               The Equipment Number is the second field in the
               master configuration file
               (/etc/opt/SUNWsamfs/mcf).  Each device has its own
               unique devlog/nn file.  The system writes each
               device's TapeAlert events to its own unique file.

               For more information on mcf files, see the mcf(4)
               man page.

     -i        Reads standard input for interpretation.

     For an example of tapealert command output, see the EXAMPLES
     section of this man page.

USAGE
     You can create a TapeAlert sysevent event handler to record
     all, or only some, automated library and tape drive
     TapeAlert flags in real time in a single place.  The
     following sections describe the TapeAlert name-value pairs
     that are needed to build an event handler and describe how
     to create various types of event handlers.

  TapeAlert Sysevent Class and Name-Value Pairs
     To create a custom TapeAlert sysevent event handler, the
     following information is required:

     Field     Value

     Class     Device

     Subclass  TapeAlert

     Vendor    SUNW

     Publisher SUNWsamfs

     In addition, you can include all or some of the following
     TapeAlert sysevent name-value pairs:

     Name                Value and Data Type

     VENDOR              Inquiry vendor.  Data type is string.

     PRODUCT             Inquiry product.  Data type is string.

     REV                 Inquiry revision.  Data type is string.

     USN                 Inquiry unit serial number.  Data type
                         is string.

     TOD                 Time of day.  Data type is int32.

     SET                 mcf file Family Set.  Data type is
                         string.

     FSEQ                mcf file Family Set Equipment Number.
                         Data type is int16.

     EQ_ORD              mcf file Equipment Number.  Data type is
                         int16.

     NAME                Device name.  Data type is string.

     VERSION             Inquiry version.  Data type is byte.

     INQ_TYPE            Inquiry peripheral device type.  Data
                         type is byte.

     VSN                 Volume serial name.  Data type is
                         string.

     FLAGS_LEN           TapeAlert flags number.  Data type is
                         int16.

     FLAGS               TapeAlert flags 64-1.  Data type is
                         uint64.

  Creating the Event Handler
     Creating the event handler is a two-procedure process.  In
     the first procedure, you create the event handler itself.

     In the second procedure, you create a notification
     mechanism.

     The following procedure describes how to create the event
     handler.

     1. Log in as root.

     2. Create the notification system.

        After the event handler is created, you need to create a
        notification system.  This can be done through your own
        user-created script or through a C program event handler.
        The following procedures describe how to create a C
        program event handler and how to establish email
        notification.

        To Create a C Program Notifier:

        The following C program, /var/tmp/event_handler.c, writes
        TapeAlert events to a temporary file:

        #include <stdio.h>
        #include <time.h>
        #include <string.h>
        #include <stdlib.h>

        int main(int argc, char **argv)
        {
                char *vendor, *product, *revision, *name, *vsn;
                time_t tod;
                char *todstr;
                short eq_num;
                uchar_t inq_type;
                int flags_len;
                uint64_t flags;
                FILE *fp;

                vendor = argv[1];
                product = argv [2];
                revision = argv[3];
                tod = (time_t)strtol(argv[4], NULL, 10);
                todstr = asctime(localtime (&tod));
                *(strchr (todstr, '\n')) = '\0';
                eq_num = atoi(argv[5]);
                name = argv[6];
                inq_type = (uchar_t)strtol(argv[7], NULL, 16);
                vsn = argv[8];
                flags_len = atoi(argv[9]);
                flags = (uint64_t)strtoll(argv[10], NULL, 16);

                if ((fp = fopen ("/var/tmp/tapealert", "a+")) == NULL)
                        return 1;
                fprintf (fp, "%s %-8s %-16s %-4s VSN %s\n", todstr, vendor,
                         product, revision, vsn);
                fprintf (fp, "Eq num. %d Dev name %s\n", eq_num, name);
                fprintf (fp, "TapeAlert %d flags %016llx\n", flags_len, flags);
                fprintf (fp, "\n");
                fclose (fp);
                return 0;
        }

        After this file is created, you must compile it.  After
        compilation, you can run the following commands to load
        the event handler into the sysevent daemon:

     # syseventadm add -c Device -s TapeAlert -v SUNW -p SUNWsamfs
     /var/tmp/event_handler \"\$VENDOR\" \"\$PRODUCT\" \"\$REV\" \$TOD
     \$EQ_ORD \"\$NAME\" \$INQ_TYPE \"\$VSN\" \$FLAGS_LEN \$FLAGS

     # syseventadm restart

        The following commands show the critical clean drive
        TapeAlert flag 20 active for drive 81 and 82:

     # tail -f /var/tmp/tapealert
     Mon Jun 16 10:42:45 2003 "EXABYTE " "EXB-89008E030203" "V39e" VSN "000166"
     Eq num. 81 Dev name "/dev/rmt/1cbn"
     TapeAlert 49 flags 0000000000080000

     Mon Jun 16 10:42:51 2003 "EXABYTE " "EXB-89008E030203" "V39e" VSN "000165"
     Eq num. 82 Dev name "/dev/rmt/0cbn"
     TapeAlert 49 flags 0000000000080000

        To Create an Email Notifier:

        The following procedure describes how to enable email
        notification.

        1. Log in as root.

        2. In the script file /var/tmp/email_pager, send yourself
           or your pager a TapeAlert email by adding a line
           similar to the following:

           echo $2 | /usr/ucb/mail -s "TapeAlert $1" admin@support.com

        3. Run commands to load the event handler in the sysevent
           daemon.

           Issue the syseventadm(1M) commands, as follows:

           # syseventadm add -c Device -s TapeAlert -v SUNW -p SUNWsamfs
           /var/tmp/email_pager $EQ_ORD "$VSN"
           # syseventadm restart

EXAMPLES
     Example 1.  The following mcf file defines one automated
     library and two tape drives:

     # OVERLAND NEO Series
     /dev/samst/c2t6u0    80    rb   NEO_Series on
     /var/opt/SUNWsamfs/catalog/NEO_Series
     /dev/rmt/0cbn        81    tp   NEO_Series on
     /dev/rmt/1cbn        82    tp   NEO_Series on

     historian            90    hy   -        -
     /var/opt/SUNWsamfs/catalog/historian

     You could decode the TapeAlert flags for these devices using
     the following tapealert commands:

     # tapealert -f /var/opt/SUNWsam/devlog/80
     # tapealert -f /var/opt/SUNWsam/devlog/81
     # tapealert -f /var/opt/SUNWsam/devlog/82

     Example 2.  The following examples show tapealert command
     output:

     # tapealert -f /var/opt/SUNWsamfs/devlog/91
     2003/11/18 15:05:20 Eq no. 91 Seq no. 7
     Code: 0x27
     Flag: Diagnostics required
     Severity: Warning
     Application message:
     The tape drive may have a hardware fault. Run extended diagnostics
     to verity and diagnose the problem. Check the tape drive users
     manual for device specific instructions on running extended
     diagnostics tests.
     Probable cause:
     The drive may have a hardware fault that may be identified by
     extended diagnostics (i.e. SEND DIAGNOSTIC command).

     Code: 0x32
     Flag: Lost statistics
     Severity: Warning
     Application message:
     Media statistics have been lost at some time in the past.
     Probable cause:
     Drive or library powered down with tape loaded.

FILES
     /etc/sysevent/config/SUNW,sysevent.conf

     /var/opt/SUNWsamfs/devlog/nn

SEE ALSO
     samd(1M), syseventadm(1M).

     devlog(4), mcf(4), sefsysevent(4).

NOTES
     The T10 Technical Committee is responsible for SCSI
     architecture standards.  This tapealert command supports the
     TapeAlert functionality as defined by T10 in the following
     papers:

     o  SCSI Stream Commands - 2 (SSC-2).  For a copy of this
        paper, see www.t10.org/ftp/t10/drafts/ssc2/ssc2r08g.pdf.

     o  SCSI Media Changer Commands - 2 (SMC-2).  For a copy of
        this paper, see
        www.t10.org/ftp/t10/drafts/smc2/smc2r05b.pdf.

     The preceding URLs are supported as of June 2003.  If you
     have difficulty accessing these papers, consult the main T10
     Technical Committee webpage at www.t10.org.

     Portions of this man page were based on or derived from the
     following T10 Technical Committe publications:

     1. SCSI Stream Commands - 2 (SSC-2), Revision 08d, 9
        September 2002.

     2. SCSI-3 Media Changer Commands - 2 (SMC-2), Revision 5,
        July 12, 2002.

     TapeAlert is limited to direct attached SCSI automated
     libraries and tape drives that support Log Sense Page 0x2e.

     Sun is not responsible for the availability of third-party
     Web sites mentioned in this document.  Sun does not endorse
     and is not responsible or liable for any content,
     advertising, products, or other materials that are available
     on or through such sites or resources.  Sun will not be
     reponsible for any actual or alleged damage or loss caused
     by or in connection with the use of or reliance on any such
     content, goods, or services that are available on or through
     such sites or resources.