#-MIBFILE: LEFTHAND-NETWORKS-NSM-STORAGE-MIB.mib

LEFTHAND-NETWORKS-NSM-STORAGE-MIB DEFINITIONS ::= BEGIN


DisplayString ::=
	OCTET STRING (SIZE(0..255))

PhysAddress ::=
	OCTET STRING

MacAddress ::=
	OCTET STRING (SIZE(6))

TruthValue ::=
	INTEGER {
	true(1),
	false(2)
	}

TestAndIncr ::=
	INTEGER (0..2147483647)

AutonomousType ::=
	OBJECT IDENTIFIER

InstancePointer ::=
	OBJECT IDENTIFIER

VariablePointer ::=
	OBJECT IDENTIFIER

RowPointer ::=
	OBJECT IDENTIFIER

RowStatus ::=
	INTEGER {
	active(1),
	notInService(2),
	notReady(3),
	createAndGo(4),
	createAndWait(5),
	destroy(6)
	}

TimeStamp ::=
	TimeTicks

TimeInterval ::=
	INTEGER (0..2147483647)

DateAndTime ::=
	OCTET STRING (SIZE(8|11))

StorageType ::=
	INTEGER {
	other(1),
	volatile(2),
	nonVolatile(3),
	permanent(4),
	readOnly(5)
	}

TDomain ::=
	OBJECT IDENTIFIER

TAddress ::=
	OCTET STRING (SIZE(1..255))

CounterBasedGauge64 ::=
	OCTET STRING

ZeroBasedCounter64 ::=
	OCTET STRING

lefthandnetworks OBJECT IDENTIFIER ::= { enterprises 9804 }
lefthandnetworksRegistrations OBJECT IDENTIFIER ::= { lefthandnetworks 2 }
lhnModules OBJECT IDENTIFIER ::= { lefthandnetworksRegistrations 1 }
lefthandnetworksProducts OBJECT IDENTIFIER ::= { lefthandnetworks 3 }
lhnNsm OBJECT IDENTIFIER ::= { lefthandnetworksProducts 1 }
lefthandnetworksRegistrations OBJECT IDENTIFIER ::= { lefthandnetworks 2 }
lhnNsmDevices OBJECT IDENTIFIER ::= { lhnNsm 1 }
lhnNsmObjects OBJECT IDENTIFIER ::= { lhnNsmDevices 2 }
lhnNsmStorage OBJECT IDENTIFIER ::= { lhnNsmObjects 4 }
lhnNsmStorageModule OBJECT IDENTIFIER ::= { lhnModules 5 }

lhnNsmStorageModuleConformance OBJECT IDENTIFIER ::= { lhnNsmStorageModule 1 }

lhnNsmStorageModuleCompliances OBJECT IDENTIFIER ::= { lhnNsmStorageModuleConformance 1 }

lhnNsmStorageModuleGroups OBJECT IDENTIFIER ::= { lhnNsmStorageModuleConformance 2 }

lefthandNetworksNsmStorageGroup OBJECT IDENTIFIER ::= { lhnNsmStorageModuleGroups 1 }

lefthandNetworksNsmStorageGroupObsolete OBJECT IDENTIFIER ::= { lhnNsmStorageModuleGroups 2 }

storageDeviceCount OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of storage devices."
	::= { lhnNsmStorage 1 }


storageDeviceTable OBJECT-TYPE
	SYNTAX SEQUENCE OF StorageDeviceEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table of storage devices for the NSM. The
number of devices is given by storageDeviceCount."
	::= { lhnNsmStorage 2 }


storageDeviceEntry OBJECT-TYPE
	SYNTAX StorageDeviceEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A row of storage device information."
	INDEX { storageDeviceIndex  }

	::= { storageDeviceTable 1 }

storageDeviceEntry ::=
	SEQUENCE {
		storageDeviceIndex Unsigned32,
		storageDeviceModel DisplayString,
		storageDeviceClass DisplayString,
		storageDeviceCapacityInBytes CounterBasedGauge64,
		storageDeviceMode DisplayString,
		storageDeviceChain DisplayString,
		storageDeviceSerialNumber DisplayString,
		storageDeviceTemperature Gauge32,
		storageDeviceTemperatureCritical Integer32,
		storageDeviceTemperatureLimit Integer32,
		storageDeviceTemperatureStatus INTEGER,
		storageDeviceLabel DisplayString,
		storageDeviceName DisplayString,
		storageDeviceRaidDevice DisplayString,
		storageDeviceFirmwareVersion DisplayString,
		storageDeviceSmartHealth DisplayString,
		storageDeviceSmartHealthStatus INTEGER,
		storageDeviceCapacity Integer32,
		storageDeviceHotRemovable TruthValue,
		storageDeviceState DisplayString,
		storageDeviceStatus INTEGER,
		storageDeviceRowStatus RowStatus
		}

storageDeviceIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index for the storageDeviceTable table."
	::= { storageDeviceEntry 1 }


storageDeviceModel OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device model."
	::= { storageDeviceEntry 2 }


storageDeviceClass OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device class describes the interface type and speed."
	::= { storageDeviceEntry 3 }


storageDeviceCapacityInBytes OBJECT-TYPE
	SYNTAX CounterBasedGauge64
	ACCESS read-only
	STATUS obsolete
	DESCRIPTION "The capacity of the device. Obsolete in SAN/iQ 8.5. Use 'storageDeviceCapacity'."
	::= { storageDeviceEntry 4 }


storageDeviceMode OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device mode. Posible modes are: active, inactive, hot spare, rebuilding, uninitialized, foreign"
	::= { storageDeviceEntry 5 }


storageDeviceChain OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS obsolete
	DESCRIPTION "The storage device chain. Obsolete in SAN/iQ 8.5."
	::= { storageDeviceEntry 6 }


storageDeviceSerialNumber OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device serial number."
	::= { storageDeviceEntry 7 }


storageDeviceTemperature OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device temperature."
	::= { storageDeviceEntry 9 }


storageDeviceTemperatureCritical OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The value where the temperature becomes critical."
	::= { storageDeviceEntry 10 }


storageDeviceTemperatureLimit OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The maximum temperature that can be tolerated."
	::= { storageDeviceEntry 11 }


storageDeviceTemperatureStatus OBJECT-TYPE
	SYNTAX INTEGER {
	pass(1),
	fail(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device temperature status."
	::= { storageDeviceEntry 12 }


storageDeviceLabel OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The the device bay/slot label."
	::= { storageDeviceEntry 13 }


storageDeviceName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device name."
	::= { storageDeviceEntry 14 }


storageDeviceRaidDevice OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID device LUN for the storage device."
	::= { storageDeviceEntry 15 }


storageDeviceFirmwareVersion OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device firmware version."
	::= { storageDeviceEntry 16 }


storageDeviceSmartHealth OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device SMART health status. Possible values are: normal, marginal, faulty"
	::= { storageDeviceEntry 17 }


storageDeviceSmartHealthStatus OBJECT-TYPE
	SYNTAX INTEGER {
	pass(1),
	fail(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device SMART health status."
	::= { storageDeviceEntry 18 }


storageDeviceCapacity OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The capacity of the device."
	::= { storageDeviceEntry 19 }


storageDeviceHotRemovable OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The hot removable status of the device."
	::= { storageDeviceEntry 20 }


storageDeviceState OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device (presence) state. Possible values are: on_and_secured, off_and_secured, off_or_removed"
	::= { storageDeviceEntry 90 }


storageDeviceStatus OBJECT-TYPE
	SYNTAX INTEGER {
	pass(1),
	fail(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The device status."
	::= { storageDeviceEntry 91 }


storageDeviceRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	ACCESS read-only
	STATUS obsolete
	DESCRIPTION "The table row status. Obsolete in SAN/iQ 8.5."
	::= { storageDeviceEntry 99 }


storageRaidCount OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of RAID devices (controllers)."
	::= { lhnNsmStorage 3 }


storageRaidTable OBJECT-TYPE
	SYNTAX SEQUENCE OF StorageRaidEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table of RAID devices (controllers) for the NSM. The
number of devices is given by storageRaidCount."
	::= { lhnNsmStorage 4 }


storageRaidEntry OBJECT-TYPE
	SYNTAX StorageRaidEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A row of RAID device (controller) information."
	INDEX { storageRaidIndex  }

	::= { storageRaidTable 1 }

storageRaidEntry ::=
	SEQUENCE {
		storageRaidIndex Unsigned32,
		storageRaidDeviceName DisplayString,
		storageRaidLevel DisplayString,
		storageRaidDiskCount Integer32,
		storageRaidSpareDiskCount Integer32,
		storageRaidSuperBlock TruthValue,
		storageRaidChunkSize Integer32,
		storageRaidDisks DisplayString,
		storageRaidDevice DisplayString,
		storageRaidDeviceCapacity Integer32,
		storageRaidDeviceParityInitState DisplayString,
		storageRaidRebuildPercent Gauge32,
		storageRaidRebuildTime Gauge32,
		storageRaidDeviceState DisplayString,
		storageRaidDeviceStatus INTEGER,
		storageRaidDeviceRowStatus RowStatus
		}

storageRaidIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index for the storageRAIDTable table."
	::= { storageRaidEntry 1 }


storageRaidDeviceName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID device (controller) name."
	::= { storageRaidEntry 2 }


storageRaidLevel OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID level."
	::= { storageRaidEntry 3 }


storageRaidDiskCount OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of storage devices this RAID device (controller) has."
	::= { storageRaidEntry 4 }


storageRaidSpareDiskCount OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS obsolete
	DESCRIPTION "The number of spare disks the RAID (controller) has."
	::= { storageRaidEntry 5 }


storageRaidSuperBlock OBJECT-TYPE
	SYNTAX TruthValue
	ACCESS read-only
	STATUS obsolete
	DESCRIPTION "The RAID device (controller) spare super block status. Obsolete in SAN/iQ 8.5."
	::= { storageRaidEntry 6 }


storageRaidChunkSize OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS obsolete
	DESCRIPTION "The RAID device (controller) chunk size. Obsolete in SAN/iQ 8.5."
	::= { storageRaidEntry 7 }


storageRaidDisks OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID device (controller) disk list."
	::= { storageRaidEntry 8 }


storageRaidDevice OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The LUN for the RAID device (controller)."
	::= { storageRaidEntry 9 }


storageRaidDeviceCapacity OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The capacity of the RAID device (controller.)"
	::= { storageRaidEntry 10 }


storageRaidDeviceParityInitState OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID device (controller) parity initilization status. Possible values: normal, rebuilding, degraded"
	::= { storageRaidEntry 11 }


storageRaidRebuildPercent OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID device (controller) rebuild percent complete."
	::= { storageRaidEntry 12 }


storageRaidRebuildTime OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID device (controller) rebuild time remaining."
	::= { storageRaidEntry 13 }


storageRaidDeviceState OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID device (controller) state.  Possible values are: normal, rebuilding, degraded"
	::= { storageRaidEntry 90 }


storageRaidDeviceStatus OBJECT-TYPE
	SYNTAX INTEGER {
	pass(1),
	fail(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID device (Controller) status."
	::= { storageRaidEntry 91 }


storageRaidDeviceRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	ACCESS read-only
	STATUS obsolete
	DESCRIPTION "The table row status. Obsolete in SAN/iQ 8.5."
	::= { storageRaidEntry 99 }


storageRaidDescription OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A description of the RAID configuration."
	::= { lhnNsmStorage 5 }


storageRaidMode OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID mode."
	::= { lhnNsmStorage 7 }


storageRaidCapacity OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The capacity available for SAN storage."
	::= { lhnNsmStorage 8 }


storageRaidStatus OBJECT-TYPE
	SYNTAX INTEGER {
	pass(1),
	fail(2)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The RAID status."
	::= { lhnNsmStorage 11 }


storageRaidState OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The system RAID state. Possible values are: normal, rebuilding, degraded"
	::= { lhnNsmStorage 12 }


storageRaidMinimumSpeed OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The minimum RAID rebuild speed."
	::= { lhnNsmStorage 13 }


storageRaidMaximumSpeed OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The maximum RAID rebuild speed."
	::= { lhnNsmStorage 14 }


storageRaidParityInitState OBJECT-TYPE
	SYNTAX INTEGER {
	complete(1),
	inProgress(2),
	notApplicable(3)
	}
	ACCESS read-only
	STATUS obsolete
	DESCRIPTION "The RAID parity initilization status. Obsolete in SAN/iQ 8.5. Replaced with storageRaidDeviceParityInitState."
	::= { lhnNsmStorage 15 }


storageRaidStatsIOsRead OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A counter of IO read operations on the NSM."
	::= { lhnNsmStorage 16 }


storageRaidStatsIOsWrite OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A counter of IO write operations on the NSM."
	::= { lhnNsmStorage 17 }


storageRaidStatsKbytesRead OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of kB read from the NSM."
	::= { lhnNsmStorage 19 }


storageRaidStatsKbytesWrite OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of kB written to the NSM."
	::= { lhnNsmStorage 20 }


storageRaidStatsQDepthTotal OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of pending read and write operations on the NSM."
	::= { lhnNsmStorage 22 }


storageRaidStatsIoLatencyRead OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The total time spent waiting for read operations to complete on the NSM."
	::= { lhnNsmStorage 23 }


storageRaidStatsIoLatencyWrite OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The total time spent waiting for write operations to complete on the NSM."
	::= { lhnNsmStorage 24 }


storageOsRaidCount OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of OS RAID devices."
	::= { lhnNsmStorage 50 }


storageOsRaidTable OBJECT-TYPE
	SYNTAX SEQUENCE OF StorageOsRaidEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table of OS RAID devices in the system. The number of entries
is given by storageOsRaidCount."
	::= { lhnNsmStorage 51 }


storageOsRaidEntry OBJECT-TYPE
	SYNTAX StorageOsRaidEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A row of OS RAID device information."
	INDEX { storageOsRaidIndex  }

	::= { storageOsRaidTable 1 }

storageOsRaidEntry ::=
	SEQUENCE {
		storageOsRaidIndex Unsigned32,
		storageOsRaidName DisplayString,
		storageOsRaidDevice DisplayString,
		storageOsRaidMode DisplayString,
		storageOsRaidSize Integer32,
		storageOsRaidState DisplayString,
		storageOsRaidRowStatus RowStatus
		}

storageOsRaidIndex OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index for the storageOsRaidTable table."
	::= { storageOsRaidEntry 1 }


storageOsRaidName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The OS RAID name."
	::= { storageOsRaidEntry 2 }


storageOsRaidDevice OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The LUN for the OS RAID."
	::= { storageOsRaidEntry 3 }


storageOsRaidMode OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The OS RAID mode."
	::= { storageOsRaidEntry 4 }


storageOsRaidSize OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The OS RAID size."
	::= { storageOsRaidEntry 5 }


storageOsRaidState OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The OS RAID state."
	::= { storageOsRaidEntry 90 }


storageOsRaidRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	ACCESS read-only
	STATUS obsolete
	DESCRIPTION "The table row status. Obsolete in SAN/iQ 8.5."
	::= { storageOsRaidEntry 99 }


END

