rfc-4455

Definition of Managed Objects for Small Computer System Interface (SCSI) Entities

M. Hallak-Stamler, M. Bakke, Y. Lederman, M. Krueger, K. McCloghrie
date2006-04 streamIETF areatsv wgips statusPROPOSED STANDARD pages88 canonicalhttps://www.rfc-editor.org/rfc/rfc4455 doi10.17487/RFC4455 errataview
This memo defines a portion of the Management Information Base (MIB), for use with network management protocols in the Internet community. In particular, it describes managed objects for Small Computer System Interface (SCSI) entities, independently of the interconnect subsystem layer. [STANDARDS-TRACK]

Extracted elements (29)

design-rationale §7.5

Command counters are defined as both Counter32 and Counter64 because older SNMPv1 implementations cannot support Counter64, yet at 5 Gbit/s with 512-byte operations a Counter32 command counter wraps within an hour. A suggested implementation is to set Counter32 to the low-order 32 bits of the corresponding Counter64.

snmp

design-rationale §7.5

Data-volume counters (megabytes written/read) use megabyte granularity rather than bytes specifically so that Counter64 objects are not required; at typical data rates, megabyte-granularity Counter32s do not wrap within a relevant observation window.

snmp

design-rationale §7.4

SCSI domains (as defined by SAM-2) are not represented in this MIB because it is generally not possible to determine domain membership from within a managed system.

snmp

design-rationale §7.3

The 3-notifications-per-10-seconds rate limit was chosen as a compromise: one notification every three seconds is frequent enough for operational awareness, and allowing short bursts of up to three simultaneous notifications avoids suppressing coincident distinct alerts, without flooding the network.

snmp

design-rationale §7.2

The LUN is represented as the ScsiLUN OCTET STRING textual convention rather than a numeric integer because a 64-bit integer type does not exist in SMIv2; the encoding follows SAM-2.

snmp

design-rationale §3.2.13

The SCSI Instance abstraction (scsiInstanceTable) allows multiple vendor SCSI implementations to coexist under a single SNMP agent as separate instances, and enables a single agent to represent multiple physical subsystems each with its own SCSI instance, supporting virtualization and stacked-device scenarios.

snmp

design-rationale §9

The scsiInstStorageType object in each scsiInstanceTable row acts as a single control point governing the StorageType (and thus reboot persistence) for all writable rows in scsiIntrDevTable, scsiDscTgtTable, scsiAuthorizedIntrTable, and scsiLunMapTable that share the same scsiInstIndex.

snmp

interoperability-note §6.1

The SCSI MIB extends but does not replace the Host Resources MIB (RFC 2790): scsiInstSoftwareIndex links a SCSI instance to an hrSWInstalledTable row, and the hrSWInstalledGroup should be used for any installed SCSI software package information not covered by this MIB.

snmp

interoperability-note §6.2

The SCSI MIB links to transport-specific MIBs (iSCSI MIB, FCP MIB, etc.) via the scsiTransportPointer RowPointer in the scsiTransportTable and scsiPortTransportPtr in the scsiPortTable; if no MIB exists for a given transport, scsiTransportPointer is set to 0.0.

snmp

normative-requirement §7.3 SHOULD

An SNMP agent implementing the SCSI MIB module should not send more than three SCSI notifications in any 10-second period, to avoid inundating the network or the destination host with excessive notifications.

snmp

normative-requirement §4.2 MUST

Any managed system acting as a SCSI initiator or target/initiator device and port MUST support the scsiInitiatorDeviceGroup, which contains all managed information related to local SCSI initiator devices, ports, and monitored attached SCSI target devices.

snmp

normative-requirement §7.5 MUST

For command counters on systems running at 4 Gbit/second or higher, each counter must be defined as both a Counter32 and a Counter64, with the Counter64 mandatory for such high-speed systems to prevent wrap within an hour.

snmp

normative-requirement §4.3 MUST

Managed systems acting as a SCSI target or target/initiator device and port must support the scsiTargetDeviceGroup, which contains objects for local SCSI target devices, local target ports, attached initiator ports, logical units, and LU identifiers.

snmp

normative-requirement §4.1 MUST

The scsiDeviceGroup, containing instance, device, port, and transport objects, is mandatory for all SCSI managed systems; every SCSI entity in a managed system must implement it.

snmp

protocol-element §9

The scsiDeviceTable contains management information for each SCSI device within a SCSI instance, including an administrative alias, a BITS role field (target/initiator/both), and a port count. It is indexed by scsiInstIndex and scsiDeviceIndex.

snmp

protocol-element §9

The scsiDscLunTable and scsiDscLunIdTable track remote logical units discovered by each local SCSI initiator port, storing the LUN value (ScsiLUN) and its Identification Descriptor attributes (code set, association, type per SPC-2 Table 172-174, and identifier value as OCTET STRING up to 255 bytes).

snmp

protocol-element §9

The scsiDscTgtTable lists all remote SCSI target ports or devices authorized to attach to each local SCSI initiator port, supporting both administrator-configured entries (scsiDscTgtConfigured=true) and auto-discovered entries (scsiDscTgtDiscovered=true, read-only). Per-target I/O statistics (commands in, megabytes written/read, high-speed command counter) are included. Rows are managed via RowStatus; scsiDscTgtName must be set before a row becomes active.

snmp

protocol-element §9

The scsiInstanceTable is the top-level entity table, representing distinct SCSI instances within a managed system. Each row includes an alias (SnmpAdminString up to 79 chars), a link to hrSWInstalledTable (scsiInstSoftwareIndex), vendor version string, notification enable flag, and a StorageType that governs persistence for all associated sub-tables.

snmp

protocol-element §9

The scsiIntrDevTable controls SCSI initiator device target-access policy via scsiIntrDevTgtAccessMode (autoEnable: discovered targets immediately usable; manualEnable: operator must set scsiIntrDscTgtConfigured=true first) and tracks cumulative LOGICAL UNIT RESET / TARGET RESET requests via scsiIntrDevOutResets.

snmp

protocol-element §9

The scsiPortTable tracks each port per device, capturing the port role (BITS: target/initiator), a RowPointer to the scsiTransportTable entry (scsiPortTransportPtr), and a Counter32 of busy statuses sent or received (scsiPortBusyStatuses).

snmp

protocol-element §9

The scsiTransportTable records the type of transport in use per device (scsiTransportType, an AutonomousType OID such as scsiTransportFCP), a RowPointer to the transport-specific MIB module row (scsiTransportPointer, 0.0 if no transport MIB exists), and the device name in the transport's naming format (scsiTransportDevName).

snmp

protocol-element §9

Transport type OIDs are defined under scsiTransportTypes: scsiTransportSPI (parallel SCSI/SPI-4), scsiTransportFCP (Fibre Channel/FCP-2), scsiTransportSRP (RDMA/InfiniBand), scsiTransportISCSI (iSCSI/RFC 3720), scsiTransportSBP (Serial Bus Protocol 3), and scsiTransportSAS (Serial Attached SCSI).

snmp, registry

registry §13

The scsiMIB module is assigned OID { mib-2 139 } via IANA registration. Transport type object identities (scsiTransportSPI through scsiTransportSAS) are defined under scsiTransportTypes within the module. IANA considerations are covered in Section 13.

registry, snmp

security-consideration §5

Allowing SNMP write access to the scsiDscTgtTable (which controls which SCSI target devices an initiator may attach to) and the ScsiAuthorizedIntrTable (which controls which initiators may attach to a target port) presents significant security risks; the MIB permits but does not require such writes, and implementors must carefully control SNMP write authorization for these tables.

security, snmp

security-consideration §11

Section 11 addresses the security implications of SNMP management access to the SCSI MIB, including the risks of unauthorized modification of access-control objects (LUN maps, authorized initiator lists, discovered target lists) that could allow an attacker to redirect or deny access to storage resources.

security, snmp

wire-format §9

ScsiIdentifier encodes a generic SCSI port identifier as OCTET STRING of SIZE(0..262); its internal format is transport-dependent and defined in SAM-2 Annex A.

snmp

wire-format §9

ScsiLUN is a textual convention encoding a 64-bit SCSI Logical Unit Number as OCTET STRING of SIZE(2|8), formatted per SAM-2 Annex A Tables A.2 and A.3.

snmp

wire-format §9

ScsiLuNameOrZero encodes a SCSI logical unit name as OCTET STRING of SIZE(0|8): either a zero-length string (meaning undefined or not applicable, per object description) or exactly 8 bytes representing the LU name per SAM-2.

snmp

wire-format §9

ScsiName encodes SCSI device or port names as OCTET STRING of SIZE(0..262), with format transport-dependent per SAM-2 Tables A.4 and A.5. Each object using ScsiName must specify whether it refers to a port, a device, or conditionally either.

snmp