Figure 2 adds another SCSI initiator device, to the SCSI network,
which connects to the same SCSI target device. The additional SCSI
initiator device also has an SNMP agent implementing the SCSI MIB
module. In this case, the SCSI target device’s MIB module will show
that two SCSI initiator devices are attached to it.
+-----------+ +----------+
| +----------+ +---------------+ +-+-------+ |
| |SCSI |--------------| Virtualization| | SCSI | |
|* |Initiator +--------------| Device +-------+ Target | |
+--|Device | SCSI | | | Device | *|
| | * | | * | | * |--+
| +----------+ Transport +------------+--+ +---------+ |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | SNMP +-----------+ | SNMP | |
+-------+------------------+ SCSI + +-+------------+-------+
| Management|
| (NMS) |
+-----------+
Figure 3. Multiple Hosts, Virtualization Device and Multiple SCSI
Target Devices
Figure 3 adds an in-band virtualization device that encapsulates, and
possibly modifies, the SCSI target devices’ representation to the
SCSI Initiator devices. It is common practice for an in-band
virtualization device to include both SCSI target and initiator
device functionality. Therefore, its SCSI MIB module implementation
includes both the SCSI Target device and Initiator device objects.
It should be noted that the Virtualization device might implement
additional proprietary MIB modules, as the SCSI MIB module does not
distinguish between physical and virtual SCSI entities.
3.4. Bridging and Virtualization
Storage virtualization is a concept that abstracts storage resources
in such a way that, storage entities are provided as pool of logical
entities.
Usually, the virtualization process is transparent to the storage
users (i.e., hosts). Virtualization normally affects the SCSI
entities represented to SCSI initiator devices. However, the SCSI
MIB module enables the representation of SCSI entities and their
respective status, including error and performance-monitoring
statistics. It should be possible to perform a limited number of
configuration modification and diagnostic actions.
The SCSI entities embodied in the bridging and virtualization devices
can be represented by the SCSI MIB module. However, the
configuration of bridging and virtualization devices is beyond the
above-described scope and therefore should be provided through other
MIB modules.
3.5. SCSI Command MIB Module
The management of SCSI commands is beyond the scope of this MIB
module. Future SCSI Command MIB module can link to this MIB module,
through the use of Object Identifiers (OIDs) or INDEX values of
appropriate tables.
4. Structure of the MIB
This MIB module contains fourteen conformance groups:
4.1. The SCSI Device Group
The scsiDeviceGroup group contains the objects general to each SCSI
instance: instance, device, and port objects. It contains also the
objects referring to the transport(s) used by those SCSI instances.
This group is mandatory for all SCSI managed system.
Alias objects are provided for SCSI instances and SCSI devices to
enable administrators to identify them. These objects contain
human-readable administrative text strings, and hence use the
SnmpAdminString textual convention from [RFC3411].
4.2. The Initiator Group
The scsiInitiatorDeviceGroup contains all the managed information
related to a local SCSI initiator device and port. In addition, it
contains the managed objects referring to the monitored attached SCSI
target devices. Any managed system acting as a SCSI initiator or
target/initiator device and port MUST support this group.
4.3. The Target Group
The scsiTargetDeviceGroup contains all the managed objects related to
a local SCSI target device, a local SCSI target port, monitored
attached initiator ports, logical units, and logical unit
identifiers.
Managed systems acting as a SCSI target or target/initiator device
and port must support this group.
4.4. The Discovery Group
The scsiDiscoveryGroup group is a collection of managed objects
referring to remote SCSI target devices, remote SCSI target ports,
remote logical units, and remote logical unit identifiers discovered
by or configured to a managed system acting as a SCSI initiator
device.
Managed systems acting as a SCSI initiator device and port and
supporting remote SCSI target devices or ports configuration or
discovery should implement this group.
4.5. The LUN Map Group
The scsiLunMapGroup group is a collection of managed objects allowing
mapping between SCSI target devices, logical units, and logical unit
numbers in one side to remote authorized SCSI initiator devices or
ports in another side.
Managed systems supporting this mapping should implement the
scsiLunMapGroup.
4.6. The Target Statistic Group
The scsiTargetDevStatsGroup group is a collection of managed objects
representing various statistics referring to a SCSI target device or
port. Managed systems acting as a SCSI target device and port
supporting statistics should implement this group.
4.7. The Target High Speed Statistic Group
The scsiTargetDevHSStatsGroup group is a collection of managed
objects representing various statistics referring to a SCSI target
device or port. It provides support for systems that can quickly
generate countable information because they run at high speed.
Managed systems acting as a SCSI target device and port and running
at high speed supporting should implement this group.
4.8. The LUN Map Statistics Group
The scsiLunMapStatsGroup group is a collection of managed objects
representing various statistics referring to remote authorized SCSI
initiator devices or ports.
Managed systems acting as a SCSI target device and port and able to
gather statistics on remote SCSI initiator devices or ports should
implement this group.
4.9. The LUN Map Statistics High Speed Group
The scsiLunMapHSStatsGroup group is a collection of managed objects
representing various statistics referring to remote authorized SSCI
initiator devices or ports. It provides support for systems that can
quickly generate countable information because they run at high
speed.
Managed systems acting as a SCSI target device and port and able to
gather statistics on remote SCSI initiator devices or ports and
running at high speed should implement this group.
4.10. The Initiator Statistics Group
The scsiInitiatorDevStatsGroup group is a collection of managed
objects representing various statistics referring to a SCSI initiator
device or port.
Managed systems acting as a SCSI initiator device and port supporting
statistics should implement this group.
4.11. The Initiator High Speed Statistic Group
The scsiInitiatorDevHSStatsGroup group is a collection of managed
objects representing various statistics referring to a SCSI initiator
device or port. It provides support for systems that can quickly
generate countable information because they run at high speed.
Managed systems acting as a SCSI initiator device and port and
running at high speed supporting should implement this group.
4.12. The Discovery Statistics Group
The scsiDiscoveryStatsGroup group is a collection of managed objects
representing various statistics referring to remote discovered or
configured SCSI target devices or ports.
Managed systems acting as a SCSI initiator device and port and able
to gather statistics on remote SCSI target devices or ports should
implement this group.
4.13. The Discovery Statistics High Speed Group
The scsiDiscoveryHSStatsGroup group is a collection of managed
objects representing various statistics referring to remote
discovered or configured SCSI target devices or ports. It provides
support for systems that can quickly generate countable information
because they run at high speed.
Managed systems acting as a SCSI initiator device and port and able
to gather statistics on remote SCSI target devices or ports and
running at high speed should implement this group.
4.14. The Device Statistics Group
The scsiDeviceStatGroup group is a collection of managed objects
representing various statistics referring to a SCSI device.
Managed systems able to gather device statistics should implement
this group.
5. Relationships in This MIB
This section outlines the functionality and the dependency between
the MIB tables providing the required management functionality for
SCSI initiator and target devices. For specific usage of these
tables, the reader should refer to the description of the tables and
their respective table entries and attributes.
Following is a list of required SCSI initiator-related features, and
the respective tables facilitating this functionality:
o List all the SCSI initiator ports that should be managed through
this MIB module. The table scsiIntrPortTable maintains all the
SCSI initiator ports for the SCSI initiator devices in the MIB
module.
o Provide a list of all SCSI target ports or SCSI target devices to
which a SCSI initiator port can attach. This should prevent a
SCSI initiator device or port from attaching to SCSI target
devices that should be either invisible or inaccessible to it.
The entries in this list can be created either manually or by
automatic discovery mechanisms (e.g., SLP, iSNS). The
ScsiDscTgtTable provides this information. The entries in this
table point to the SCSI initiator port, and indicate that the SCSI
initiator port can only attach to SCSI target ports or SCSI target
devices provided in the respective entries of the ScsiDscTgtTable.
This MIB module permits, but does not require, this table to be
written via SNMP. There are significant security considerations
in allowing writes to this table; see Section 11.
o The information, for the aforementioned SCSI target ports or SCSI
target devices, about the LUs and their respective LUN Ids should
be provided. The scsiDscLunTable and scsiDscLunIdTable maintain
this information.
o The scsiAttTgtPortTable provides the information about the SCSI
target ports each SCSI initiator port is currently communicating
with. This table should be dynamically updated to reflect those
connections.
Following is a list of required SCSI target device-related features,
and the respective tables facilitating this functionality:
o List all the SCSI target ports that should be managed through this
MIB module. The table scsiTgtPortTable maintains all the SCSI
target ports for the SCSI target devices in the MIB module.
o Provide a list of valid SCSI initiator ports or SCSI initiator
devices authorized to attach to a SCSI target port. This list
should feature the concept of "access lists", which are common in
IP routers and switches. The ScsiAuthorizedIntr table provides
this information. This MIB module permits, but does not require
this table to be written via SNMP. There are significant security
considerations in allowing writes to this table; see Section 11.
o It should be possible to specify the list of LUNs exposed to each
SCSI initiator port or device, when it is attached to the SCSI
target device. SCSI target devices must provide a default list of
LUNs. This list of LUNs can either be a unique list for each SCSI
initiator device or be the default list. For each entry in the
ScsiAuthorizedIntr table, a pointer, named
scsiAuthIntrLunMapIndex, indexing the ScsiLunMapTable facilitates
this feature.
o Provide means to monitor all the SCSI initiator ports currently
attached to this SCSI target port. The scsiAttIntrPortTable
provides this information. This table should be dynamically
updated to reflect those connections.
6. Relationship to Other MIBs
6.1. Host Resource MIB
The SCSI MIB module extends objects defined in the host resource MIB
module to SCSI-specific entities but does not contain information on
software modules such as device drivers. If MIB objects are required
for installed packages of SCSI software, then the hrSWInstalledGroup
of the Host Resources MIB [RFC2790] are the standard MIB objects to
use.
6.2. iSCSI MIB Module
The SCSI MIB module defines managed objects for the SCSI protocol
layer. The SCSI layer can run on top of several transport layers;
iSCSI is one of them. The ISCSI-MIB [ISCSI] is the MIB portion
defining the managed objects for the transport called iSCSI. In the
same way, a fibre channel or parallel SCSI MIB module would define
managed objects for a transport called, respectively, fibre channel
or parallel SCSI.
The relationship between the SCSI MIB module and any valid transport
MIB module is determined via the SCSI port managed table that has an
object pointing to the corresponding row, if any, of the relevant
table in a transport MIB module.
7. Miscellaneous Details
7.1. Names and Identifiers
The names and the identifiers of the SCSI devices, ports, and logical
units depend on the underlying transport protocols; their format and
length vary accordingly. Please refer to SAM-2 [SAM2] for more
details.
7.2. Logical Unit Number
The Logical Unit Number is a 64-bit integer. This type does not
exist in SMI and therefore, this MIB contains a textual convention
defining LUN as an OCTET STRING.
7.3. Notifications
Separate SNMP notifications may be enabled/disabled to notify of a
change in any of the SCSI device status variables. A notification
will be generated theoretically for each occurrence (see restriction
below) of the abnormal status (e.g., if the SCSI device’s current
status is abnormal and another logical unit changes its status from
available to abnormal another notification will occur).
To avoid sending an excessive number of notifications due to multiple
errors counted, an SNMP agent implementing the SCSI MIB module should
not send more than three SCSI notifications in any 10-second period.
The 3-in-10 rule was chosen because one notification every three
seconds was deemed often enough, but if and when two or three
different notifications happen at the same time, it would not be
desirable to suppress them. Three notifications in 10 seconds is a
happy medium, where a short burst of notifications is allowed,
without inundating the network and/or destination host with a large
number of notifications.
The ultimate control on sending of notifications is in command of the
notification generator module specified in [RFC3413].
7.4. SCSI Domains
SAM-2 [SAM2] specifies that devices belong to a domain. However, it
is not usually possible to determine this from within a system, so
domains are not represented within this MIB module.
7.5. Counters: 32 Bits and 64 Bits
Some counters, in (newer) high-performance systems, can increase at a
fast enough rate such that their representation as Counter32s can
cause them to "wrap" in less than an hour. The SMIv2 provides
Counter64 as the syntax for such counters. However, (older) SNMPv1
implementations cannot support Counter64s. Thus, this MIB module
defines such counters as both Counter32s and Counter64’s.
The counters in this MIB module that count data are defined in terms
of megabytes (i.e., as the number of megabytes of data), such that
Counter64s are not required.
However, the counters in this MIB module that count commands, when in
use at 5 GBit/second with 512-byte read/write operations, could wrap
within an hour. Therefore, each of these counters will be defined as
both a Counter32 and a Counter64, with the latter being mandatory,
for system speeds of 4 Gbit/second or higher.
A possible (but not required) implementation strategy is to have the
value of each Counter32 be the same value as the low-order 32 bits of
the corresponding Counter64.
7.6. Local versus Remote Entities
This MIB module qualifies often SCSI entities as local or remote.
The local entities are the ones for which the agent is reporting.
The remote entities are the ones that the local entities are in
communication with via the SCSI protocol.
8. Abbreviations
This MIB module will use the following abbreviations:
Inst = Instance
Dev = SCSI Device
Tgt = SCSI Target Device
Intr = SCSI Initiator Device
Att = Attached
Id = Identifier
Dsc = Discovered
pSCSI = Parallel SCSI
9. Object Definitions
SCSI-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE,
NOTIFICATION-TYPE, Integer32, Unsigned32, Counter32,
Counter64, Gauge32,
mib-2 FROM SNMPv2-SMI
TEXTUAL-CONVENTION, TimeStamp, TruthValue,
RowStatus, RowPointer, AutonomousType,
StorageType FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP,
NOTIFICATION-GROUP FROM SNMPv2-CONF
SnmpAdminString FROM SNMP-FRAMEWORK-MIB;
scsiMIB MODULE-IDENTITY
LAST-UPDATED "200603300000Z" -- 30th March 2006
ORGANIZATION "IETF"
CONTACT-INFO "
Michele Hallak-Stamler
Sanrad Intelligent Network
27 Habarzel Street
Tel Aviv, Israel
Phone: +972 3 7674809
E-mail: michele@sanrad.com
Yaron Lederman
Siliquent Technologies Ltd.
21 Etzel Street
Ramat Gan, Israel
Phone: +972 54 5308833
E-mail: yaronled@bezeqint.net
Mark Bakke
Postal: Cisco Systems, Inc
7900 International Drive, Suite 400
Bloomington, MN
USA 55425
E-mail: mbakke@cisco.com
Marjorie Krueger
Postal: Hewlett-Packard
8000 Foothills Blvd.
Roseville, CA 95747
E-mail: marjorie_krueger@hp.com
Keith McCloghrie
Cisco Systems, Inc.
Postal: 170 West Tasman Drive
San Jose, CA USA 95134
Phone: +1 408 526-5260
E-mail: kzm@cisco.com
"
DESCRIPTION
"The SCSI MIB Module.
Copyright (C) The Internet Society (2006). This version of
this MIB module is part of RFC 4455; see the RFC
itself for full legal notices."
-- Revision History
REVISION "200603300000Z"
DESCRIPTION " Initial version published as RFC 4455."
::= { mib-2 139}
--****************** Textual Conventions **************************
ScsiLUN ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This textual convention represents a SCSI Logical Unit
Number (LUN). The format of a LUN is documented in Tables
A.2 and A.3 of SAM-2 [SAM2]."
REFERENCE
"SCSI Architecture Model-2 (SAM-2), ANSI INCITS 366-2003,
T10 Project 1157-D, 12 September 2002 - Annex A [SAM2]"
SYNTAX OCTET STRING (SIZE ( 2 | 8))
ScsiIndexValue ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"An arbitrary integer value, greater than zero, for use
as a unique index value."
SYNTAX Unsigned32 (1..4294967295)
ScsiPortIndexValueOrZero ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"This textual convention is an extension of the ScsiIndexValue
convention. The latter defines a greater than zero value used
to identify an index. This extension permits the additional
value of zero and is applicable only to indices of SCSI port.
Usage of the zero is object-specific and must therefore be
defined as part of the description of any object that uses
this syntax. Examples of the usage of zero might include
situations where the index was unknown, or when none or all
indices need to be referenced."
SYNTAX Unsigned32 (0..4294967295)
ScsiIndexValueOrZero ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"This textual convention is an extension of the ScsiIndexValue
convention. The latter defines a greater than zero value used
to identify an index. This extension permits the additional
value of zero. Usage of the zero is object-specific and must
therefore be defined as part of the description of any object
that uses this syntax. Examples of the usage of zero might
include situations where index was unknown, or when none or
all indices need to be referenced."
SYNTAX Unsigned32 (0..4294967295)
ScsiIdentifier ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This textual convention represents a generic SCSI port
identifier.
The format depends on the transport used and is documented
in Tables A.2 and A.3 of SAM-2 [SAM2]."
REFERENCE
"SCSI Architecture Model-2 (SAM-2), ANSI INCITS 366-2003,