-- ****************************************************************************
-- LEFTHAND-NETWORKS-NSM-CLUSTERING-MIB
-- Management Information Base for SNMP Network Management
--
-- This MIB provides information about the cluster the node is in.
-- The information in this MIB will be the same for all nodes in the cluster.
-- Any node running SAN/iQ 8.5 or later can provide this information.
-- Nodes running SAN/iQ 8.1 or earlier must be running a manager to use this MIB.
--
-- This MIB must be loaded after:
--                                LEFTHAND-NETWORKS-GLOBAL-REG-MIB.mib
--                                LEFTHAND-NETWORKS-NSM-MIB.mib
--
-- The LeftHand Networks Enterprise number is 9804.
-- The ASN.1 prefix to, and including the LeftHand Networks Enterprise is:
--     1.3.6.1.4.1.9804
-- ****************************************************************************
-- Copyright 2009,2010 Hewlett-Packard Development Company, L.P.
-- Copyright 2008,2009 LeftHand Networks, Inc.
-- All Rights Reserved.
--
-- Hewlett-Packard Company shall not be liable for technical or
-- editorial errors or omissions contained herein. The information in
-- this document is provided "as is" without warranty of any kind and
-- is subject to change without notice. The warranties for HP products
-- are set forth in the express limited warranty statements
-- accompanying such products. Nothing herein should be construed as
-- constituting an additional warranty.
--
-- Confidential computer software. Valid license from HP required for
-- possession, use or copying. Consistent with FAR 12.211 and 12.212,
-- Commercial Computer Software, Computer Software Documentation, and
-- Technical Data for Commercial Items are licensed to the U.S.
-- Government under vendor's standard commercial license.
-- ****************************************************************************

-- ****************************************************************************
-- Objects marked as deprecated may no longer exist.  They were removed in the
-- SAN/iQ version indicated in the description of the object but may still
-- be used if the storage module is part of a management group running an
-- older version of SAN/IQ.
-- ****************************************************************************

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

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, Gauge32, Counter64, IpAddress
		FROM SNMPv2-SMI
	TEXTUAL-CONVENTION, DisplayString, RowStatus, TruthValue, DateAndTime
		FROM SNMPv2-TC
	OBJECT-GROUP, MODULE-COMPLIANCE
		FROM SNMPv2-CONF
	CounterBasedGauge64
		FROM HCNUM-TC
	lhnModules, lhnNsm
		FROM LEFTHAND-NETWORKS-GLOBAL-REG-MIB
	lhnNsmClustering
		FROM LEFTHAND-NETWORKS-NSM-MIB;

-- lhnNsm is imported but never used, this will create a smilint warning
-- however, it's necessary for some MIB compilers

--
-- Module definition and a brief description of this mib.
--
lhnNsmClusteringModule MODULE-IDENTITY
    LAST-UPDATED        "201311130000Z"
    ORGANIZATION        "Hewlett Packard Company, Storage Division"
    CONTACT-INFO        "Product Support
                         Product URL: www.hp.com/go/p4000
                         Support URL: www.itrc.hp.com
                         Product Phone: www.hp.com/go/contact
                                        1-800-786-7967 (US only)
                         Support Phone: www.hp.com/go/contact
                                        1-800-334-5144 (US only)"
    DESCRIPTION         "HP StorageWorks P4000 Cluster Information"

    REVISION            "201311130000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5, SAN/iQ 9.0, SAN/iQ 9.5, SAN/iQ 10.0, SAN/iQ 10.5, SAN/iQ 11.0, SAN/iQ 11.5
						Added:
							clusVolumeSnapshotIsDeleting
							clusVolumeSnapshotIsAvailable
							clusVolumeSnapshotLunIsAvailable
							clusVolumeSnapshotReplicationState
							clusVolumeSnapshotResyncPercent
							clusVolumeSnapshotRestripePending
							clusVolumeSnapshotIsMigrating
							clusVolumeSnapshotMigrationPercent
						Added to Obsolete Section:
							clusVolumeAccessType
							clusVolumeSnapshotAccessType"
						
    REVISION            "201306270000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5, SAN/iQ 9.0, SAN/iQ 9.5, SAN/iQ 10.0, SAN/iQ 10.5, SAN/iQ 11.0
						Added:
							clusVolumeIsDeleting
							clusVolumeIsAvailable
							clusVolumeLunIsAvailable
							clusVolumeReplicationState
							clusVolumeResyncPercent
							clusVolumeRestripePending
							clusVolumeIsMigrating
							clusVolumeMigrationPercent
						Modified the Description:
							clusSiteFailoverManager - Display the IP address."

    REVISION            "201209040000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5, SAN/iQ 9.0, SAN/iQ 9.5, SAN/iQ 10.0"

    REVISION            "201106210000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5, SAN/iQ 9.0, SAN/iQ 9.5
						Renamed to reflect correct units:
							clusClusterStatsKbytesRead to clusClusterStatsBytesRead
							clusClusterStatsKbytesWrite to clusClusterStatsBytesWrite
							clusVolumeStatsKbytesRead to clusVolumeStatsBytesRead
							clusVolumeStatsKbytesWrite to clusVolumeStatsBytesWrite
							clusVolumeInitiatorStatsKbytesRead to clusVolumeInitiatorStatsBytesRead
							clusVolumeInitiatorStatsKbytesWrite to clusVolumeInitiatorStatsBytesWrite
							clusVolumeSnapshotStatsKbytesRead to clusVolumeSnapshotStatsBytesRead
							clusVolumeSnapshotStatsKbytesWrite to clusVolumeSnapshotStatsBytesWrite
							clusVolumeSnapshotInitiatorStatsKbytesRead to clusVolumeSnapshotInitiatorStatsBytesRead
							clusVolumeSnapshotInitiatorStatsKbytesWrite to clusVolumeSnapshotInitiatorStatsBytesWrite"

    REVISION            "201009070000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5, SAN/iQ 9.0"

    REVISION            "201007190000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5 with patch 10076
						Added:
						Deprecated:
							clusModuleDescription
							clusMgmtGroupDescription
							clusClusterHotSpareTimeout
							clusClusterModuleIsHotSpare
							clusVolumeAutoGrowPages
							clusVolumeSoftThreshold
							clusVolumeHardThreshold
							clusVolumeIsSoftThresholdExceeded
							clusVolumeIsHardThresholdExceeded
							clusVolumeFriendlyName
							clusSnapshotScheduleSoftThreshold
							clusSnapshotScheduleHardThreshold
							clusVolumeSnapshotSoftThreshold
							clusVolumeSnapshotHardThreshold
							clusVolumeSnapshotIsSoftThresholdExceeded
							clusVolumeSnapshotIsHardThresholdExceeded
							clusModuleStatsIOsRead
							clusModuleStatsIOsWrite
							clusModuleStatsKbytesRead
							clusModuleStatsKbytesWrite
							clusModuleStatsQDepthTotal
							clusModuleStatsIoLatencyRead
							clusModuleStatsIoLatencyWrite
							clusClusterISCSIVirtualIPRoute
						Obsolete:
							clusManagerRowStatus
							clusModuleRowStatus
							clusClusterRowStatus
							clusClusterModuleRowStatus
							clusClusterISNSRowStatus
							clusClusterISCSIVirtualIPRowStatus
							clusVolumeRowStatus
							clusVolumeACLRowStatus
							clusVolumeInitiatorRowStatus
							clusClusterVolumeRowStatus
							clusVolumeSnapshotRowStatus
							clusVolumeSnapshotACLRowStatus
							clusVolumeSnapshotInitiatorRowStatus
							clusUnicastHostRowStatus
							clusSnapshotScheduleRowStatus
							clusSiteRowStatus
							clusSiteModuleRowStatus
						Changed all objects that used the 'OCTET STRING' syntax to use the 'DisplayString' syntax for increased client compatability.
						Changed some objects to use 'Counter32' syntax to use the 'Gauge32' syntax for technical correctness.
						Renamed some objects to have a consistent use of 'Status' and 'State'
						Renamed some objects to use terminology consistent with the Centralized Management Console."

    REVISION            "200911200000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1, SAN/iQ 8.5
						Obsoleted:
							clusModuleStatsIOsRead
							clusModuleStatsIOsWrite
							clusModuleStatsKbytesRead
							clusModuleStatsKbytesWrite
							clusModuleStatsQDepthTotal
							clusModuleStatsIoLatencyRead
							clusModuleStatsIoLatencyWrite"

    REVISION            "200903100000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0, SAN/iQ 8.1"

    REVISION            "200801240000Z"
    DESCRIPTION         "SAN/iQ 7.0, SAN/iQ 8.0
						Added:
							clusModuleStatsIOsRead
							clusModuleStatsIOsWrite
							clusModuleStatsKbytesRead
							clusModuleStatsKbytesWrite
							clusModuleStatsQDepthTotal
							clusModuleStatsIoLatencyRead
							clusModuleStatsIoLatencyWrite
							clusModuleStatsStoreLatencyTotal
							clusModuleRowStatus
							clusClusterStatsIOsRead
							clusClusterStatsIOsWrite
							clusClusterStatsKbytesRead
							clusClusterStatsKbytesWrite
							clusClusterStatsQDepthRead
							clusClusterStatsQDepthWrite
							clusClusterStatsIoLatencyRead
							clusClusterStatsIoLatencyWrite
							clusClusterStatsCacheHits
							clusVolumeStatsIOsRead
							clusVolumeStatsIOsWrite
							clusVolumeStatsKbytesRead
							clusVolumeStatsKbytesWrite
							clusVolumeStatsQDepthRead
							clusVolumeStatsQDepthWrite
							clusVolumeStatsIoLatencyRead
							clusVolumeStatsIoLatencyWrite
							clusVolumeStatsCacheHits
							clusVolumeInitiatorStatsIOsRead
							clusVolumeInitiatorStatsIOsWrite
							clusVolumeInitiatorStatsKbytesRead
							clusVolumeInitiatorStatsKbytesWrite
							clusVolumeInitiatorStatsQDepthRead
							clusVolumeInitiatorStatsQDepthWrite
							clusVolumeInitiatorStatsIoLatencyRead
							clusVolumeInitiatorStatsIoLatencyWrite
							clusVolumeInitiatorStatsCacheHits
							clusVolumeSnapshotStatsIOsRead
							clusVolumeSnapshotStatsIOsWrite
							clusVolumeSnapshotStatsKbytesRead
							clusVolumeSnapshotStatsKbytesWrite
							clusVolumeSnapshotStatsQDepthRead
							clusVolumeSnapshotStatsQDepthWrite
							clusVolumeSnapshotStatsIoLatencyRead
							clusVolumeSnapshotStatsIoLatencyWrite
							clusVolumeSnapshotStatsCacheHits
							clusVolumeSnapshotRowStatus
							clusVolumeSnapshotInitiatorStatsIOsRead
							clusVolumeSnapshotInitiatorStatsIOsWrite
							clusVolumeSnapshotInitiatorStatsKbytesRead
							clusVolumeSnapshotInitiatorStatsKbytesWrite
							clusVolumeSnapshotInitiatorStatsQDepthRead
							clusVolumeSnapshotInitiatorStatsQDepthWrite
							clusVolumeSnapshotInitiatorStatsIoLatencyRead
							clusVolumeSnapshotInitiatorStatsIoLatencyWrite
							clusVolumeSnapshotInitiatorStatsCacheHits
							clusServerVolumeACLVolume
							clusServerVolumeACLPermissions
							clusServerVolumeACLRowStatus
						Obsoleted:
							clusVolumeACLFibreChannelLUN
							clusVolumeSnapshotACLFibreChannelLUN
							clusVolumeListCount
							clusVolumeListName
							clusVolumeListDescription
							clusVolumeListAuthGroupCount
							clusVolumeListVolumeACLCount
							clusVolumeListRowStatus
							clusVolumeListVolumeACLVolume
							clusVolumeListVolumeACLPermissions
							clusVolumeListVolumeACLFibreChannelLUN
							clusVolumeListVolumeACLRowStatus
							clusVolumeListAuthGroupName
                        Updated object names to use current product branding.
                        Added conformance and compliance objects.
                        Updated the MIB for increased client compatability."

	::= { lhnModules 12 }

--******************************************************************************
--
-- Textual Conventions
--
--******************************************************************************

ClusPermissionBits ::= TEXTUAL-CONVENTION
	STATUS          current
	DESCRIPTION     "Bit field for ACL permissions."
	SYNTAX          BITS { read(0), write(1), exclusive(2) }

ClusFeatureBits ::= TEXTUAL-CONVENTION
	STATUS          current
	DESCRIPTION     "Bit field for features."
	SYNTAX          BITS { multiNodeVirtualizationAndClustering(0), managedSnapshot(1), remoteCopy(2), manualSnapshot(3), multiSiteSan(4) }
	
ClusCreatorTypes ::= TEXTUAL-CONVENTION
	STATUS          current
	DESCRIPTION     "Volume creators.
					unknown: The creator is unknown.
					gui: A person using the HP P4000 Centralized Management Console
					script: An old scripting interface. (deprecated)
					text: An old internal interface. (deprecated)
					api: A Windows Application such as VSS.
					gateway: An internal iSCSI gateway for internal volumes/snapshots."
	SYNTAX          INTEGER { unknown(0), manager(1), gui(2), script(3), text(4), api(5), gateway(6) }

ClusReplicationStatus ::= TEXTUAL-CONVENTION
	STATUS          current
	DESCRIPTION     "Volume replication status."
	SYNTAX          INTEGER { normal(1), faulty(2) }

--******************************************************************************
--
-- Conformance
--
--******************************************************************************

lhnNsmClusteringModuleConformance OBJECT IDENTIFIER
	::= { lhnNsmClusteringModule 1 }

lhnNsmClusteringModuleCompliances OBJECT IDENTIFIER
	::= { lhnNsmClusteringModuleConformance 1 }

lhnNsmClusteringModuleGroups OBJECT IDENTIFIER
	::= { lhnNsmClusteringModuleConformance 2 }

lefthandNetworksNsmClusteringMibCompliance MODULE-COMPLIANCE
	STATUS current
	DESCRIPTION "The compliance statement."
	MODULE
	MANDATORY-GROUPS {
			lefthandNetworksNsmClusteringGroup
		}
	::= { lhnNsmClusteringModuleCompliances 1 }

lefthandNetworksNsmClusteringGroup OBJECT-GROUP
	OBJECTS {           
					clusMgmtGroupName,
					clusMgmtGroupIsEnabled,
					clusMgmtGroupQuorum,
					clusMgmtGroupActiveManagerCount,
					clusMgmtGroupManagerCount,
					clusMgmtGroupLicenseTimeRemaining,
					clusModuleCount,
					clusClusterCount,
					clusVolumeCount,
					clusServerCount,
					clusCommunicationMode,
					clusUnicastHostCount,
					clusSnapshotScheduleCount,
					clusMgmtGroupSiteCount,
					clusManagerName,
					clusManagerVersion,
					clusManagerHostSerialNo,
					clusManagerStatus,
					clusManagerIsVirtual,
					clusManagerIsFailover,
					clusModuleName,
					clusModuleVersion,
					clusModuleSerialNo,
					clusModuleUsableSpace,
					clusModuleAvailableSpace,
					clusModuleIsManager,
					clusModuleRaidConfiguration,
					clusModuleStorageState,
					clusModuleStorageStatus,
                    clusModuleStorageIsReady,
					clusModuleCreationTime,
					clusModuleClusterName,
					clusModuleEnabledFeatures,
					clusModuleFeatureKey,
					clusModuleStorageCondition,
					clusModuleStatsStoreLatencyTotal,
					clusModuleProvisionedSpace,
					clusModuleUsedSpace,
					clusClusterName,
					clusClusterModuleCount,
					clusClusterVolumeCount,
					clusClusterDescription,
					clusClusterISNSCount,
					clusClusterISCSIVirtualIPCount,
					clusClusterISCSIVirtualIPEnabled,
					clusClusterAvailableSpace,
					clusClusterStatsIOsRead,
					clusClusterStatsIOsWrite,
					clusClusterStatsBytesRead,
					clusClusterStatsBytesWrite,
					clusClusterStatsQDepthRead,
					clusClusterStatsQDepthWrite,
					clusClusterStatsIoLatencyRead,
					clusClusterStatsIoLatencyWrite,
					clusClusterStatsCacheHits,
				    clusClusterTotalSpace,
				    clusClusterProvisionedSpace,
				    clusClusterUsedSpace,
				    clusClusterUtilization,
					clusClusterModuleName,
					clusClusterModuleSerialNo,
					clusClusterISNSHost,
					clusClusterISCSIVirtualIPAddress,
					clusClusterISCSIVirtualIPMask,
					clusVolumeName,
					clusVolumeCreationTime,
					clusVolumeDescription,
					clusVolumeSize,
					clusVolumeReplicaCount,
					clusVolumeSnapshotCount,
					clusVolumeACLCount,
					clusVolumeClusterName,
					clusVolumeReplicationStatus,
					clusVolumeIsRemoteSnapshot,
					clusVolumeRemoteSnapshotFailureMessage,
					clusVolumeMinimumReplication,
					clusVolumeCreator,
					clusVolumeIscsiIqn,
					clusVolumeInitiatorCount,
					clusVolumeUsedSpace,
					clusVolumeClusterUsedPercent,
					clusVolumeProvisionedSpace,
					clusVolumeIsThinProvisioned,
					clusVolumeStatsIOsRead,
					clusVolumeStatsIOsWrite,
					clusVolumeStatsBytesRead,
					clusVolumeStatsBytesWrite,
					clusVolumeStatsQDepthRead,
					clusVolumeStatsQDepthWrite,
					clusVolumeStatsIoLatencyRead,
					clusVolumeStatsIoLatencyWrite,
					clusVolumeStatsCacheHits,
					clusVolumeAutoGrowSecondsDefault,
					clusVolumeAutoGrowSeconds,
					clusVolumeType,
					clusVolumeDataProtectionLevel,
					clusVolumePBNRStripes,
					clusVolumePBNRParity,
					clusVolumeAvailableSpace,
					clusVolumeUsedPercent,
					clusVolumeIsFull,
					clusVolumeIsDeleting,
					clusVolumeIsAvailable,
					clusVolumeLunIsAvailable,
					clusVolumeReplicationState,
					clusVolumeResyncPercent,
					clusVolumeRestripePending,
					clusVolumeIsMigrating,
					clusVolumeMigrationPercent,
					clusVolumeACLServer,
					clusVolumeACLPermissions,
					clusVolumeInitiatorIqn,
					clusVolumeInitiatorAddress,
					clusVolumeInitiatorPort,
					clusVolumeInitiatorStatus,
					clusVolumeInitiatorStatsIOsRead,
					clusVolumeInitiatorStatsIOsWrite,
					clusVolumeInitiatorStatsBytesRead,
					clusVolumeInitiatorStatsBytesWrite,
					clusVolumeInitiatorStatsQDepthRead,
					clusVolumeInitiatorStatsQDepthWrite,
					clusVolumeInitiatorStatsIoLatencyRead,
					clusVolumeInitiatorStatsIoLatencyWrite,
					clusVolumeInitiatorStatsCacheHits,
					clusVolumeInitiatorState,
					clusClusterVolumeName,
					clusVolumeSnapshotName,
					clusVolumeSnapshotCreationTime,
					clusVolumeSnapshotDescription,
					clusVolumeSnapshotSize,
					clusVolumeSnapshotACLCount,
					clusVolumeSnapshotScheduleName,
					clusVolumeSnapshotReplicationStatus,
					clusVolumeSnapshotType,
					clusVolumeSnapshotCopyProgress,
					clusVolumeSnapshotCreator,
					clusVolumeSnapshotIscsiIqn,
					clusVolumeSnapshotFriendlyName,
					clusVolumeSnapshotOriginalVolume,
					clusVolumeSnapshotOriginalMgmtGroup,
					clusVolumeSnapshotInitiatorCount,
					clusVolumeSnapshotUsedSpace,
					clusVolumeSnapshotWritableProvisionedSpace,
					clusVolumeSnapshotClusterUsedPercent,
					clusVolumeSnapshotProvisionedSpace,
					clusVolumeSnapshotStatsIOsRead,
					clusVolumeSnapshotStatsIOsWrite,
					clusVolumeSnapshotStatsBytesRead,
					clusVolumeSnapshotStatsBytesWrite,
					clusVolumeSnapshotStatsQDepthRead,
					clusVolumeSnapshotStatsQDepthWrite,
					clusVolumeSnapshotStatsIoLatencyRead,
					clusVolumeSnapshotStatsIoLatencyWrite,
					clusVolumeSnapshotStatsCacheHits,
					clusVolumeSnapshotIsDeleting,
					clusVolumeSnapshotIsAvailable,
					clusVolumeSnapshotLunIsAvailable,
					clusVolumeSnapshotReplicationState,
					clusVolumeSnapshotResyncPercent,
					clusVolumeSnapshotRestripePending,
					clusVolumeSnapshotIsMigrating,
					clusVolumeSnapshotMigrationPercent,
					clusVolumeSnapshotInitiatorStatus,
					clusVolumeSnapshotACLServer,
					clusVolumeSnapshotACLPermissions,
					clusVolumeSnapshotInitiatorIqn,
					clusVolumeSnapshotInitiatorAddress,
					clusVolumeSnapshotInitiatorPort,
					clusVolumeSnapshotInitiatorStatsIOsRead,
					clusVolumeSnapshotInitiatorStatsIOsWrite,
					clusVolumeSnapshotInitiatorStatsBytesRead,
					clusVolumeSnapshotInitiatorStatsBytesWrite,
					clusVolumeSnapshotInitiatorStatsQDepthRead,
					clusVolumeSnapshotInitiatorStatsQDepthWrite,
					clusVolumeSnapshotInitiatorStatsIoLatencyRead,
					clusVolumeSnapshotInitiatorStatsIoLatencyWrite,
					clusVolumeSnapshotInitiatorStatsCacheHits,
					clusVolumeSnapshotInitiatorState,
					clusUnicastHostName,
					clusSnapshotScheduleName,
					clusSnapshotScheduleDescription,
					clusSnapshotScheduleFirstCreationTime,
					clusSnapshotScheduleFrequency,
					clusSnapshotScheduleVolumeName,
					clusSnapshotScheduleRetainType,
					clusSnapshotScheduleRetainCount,
					clusSnapshotScheduleRetainTime,
					clusSnapshotScheduleType,
					clusSnapshotScheduleFailureMessage,
					clusSiteName,
					clusSiteDescription,
					clusSiteIsPrimary,
					clusSiteFailoverManager,
					clusSiteModuleCount,
					clusSiteModuleName,
					clusServerName,
					clusServerDescription,
					clusServerIscsiEnabled,
					clusServerIscsiChapAuthRequired,
					clusServerIscsiInitiatorCount,
					clusServerVolumeACLCount,
					clusServerIscsiInitiatorIqn,
					clusServerIscsiInitiatorChapName,
					clusServerVolumeACLVolume,
					clusServerVolumeACLPermissions
			}
	STATUS              current
	DESCRIPTION         "The default group for all NSM Clustering objects."
	::= { lhnNsmClusteringModuleGroups 1 }

lefthandNetworksNsmClusteringGroupObsolete OBJECT-GROUP
    OBJECTS {
					clusModuleDescription,
					clusMgmtGroupDescription,
					clusClusterHotSpareTimeout,
					clusClusterModuleIsHotSpare,
					clusVolumeAutoGrowPages,
					clusVolumeSoftThreshold,
					clusVolumeHardThreshold,
					clusVolumeIsSoftThresholdExceeded,
					clusVolumeIsHardThresholdExceeded,
					clusVolumeFriendlyName,
					clusSnapshotScheduleSoftThreshold,
					clusSnapshotScheduleHardThreshold,
					clusVolumeSnapshotSoftThreshold,
					clusVolumeSnapshotHardThreshold,
					clusVolumeSnapshotIsSoftThresholdExceeded,
					clusVolumeSnapshotIsHardThresholdExceeded,
					clusManagerRowStatus,
					clusModuleStatsIOsRead,
					clusModuleStatsIOsWrite,
					clusModuleStatsKbytesRead,
					clusModuleStatsKbytesWrite,
					clusModuleStatsQDepthTotal,
					clusModuleStatsIoLatencyRead,
					clusModuleStatsIoLatencyWrite,
					clusModuleRowStatus,
					clusClusterRowStatus,
					clusClusterModuleRowStatus,
					clusClusterISNSRowStatus,
					clusClusterISCSIVirtualIPRoute,
					clusClusterISCSIVirtualIPRowStatus,
					clusVolumeRowStatus,
					clusVolumeACLRowStatus,
					clusVolumeInitiatorRowStatus,
					clusClusterVolumeRowStatus,
					clusVolumeSnapshotRowStatus,
					clusVolumeSnapshotACLRowStatus,
					clusVolumeSnapshotInitiatorRowStatus,
					clusUnicastHostRowStatus,
					clusSnapshotScheduleRowStatus,
					clusSiteRowStatus,
					clusSiteModuleRowStatus,
					clusServerRowStatus,
					clusServerSubnetAddress,
					clusServerSubnetMask,
					clusServerSubnetRowStatus,
					clusServerIscsiInitiatorRowStatus,
					clusServerVolumeACLRowStatus,
					clusVolumeAccessType,
					clusVolumeSnapshotAccessType
            }
    STATUS              obsolete
    DESCRIPTION         "The group for all obsolete and deprecated NSM Cluster objects."
    ::= { lhnNsmClusteringModuleGroups 2 }

--******************************************************************************
--
-- Clustering Module Group Objects
--
--******************************************************************************

clusMgmtGroupName OBJECT-TYPE
	SYNTAX         DisplayString
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "Management group name."
	::= { lhnNsmClustering 1 }

clusMgmtGroupIsEnabled OBJECT-TYPE
	SYNTAX         TruthValue
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "True if the storage module is in a management group, false otherwise."
	::= { lhnNsmClustering 2 }

clusMgmtGroupQuorum OBJECT-TYPE
	SYNTAX         Integer32
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "Minimum number of managers required to management group quorum and functionality."
	::= { lhnNsmClustering 3 }

clusMgmtGroupDescription OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      obsolete
	DESCRIPTION "Management group description."
	::= { lhnNsmClustering 4 }

clusMgmtGroupActiveManagerCount OBJECT-TYPE
	SYNTAX         Integer32
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "Number of active managers in the management group."
	::= { lhnNsmClustering 5 }

clusMgmtGroupManagerCount OBJECT-TYPE
	SYNTAX         Integer32
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "Number of managers in the management group."
	::= { lhnNsmClustering 6 }

clusMgmtGroupLicenseTimeRemaining OBJECT-TYPE
	SYNTAX      DisplayString
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION "The time remaining before the feature license expires."
	::= { lhnNsmClustering 43 }

--******************************************************************************
--
-- Clustering Manager Objects
--
--   Includes a table of all the managers that are part of the
--   Management Group
--
--******************************************************************************

clusManagerTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusManagerEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of managers in the cluster.
				The number of entries is given by clusMgmtGroupManagerCount."
	::= { lhnNsmClustering 44 }

	clusManagerEntry OBJECT-TYPE
		SYNTAX      ClusManagerEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of manager information."
		INDEX { clusManagerIndex }
		::= { clusManagerTable 1 }

		ClusManagerEntry ::= SEQUENCE
		{
		   clusManagerIndex           Unsigned32,
		   clusManagerName            DisplayString,
		   clusManagerVersion         DisplayString,
		   clusManagerHostSerialNo    DisplayString,
		   clusManagerStatus          INTEGER,
		   clusManagerIsVirtual       TruthValue,
		   clusManagerIsFailover      TruthValue,
		   clusManagerRowStatus       RowStatus
		}

		clusManagerIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusManagerTable table."
			::= { clusManagerEntry 1 }

		clusManagerName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The manager name."
			::= { clusManagerEntry 2 }

		clusManagerVersion OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The manager version."
			::= { clusManagerEntry 3 }

		clusManagerHostSerialNo OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The manager serial number."
			::= { clusManagerEntry 4 }

		clusManagerStatus OBJECT-TYPE
			SYNTAX      INTEGER { up(1), down(2) }
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The manager status."
			::= { clusManagerEntry 5 }

		clusManagerIsVirtual OBJECT-TYPE
			SYNTAX      TruthValue
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "True if manager is virtual, false otherwise."
			::= { clusManagerEntry 7 }

		clusManagerIsFailover OBJECT-TYPE
			SYNTAX      TruthValue
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "True if manager is a failover manager, false otherwise."
			::= { clusManagerEntry 9 }

		clusManagerRowStatus OBJECT-TYPE
			SYNTAX         RowStatus
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "Table row status. Obsolete in SAN/iQ 8.5."
			::= { clusManagerEntry 10 }

--******************************************************************************
--
-- Clustering Module Objects
--
--   Includes the count of modules (storage modules) and a table describing
--   these modules from the clustering point of view.
--******************************************************************************

clusModuleCount OBJECT-TYPE
	SYNTAX         Integer32
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "The number of storage systems in the cluster."
	::= { lhnNsmClustering 45 }

clusModuleTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusModuleEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of storage systems in the cluster.
				The number of entries is given by clusModuleCount."
	::= { lhnNsmClustering 46 }

	clusModuleEntry OBJECT-TYPE
		SYNTAX      ClusModuleEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of storage system information."
		INDEX { clusModuleIndex }
		::= { clusModuleTable 1 }

		ClusModuleEntry ::= SEQUENCE
		{
			clusModuleIndex							Unsigned32,
			clusModuleName							DisplayString,
			clusModuleVersion						DisplayString,
			clusModuleSerialNo						DisplayString,
			clusModuleUsableSpace					CounterBasedGauge64,
			clusModuleAvailableSpace				CounterBasedGauge64,
			clusModuleIsManager						TruthValue,
			clusModuleRaidConfiguration				DisplayString,
			clusModuleStorageState					DisplayString,
			clusModuleStorageStatus					INTEGER,
			clusModuleStorageIsReady				TruthValue,
			clusModuleCreationTime					DateAndTime,
			clusModuleDescription					DisplayString,
			clusModuleClusterName					DisplayString,
			clusModuleEnabledFeatures				ClusFeatureBits,
			clusModuleFeatureKey					DisplayString,
			clusModuleStorageCondition				INTEGER,
			clusModuleStatsIOsRead					Counter64,
			clusModuleStatsIOsWrite					Counter64,
			clusModuleStatsKbytesRead				Counter64,
			clusModuleStatsKbytesWrite				Counter64,
			clusModuleStatsQDepthTotal				Gauge32,
			clusModuleStatsIoLatencyRead			Counter64,
			clusModuleStatsIoLatencyWrite			Counter64,
			clusModuleStatsStoreLatencyTotal		Counter64,
			clusModuleProvisionedSpace				CounterBasedGauge64,
			clusModuleUsedSpace						CounterBasedGauge64,
			clusModuleRowStatus						RowStatus
		}

		clusModuleIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusModuleTable table."
			::= { clusModuleEntry 1 }

		clusModuleName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The storage system hostname."
			::= { clusModuleEntry 2 }

		clusModuleVersion OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The storage system SAN/iQ version."
			::= { clusModuleEntry 3 }

		clusModuleSerialNo OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The storage system serial number."
			::= { clusModuleEntry 4 }

		clusModuleUsableSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total space available for data storage on the storage module."
			::= { clusModuleEntry 5 }

		clusModuleAvailableSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The current space available for data storage on the storage module."
			::= { clusModuleEntry 6 }

		clusModuleIsManager OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if storage system is a manager, false otherwise."
			::= { clusModuleEntry 7 }

		clusModuleRaidConfiguration OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The storage system RAID configuration."
			::= { clusModuleEntry 8 }

		clusModuleStorageState OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The state of the storage system storage server in the cluster. Use 'storageRaidState' to check the state of the RAID device(s)."
			::= { clusModuleEntry 9 }

		clusModuleStorageStatus OBJECT-TYPE
			SYNTAX         INTEGER { up(1), down(2) }
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The storage system storage server status."
			::= { clusModuleEntry 10 }

		clusModuleStorageIsReady OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the storage in a module is ready, false otherwise."
			::= { clusModuleEntry 11 }

		clusModuleCreationTime OBJECT-TYPE
			SYNTAX         DateAndTime
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The date and time when the storage module was added to the cluster."
			::= { clusModuleEntry 12 }

		clusModuleDescription OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      obsolete
			DESCRIPTION "The storage module description."
			::= { clusModuleEntry 13 }

		clusModuleClusterName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The name of the cluster the storage module is in.  Empty if the storage module is not in a cluster."
			::= { clusModuleEntry 14 }

		clusModuleEnabledFeatures OBJECT-TYPE
			SYNTAX         ClusFeatureBits
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The set of features that are enabled."
			::= { clusModuleEntry 16 }

		clusModuleFeatureKey OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The feature key."
			::= { clusModuleEntry 17 }

		clusModuleStorageCondition OBJECT-TYPE
			SYNTAX         INTEGER { notReady(1), inoperable(2), overloaded(3), ready(4) }
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The state of the storage on the storage module."
			::= { clusModuleEntry 19 }

        clusModuleStatsIOsRead OBJECT-TYPE
            SYNTAX         Counter64
            UNITS          "operations"
            MAX-ACCESS     read-only
            STATUS         obsolete
            DESCRIPTION    "Obsolete, use storageRaidStatsIOsRead"
            ::= { clusModuleEntry 20 }

        clusModuleStatsIOsWrite OBJECT-TYPE
            SYNTAX         Counter64
            UNITS          "operations"
            MAX-ACCESS     read-only
            STATUS         obsolete
            DESCRIPTION    "Obsolete, use storageRaidStatsIOsWrite"
            ::= { clusModuleEntry 21 }

        clusModuleStatsKbytesRead OBJECT-TYPE
            SYNTAX         Counter64
            UNITS          "Kbytes"
            MAX-ACCESS     read-only
            STATUS         obsolete
            DESCRIPTION    "Obsolete, use storageRaidStatsKbytesRead"
            ::= { clusModuleEntry 22 }

        clusModuleStatsKbytesWrite OBJECT-TYPE
            SYNTAX         Counter64
            UNITS          "Kbytes"
            MAX-ACCESS     read-only
            STATUS         obsolete
            DESCRIPTION    "Obsolete, use storageRaidStatsKbytesWrite"
            ::= { clusModuleEntry 23 }

        clusModuleStatsQDepthTotal OBJECT-TYPE
            SYNTAX         Gauge32
            UNITS          "operations"
            MAX-ACCESS     read-only
            STATUS         obsolete
            DESCRIPTION    "Obsolete, use storageRaidStatsQDepthTotal"
            ::= { clusModuleEntry 24 }

        clusModuleStatsIoLatencyRead OBJECT-TYPE
            SYNTAX         Counter64
            UNITS          "ms"
            MAX-ACCESS     read-only
            STATUS         obsolete
            DESCRIPTION    "Obsolete, use storageRaidStatsIoLatencyRead"
            ::= { clusModuleEntry 25 }

        clusModuleStatsIoLatencyWrite OBJECT-TYPE
            SYNTAX         Counter64
            UNITS          "ms"
            MAX-ACCESS     read-only
            STATUS         obsolete
            DESCRIPTION    "Obsolete, use storageRaidStatsIoLatencyWrite"
            ::= { clusModuleEntry 26 }

		clusModuleStatsStoreLatencyTotal OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for IO operations to complete on the storage module."
			::= { clusModuleEntry 27 }

		clusModuleProvisionedSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The amount of storage space that has been provisioned on the storage module."
			::= { clusModuleEntry 28 }

		clusModuleUsedSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The amount of storage space that has been used on the storage module."
			::= { clusModuleEntry 29 }

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

--******************************************************************************
--
-- Clustering Cluster Objects
--
--   Includes a count of clusters in the management group and a table
--   describing each cluster.
--
--******************************************************************************

clusClusterCount OBJECT-TYPE
	SYNTAX         Integer32
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "The number of clusters in the management group."
	::= { lhnNsmClustering 47 }

clusClusterTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusClusterEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of clusters in the management group.
				 The number of entries is given by clusClusterCount."
	::= { lhnNsmClustering 48 }

	clusClusterEntry OBJECT-TYPE
		SYNTAX      ClusClusterEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of cluster information."
		INDEX { clusClusterIndex }
		::= { clusClusterTable 1 }

		ClusClusterEntry ::= SEQUENCE
		{
		   clusClusterIndex                     Unsigned32,
		   clusClusterName                      DisplayString,
		   clusClusterModuleCount               Gauge32,
		   clusClusterVolumeCount               Gauge32,
		   clusClusterDescription               DisplayString,
		   clusClusterHotSpareTimeout           CounterBasedGauge64,
		   clusClusterISNSCount                 Gauge32,
		   clusClusterISCSIVirtualIPCount       Gauge32,
		   clusClusterISCSIVirtualIPEnabled     TruthValue,
		   clusClusterAvailableSpace            CounterBasedGauge64,
		   clusClusterStatsIOsRead				Counter64,
		   clusClusterStatsIOsWrite				Counter64,
		   clusClusterStatsBytesRead			Counter64,
		   clusClusterStatsBytesWrite			Counter64,
		   clusClusterStatsQDepthRead			Gauge32,
		   clusClusterStatsQDepthWrite			Gauge32,
		   clusClusterStatsIoLatencyRead		Counter64,
		   clusClusterStatsIoLatencyWrite		Counter64,
		   clusClusterStatsCacheHits			Counter64,
		   clusClusterTotalSpace				CounterBasedGauge64,
		   clusClusterProvisionedSpace			CounterBasedGauge64,
		   clusClusterUsedSpace					CounterBasedGauge64,
		   clusClusterUtilization				Gauge32,
		   clusClusterRowStatus                 RowStatus
		}

		clusClusterIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusClusterTable table."
			::= { clusClusterEntry 1 }

		clusClusterName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The cluster name."
			::= { clusClusterEntry 2 }

		clusClusterModuleCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of storage modules in the cluster."
			::= { clusClusterEntry 3 }

		clusClusterVolumeCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of volumes in the cluster."
			::= { clusClusterEntry 4 }

		clusClusterDescription OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "A description of the cluster."
			::= { clusClusterEntry 5 }

		clusClusterHotSpareTimeout OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "seconds"
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The number of seconds to wait before a hot spare takes over. Deprecated in SAN/iQ 7.0."
			::= { clusClusterEntry 7 }

		clusClusterISNSCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of iSNS entries for the cluster."
			::= { clusClusterEntry 8 }

		clusClusterISCSIVirtualIPCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of iSCSI Virtual IP entries for this cluster."
			::= { clusClusterEntry 15 }

		clusClusterISCSIVirtualIPEnabled OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the iSCSI Virtual IPs are enabled, false otherwise."
			::= { clusClusterEntry 16 }

		clusClusterAvailableSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "Space available to create volumes (assuming one replica) in the cluster. 
							Divide by the number of replicas to obtain the true number."
			::= { clusClusterEntry 17 }

		clusClusterStatsIOsRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A counter of IO read operations in the cluster."
			::= { clusClusterEntry 20 }

		clusClusterStatsIOsWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A counter of IO write operations in the cluster."
			::= { clusClusterEntry 21 }

		clusClusterStatsBytesRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "B"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of bytes read from the cluster."
			::= { clusClusterEntry 22 }

		clusClusterStatsBytesWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "B"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of bytes written to the cluster."
			::= { clusClusterEntry 23 }

		clusClusterStatsQDepthRead OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of pending read operations in the cluster."
			::= { clusClusterEntry 24 }

		clusClusterStatsQDepthWrite OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of pending write operations in the cluster."
			::= { clusClusterEntry 25 }

		clusClusterStatsIoLatencyRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for read operations to complete in the cluster."
			::= { clusClusterEntry 26 }

		clusClusterStatsIoLatencyWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for write operations to complete in the cluster."
			::= { clusClusterEntry 27 }

		clusClusterStatsCacheHits OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of read cache hits and read ahead hits in the cluster."
			::= { clusClusterEntry 28 }

		clusClusterTotalSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total space for data storage in the cluster."
			::= { clusClusterEntry 29 }

		clusClusterProvisionedSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The amount of storage space that has been provisioned in the cluster."
			::= { clusClusterEntry 30 }

		clusClusterUsedSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The amount of storage space that has been used in the cluster."
			::= { clusClusterEntry 31 }

		clusClusterUtilization OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "%"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The percentage of storage space that has been used in the cluster."
			::= { clusClusterEntry 32 }

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

--******************************************************************************
--
-- Clustering Cluster Module Objects
--
--   This table describes the relationship between clusters
--   and modules (storage modules).  For each cluster (described by the
--   clusClusterIndex) it lists each module belonging to it.
--
--******************************************************************************

clusClusterModuleTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusClusterModuleEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of modules for a cluster.
				The number of entries is given by clusClusterModuleCount."
	::= { lhnNsmClustering 49 }

	clusClusterModuleEntry OBJECT-TYPE
		SYNTAX      ClusClusterModuleEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of cluster storage modules."
		INDEX { clusClusterIndex, clusClusterModuleIndex }
		::= { clusClusterModuleTable 1 }

		ClusClusterModuleEntry ::= SEQUENCE
		{
		   clusClusterModuleIndex       Unsigned32,
		   clusClusterModuleName        DisplayString,
		   clusClusterModuleSerialNo    DisplayString,
		   clusClusterModuleIsHotSpare  TruthValue,
		   clusClusterModuleRowStatus   RowStatus
		}

		clusClusterModuleIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusClusterModuleTable table."
			::= { clusClusterModuleEntry 1 }

		clusClusterModuleName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The storage module name."
			::= { clusClusterModuleEntry 2 }

		clusClusterModuleSerialNo OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The storage module serial number."
			::= { clusClusterModuleEntry 3 }

		clusClusterModuleIsHotSpare OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "True if the storage module is a hot spare, false otherwise. Deprecated in SAN/iQ 7.0."
			::= { clusClusterModuleEntry 4 }

		clusClusterModuleRowStatus OBJECT-TYPE
			SYNTAX         RowStatus
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusClusterModuleEntry 5 }

--******************************************************************************
--
-- Clustering Cluster iSNS Objects
--
--   This table describes the relationship between clusters
--   and iSNS entries.  For each cluster (described by the
--   clusClusterIndex) it lists each iSNS server used by it.
--
--******************************************************************************

clusClusterISNSTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusClusterISNSEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of iSNS entries for a cluster.
				 The number of entries is given by clusClusterISNSCount."
	::= { lhnNsmClustering 50 }

	clusClusterISNSEntry OBJECT-TYPE
		SYNTAX      ClusClusterISNSEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of cluster iSNS servers."
		INDEX { clusClusterIndex, clusClusterISNSIndex }
		::= { clusClusterISNSTable 1 }

		ClusClusterISNSEntry ::= SEQUENCE
		{
		   clusClusterISNSIndex       Unsigned32,
		   clusClusterISNSHost        DisplayString,
		   clusClusterISNSRowStatus   RowStatus
		}

		clusClusterISNSIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusClusterISNSTable table."
			::= { clusClusterISNSEntry 1 }

		clusClusterISNSHost OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The name or IP address of the iSNS server."
			::= { clusClusterISNSEntry 2 }

		clusClusterISNSRowStatus OBJECT-TYPE
			SYNTAX         RowStatus
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusClusterISNSEntry 5 }

--******************************************************************************
--
-- Clustering Cluster Virtual IP Objects
--
--   This table describes the relationship between clusters
--   and Virtual IP.  For each cluster (described by the
--   clusClusterIndex) it lists each Virtual IP belonging to it.
--
--******************************************************************************

clusClusterISCSIVirtualIPTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusClusterISCSIVirtualIPEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of Virtual IPs for a cluster.
				 The number of entries is given by clusClusterISCSIVirtualIPCount."
	::= { lhnNsmClustering 95 }

	clusClusterISCSIVirtualIPEntry OBJECT-TYPE
		SYNTAX      ClusClusterISCSIVirtualIPEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of cluster virtual IPs."
		INDEX { clusClusterIndex, clusClusterISCSIVirtualIPIndex }
		::= { clusClusterISCSIVirtualIPTable 1 }

		ClusClusterISCSIVirtualIPEntry ::= SEQUENCE
		{
		   clusClusterISCSIVirtualIPIndex       Unsigned32,
		   clusClusterISCSIVirtualIPAddress     IpAddress,
		   clusClusterISCSIVirtualIPMask        IpAddress,
		   clusClusterISCSIVirtualIPRoute       IpAddress,
		   clusClusterISCSIVirtualIPRowStatus   RowStatus
		}

		clusClusterISCSIVirtualIPIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusClusterISCSIVirtualIPTable table."
			::= { clusClusterISCSIVirtualIPEntry 1 }

		clusClusterISCSIVirtualIPAddress OBJECT-TYPE
			SYNTAX         IpAddress
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The cluster virtual IP address."
			::= { clusClusterISCSIVirtualIPEntry 2 }

		clusClusterISCSIVirtualIPMask OBJECT-TYPE
			SYNTAX         IpAddress
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The netmask for the virtual IP address."
			::= { clusClusterISCSIVirtualIPEntry 3 }

		clusClusterISCSIVirtualIPRoute OBJECT-TYPE
			SYNTAX         IpAddress
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The default route for the virtual IP address."
			::= { clusClusterISCSIVirtualIPEntry 4 }

		clusClusterISCSIVirtualIPRowStatus OBJECT-TYPE
			SYNTAX         RowStatus
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusClusterISCSIVirtualIPEntry 5 }

--******************************************************************************
--
-- Clustering Volume Objects
--
--   Includes a count of all the volumes belonging to this management group
--   and a table describing all the volumes.
--
--******************************************************************************

clusVolumeCount OBJECT-TYPE
	SYNTAX         Integer32
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "The number of volumes in the cluster."
	::= { lhnNsmClustering 96 }

clusVolumeTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusVolumeEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of volumes in the cluster.
				 The number of entries is given by clusVolumeCount."
	::= { lhnNsmClustering 97 }

	clusVolumeEntry OBJECT-TYPE
		SYNTAX      ClusVolumeEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of volume information."
		INDEX { clusVolumeIndex }
		::= { clusVolumeTable 1 }

		ClusVolumeEntry ::= SEQUENCE
		{
		   clusVolumeIndex                      Unsigned32,
		   clusVolumeName                       DisplayString,
		   clusVolumeCreationTime               DateAndTime,
		   clusVolumeDescription                DisplayString,
		   clusVolumeSize                       CounterBasedGauge64,
		   clusVolumeSoftThreshold              CounterBasedGauge64,
		   clusVolumeHardThreshold              CounterBasedGauge64,
		   clusVolumeReplicaCount               Integer32,
		   clusVolumeSnapshotCount              Gauge32,
		   clusVolumeACLCount                   Gauge32,
		   clusVolumeClusterName                DisplayString,
		   clusVolumeIsSoftThresholdExceeded    TruthValue,
		   clusVolumeIsHardThresholdExceeded    TruthValue,
		   clusVolumeReplicationStatus          ClusReplicationStatus,
		   clusVolumeIsRemoteSnapshot             TruthValue,
		   clusVolumeRemoteSnapshotFailureMessage DisplayString,
		   clusVolumeAccessType                 DisplayString,
		   clusVolumeMinimumReplication         Gauge32,
		   clusVolumeCreator                    ClusCreatorTypes,
		   clusVolumeAutoGrowPages              Integer32,
		   clusVolumeIscsiIqn                   DisplayString,
		   clusVolumeFriendlyName               DisplayString,
		   clusVolumeInitiatorCount             Gauge32,
		   clusVolumeUsedSpace                  CounterBasedGauge64,
		   clusVolumeClusterUsedPercent         Gauge32,
		   clusVolumeProvisionedSpace           CounterBasedGauge64,
		   clusVolumeIsThinProvisioned          TruthValue,
		   clusVolumeStatsIOsRead				Counter64,
		   clusVolumeStatsIOsWrite				Counter64,
		   clusVolumeStatsBytesRead				Counter64,
		   clusVolumeStatsBytesWrite			Counter64,
		   clusVolumeStatsQDepthRead			Gauge32,
		   clusVolumeStatsQDepthWrite			Gauge32,
		   clusVolumeStatsIoLatencyRead			Counter64,
		   clusVolumeStatsIoLatencyWrite		Counter64,
		   clusVolumeStatsCacheHits				Counter64,
		   clusVolumeAutoGrowSecondsDefault		Integer32,
		   clusVolumeAutoGrowSeconds			Gauge32,
		   clusVolumeType						INTEGER,
		   clusVolumeDataProtectionLevel		DisplayString,
		   clusVolumePBNRStripes				Gauge32,
		   clusVolumePBNRParity					Gauge32,
		   clusVolumeAvailableSpace				CounterBasedGauge64,
		   clusVolumeUsedPercent				Gauge32,
		   clusVolumeIsFull						TruthValue,
		   clusVolumeIsDeleting					TruthValue,
		   clusVolumeIsAvailable				TruthValue,
		   clusVolumeLunIsAvailable				TruthValue,
		   clusVolumeReplicationState			Integer32,
		   clusVolumeResyncPercent				Gauge32,
		   clusVolumeRestripePending			TruthValue,
		   clusVolumeIsMigrating				TruthValue,
		   clusVolumeMigrationPercent			Gauge32,

		   clusVolumeRowStatus					RowStatus
		}

		clusVolumeIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusVolumeTable table."
			::= { clusVolumeEntry 1 }

		clusVolumeName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The volume name."
			::= { clusVolumeEntry 2 }

		clusVolumeCreationTime OBJECT-TYPE
			SYNTAX         DateAndTime
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The date and time the volume was created."
			::= { clusVolumeEntry 3 }

		clusVolumeDescription OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The volume description."
			::= { clusVolumeEntry 4 }

		clusVolumeSize OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The volume size. (Reported Size)"
			::= { clusVolumeEntry 5 }

		clusVolumeSoftThreshold OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The number of kB to be used before alert is issued. This is not displayed if space management is enabled. Deprecated in SAN/iQ 8.0."
			::= { clusVolumeEntry 6 }

		clusVolumeHardThreshold OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The number of kB to be used before the volume stops. This is not displayed if space management is enabled. Deprecated in SAN/iQ 8.0."
			::= { clusVolumeEntry 7 }

		clusVolumeReplicaCount OBJECT-TYPE
			SYNTAX         Integer32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The volume replication level. This is only valid for volumes that use Mirrored Replication and is not used for volumes that use Parity Based Network RAID (PBNR). (Use clusVolumeType to determine volume type)."
			::= { clusVolumeEntry 8 }

		clusVolumeSnapshotCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of snapshots associated with this volume."
			::= { clusVolumeEntry 9 }

		clusVolumeACLCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of ACLs associated with this volume."
			::= { clusVolumeEntry 10 }

		clusVolumeClusterName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The name of cluster that this volume belongs to. Empty if the storage module is not in a cluster."
			::= { clusVolumeEntry 11 }

		clusVolumeIsSoftThresholdExceeded OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "True is the soft threshold has been exceeded, false otherwise. This is not displayed if space management is enabled. Deprecated in SAN/iQ 8.0."
			::= { clusVolumeEntry 13 }

		clusVolumeIsHardThresholdExceeded OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "True is the hard threshold has been exceeded, false otherwise. This is not displayed if space management is enabled. Deprecated in SAN/iQ 8.0."
			::= { clusVolumeEntry 14 }

		clusVolumeReplicationStatus OBJECT-TYPE
			SYNTAX         ClusReplicationStatus
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The volume replication status. The status will be normal if the volume is available, faulty otherwise."
			::= { clusVolumeEntry 15 }

		clusVolumeIsRemoteSnapshot OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if this volume is a remote snapshot, false otherwise."
			::= { clusVolumeEntry 16 }

		clusVolumeRemoteSnapshotFailureMessage OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A message indicating why a remote snapshot into this volume failed. Empty if there are no errors."
			::= { clusVolumeEntry 17 }

		clusVolumeAccessType OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "Access type for the volume (iSCSI, etc). Only displayed if volume lists are not supported by the manager. Otherwise access type is implied by the volume list auth group. Obsolete in SAN/iQ 10.0."
			::= { clusVolumeEntry 19 }

		clusVolumeMinimumReplication OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The minimum number of replicas required for writes to proceed. This is only valid for volumes that use Mirrored Replication and is not used for volumes that use Parity Based Netowrk RAID (PBNR). (Use clusVolumeType to determine volume type)."
			::= { clusVolumeEntry 20 }

		clusVolumeCreator OBJECT-TYPE
			SYNTAX         ClusCreatorTypes
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The entity created this volume."
			::= { clusVolumeEntry 22 }
			
		clusVolumeAutoGrowPages OBJECT-TYPE
			SYNTAX         Integer32
			UNITS          "256K pages"
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The nominal number of pages autogrow should grow by. (0 = no autogrow, 1 = automatic) Deprecated in SAN/iQ 9.0, use clusVolumeAutoGrowSeconds"
			::= { clusVolumeEntry 24 }

		clusVolumeIscsiIqn OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The iSCSI IQN for the volume."
			::= { clusVolumeEntry 25 }

		clusVolumeFriendlyName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The friendly name for the volume. Deprecated in SAN/iQ 8.0"
			::= { clusVolumeEntry 27 }

		clusVolumeInitiatorCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of initiator sessions."
			::= { clusVolumeEntry 30 }

		clusVolumeUsedSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The space used by the volume. This does not include space used by snapshots that the volume depends on. PBNR volumes use automatic snapshots that are not included in this value."
			::= { clusVolumeEntry 31 }

		clusVolumeClusterUsedPercent OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "%"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The space used by the volume as a percentage of the cluster space. This does not include space used by snapshots that the volume depends on. PBNR volumes use automatic snapshots that are not included in this value."
			::= { clusVolumeEntry 32 }

		clusVolumeProvisionedSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The space provisioned for the volume. (Provisioned Space)"
			::= { clusVolumeEntry 33 }

		clusVolumeIsThinProvisioned OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if volume uses thin provisioning, false otherwise."
			::= { clusVolumeEntry 34 }

		clusVolumeStatsIOsRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A counter of IO read operations for the volume."
			::= { clusVolumeEntry 36 }

		clusVolumeStatsIOsWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A counter of IO write operations for the volume."
			::= { clusVolumeEntry 37 }

		clusVolumeStatsBytesRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "B"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of bytes read from the volume."
			::= { clusVolumeEntry 38 }

		clusVolumeStatsBytesWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "B"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of bytes written to the volume."
			::= { clusVolumeEntry 39 }

		clusVolumeStatsQDepthRead OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of pending read operations for the volume."
			::= { clusVolumeEntry 40 }

		clusVolumeStatsQDepthWrite OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of pending write operations for the volume."
			::= { clusVolumeEntry 41 }

		clusVolumeStatsIoLatencyRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for read operations to complete for the volume."
			::= { clusVolumeEntry 42 }

		clusVolumeStatsIoLatencyWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for write operations to complete for the volume."
			::= { clusVolumeEntry 43 }

		clusVolumeStatsCacheHits OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of read cache hits and read ahead hits for the volume."
			::= { clusVolumeEntry 44 }

		clusVolumeAutoGrowSecondsDefault OBJECT-TYPE
			SYNTAX         Integer32
			UNITS          "seconds"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The default number of seconds of IO available before autogrow starts."
			::= { clusVolumeEntry 45 }

		clusVolumeAutoGrowSeconds OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "seconds"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The current number of seconds of IO available before autogrow starts."
			::= { clusVolumeEntry 46 }

		clusVolumeType OBJECT-TYPE
			SYNTAX         INTEGER { mr(1), pbnr(2) }
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The volume type. 'MR' = Mirrored Replication, 'PBNR' = Parity Based Network RAID."
			::= { clusVolumeEntry 47 }

		clusVolumeDataProtectionLevel OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The data protection level for the volume."
			::= { clusVolumeEntry 48 }

		clusVolumePBNRStripes OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "pages"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of data pages in a stripe for a PBNR volume. (Use clusVolumeType to determine volume type)."
			::= { clusVolumeEntry 49 }

		clusVolumePBNRParity OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "pages"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of parity pages in a stripe for a PBNR volume. (Use clusVolumeType to determine volume type)."
			::= { clusVolumeEntry 50 }

		clusVolumeAvailableSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The storage space available in the volume before the size is reached.  For thinly provisioned volumes the cluster must have sufficient storage space to support this."
			::= { clusVolumeEntry 51 }

		clusVolumeUsedPercent OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "%"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The percentage of storage space that has been used on the volume."
			::= { clusVolumeEntry 52 }

		clusVolumeIsFull OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the volume is full, false otherwise."
			::= { clusVolumeEntry 53 }

		clusVolumeIsDeleting OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the volume is currently being deleted, false otherwise."
			::= { clusVolumeEntry 54 }

		clusVolumeIsAvailable OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the volume is available, false otherwise."
			::= { clusVolumeEntry 55 }

		clusVolumeLunIsAvailable OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the volume LUN is available, false otherwise."
			::= { clusVolumeEntry 56 }

		clusVolumeReplicationState OBJECT-TYPE
			SYNTAX         Integer32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A value of 1 indicates normal status, 2 indicates degraded status, 3 indicates restriping in progress."
			::= { clusVolumeEntry 57 }

		clusVolumeResyncPercent OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The percent complete of a volume resync."
			::= { clusVolumeEntry 58 }

		clusVolumeRestripePending OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if a restripe on the volume is pending, false otherwise."
			::= { clusVolumeEntry 59 }

		clusVolumeIsMigrating OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the volume is migrating, false otherwise."
			::= { clusVolumeEntry 60 }

		clusVolumeMigrationPercent OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The percent complete of a volume migration."
			::= { clusVolumeEntry 61 }

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

--******************************************************************************
--
-- Clustering Volume ACL Objects
--
--   This table contains the authorization communities and permissions
--   to allow access for a particular volume.  This table is only displayed
--   if Volume List objects are not supported by the manager database.
--
--******************************************************************************

clusVolumeACLTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusVolumeACLEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of ACL entries for each volume.
				 The number of entries is given by clusVolumeACLCount."
	::= { lhnNsmClustering 98 }

	clusVolumeACLEntry OBJECT-TYPE
		SYNTAX      ClusVolumeACLEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of authorization and permissions for a volume."
		INDEX { clusVolumeIndex, clusVolumeACLIndex }
		::= { clusVolumeACLTable 1 }

		ClusVolumeACLEntry ::= SEQUENCE
		{
		   clusVolumeACLIndex			Unsigned32,
		   clusVolumeACLServer			DisplayString,
		   clusVolumeACLPermissions		ClusPermissionBits,
		   clusVolumeACLRowStatus		RowStatus
		}

		clusVolumeACLIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusVolumeACLTable table."
			::= { clusVolumeACLEntry 1 }

		clusVolumeACLServer OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The server (authorization group) name."
			::= { clusVolumeACLEntry 2 }

		clusVolumeACLPermissions OBJECT-TYPE
			SYNTAX         ClusPermissionBits
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The permissions bits."
			::= { clusVolumeACLEntry 3 }

		clusVolumeACLRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-only
			STATUS      obsolete
			DESCRIPTION "Table row status. Obsolete in SAN/iQ 8.5."
			::= { clusVolumeACLEntry 6 }

--******************************************************************************
--
-- Clustering Volume Initiator Objects
--
--   This table contains the parameters associated with an initiator session
--   for a particular volume.  This table is only displayed if initiator session
--   objects are supported by the manager database.
--
--******************************************************************************

clusVolumeInitiatorTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusVolumeInitiatorEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of initiator session entries for each volume.
				 The number of entries is given by clusVolumeInitiatorCount."
	::= { lhnNsmClustering 99 }

	clusVolumeInitiatorEntry OBJECT-TYPE
		SYNTAX      ClusVolumeInitiatorEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of initiator parameters for a volume."
		INDEX { clusVolumeIndex, clusVolumeInitiatorIndex }
		::= { clusVolumeInitiatorTable 1 }

		ClusVolumeInitiatorEntry ::= SEQUENCE
		{
		   clusVolumeInitiatorIndex						Unsigned32,
		   clusVolumeInitiatorIqn						DisplayString,
		   clusVolumeInitiatorAddress					IpAddress,
		   clusVolumeInitiatorPort						Unsigned32,
		   clusVolumeInitiatorStatus					DisplayString,
		   clusVolumeInitiatorStatsIOsRead				Counter64,
		   clusVolumeInitiatorStatsIOsWrite				Counter64,
		   clusVolumeInitiatorStatsBytesRead			Counter64,
		   clusVolumeInitiatorStatsBytesWrite			Counter64,
		   clusVolumeInitiatorStatsQDepthRead			Gauge32,
		   clusVolumeInitiatorStatsQDepthWrite			Gauge32,
		   clusVolumeInitiatorStatsIoLatencyRead		Counter64,
		   clusVolumeInitiatorStatsIoLatencyWrite		Counter64,
		   clusVolumeInitiatorStatsCacheHits			Counter64,
		   clusVolumeInitiatorState					DisplayString,
		   clusVolumeInitiatorRowStatus					RowStatus
		}

		clusVolumeInitiatorIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusVolumeInitiatorTable table."
			::= { clusVolumeInitiatorEntry 1 }

		clusVolumeInitiatorIqn OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The initiator IQN."
			::= { clusVolumeInitiatorEntry 2 }

		clusVolumeInitiatorAddress OBJECT-TYPE
			SYNTAX         IpAddress
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The initiator IP address."
			::= { clusVolumeInitiatorEntry 3 }

		clusVolumeInitiatorPort OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The initiator port number."
			::= { clusVolumeInitiatorEntry 4 }

		clusVolumeInitiatorStatus OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The initiator session status. Obsolete in SAN/iQ 8.0"
			::= { clusVolumeInitiatorEntry 5 }

		clusVolumeInitiatorStatsIOsRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A counter of IO read operations for the initiator."
			::= { clusVolumeInitiatorEntry 6 }

		clusVolumeInitiatorStatsIOsWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A counter of IO write operations for the initiator."
			::= { clusVolumeInitiatorEntry 7 }

		clusVolumeInitiatorStatsBytesRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "B"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of bytes read from the initiator."
			::= { clusVolumeInitiatorEntry 8 }

		clusVolumeInitiatorStatsBytesWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "B"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of bytes written to the initiator."
			::= { clusVolumeInitiatorEntry 9 }

		clusVolumeInitiatorStatsQDepthRead OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of pending read operations for the initiator."
			::= { clusVolumeInitiatorEntry 10 }

		clusVolumeInitiatorStatsQDepthWrite OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of pending write operations for the initiator."
			::= { clusVolumeInitiatorEntry 11 }

		clusVolumeInitiatorStatsIoLatencyRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for read operations to complete on the initiator."
			::= { clusVolumeInitiatorEntry 12 }

		clusVolumeInitiatorStatsIoLatencyWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for write operations to complete on the initiator."
			::= { clusVolumeInitiatorEntry 13 }

		clusVolumeInitiatorStatsCacheHits OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of read cache hits and read ahead hits for the initiator."
			::= { clusVolumeInitiatorEntry 14 }

		clusVolumeInitiatorState OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The initiator session state."
			::= { clusVolumeInitiatorEntry 15 }

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

--******************************************************************************
--
-- Clustering Cluster Volume Objects
--
--   This table describes the relationship between clusters
--   and volumes.  For each cluster (described by the
--   clusClusterIndex) it lists each volume belonging to it.
--
--******************************************************************************

clusClusterVolumeTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusClusterVolumeEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of volumes for a cluster.
				 The number of entries is given by clusClusterVolumeCount."
	::= { lhnNsmClustering 100 }

	clusClusterVolumeEntry OBJECT-TYPE
		SYNTAX      ClusClusterVolumeEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of volume information for a cluster."
		INDEX { clusClusterIndex, clusClusterVolumeIndex }
		::= { clusClusterVolumeTable 1 }

		ClusClusterVolumeEntry ::= SEQUENCE
		{
		   clusClusterVolumeIndex      Unsigned32,
		   clusClusterVolumeName       DisplayString,
		   clusClusterVolumeRowStatus  RowStatus
		}

		clusClusterVolumeIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusClusterVolumeTable table."
			::= { clusClusterVolumeEntry 1 }

		clusClusterVolumeName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The volume name."
			::= { clusClusterVolumeEntry 2 }

		clusClusterVolumeRowStatus OBJECT-TYPE
			SYNTAX         RowStatus
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusClusterVolumeEntry 3 }

--******************************************************************************
--
-- Clustering Volume Snapshot Table
--
--   This table describes the relationship between snapshots
--   and volumes.  For each volume (described by the
--   clusVolumeIndex) it lists each snapshot belonging
--   to it.
--
--******************************************************************************

clusVolumeSnapshotTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusVolumeSnapshotEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of snapshots for a volume.
				 The number of entries is given by clusVolumeSnapshotCount."
	::= { lhnNsmClustering 101 }

	clusVolumeSnapshotEntry OBJECT-TYPE
		SYNTAX      ClusVolumeSnapshotEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of snapshot information for a volume."
		INDEX { clusVolumeIndex, clusVolumeSnapshotIndex }
		::= { clusVolumeSnapshotTable 1 }

		ClusVolumeSnapshotEntry ::= SEQUENCE
		{
		   clusVolumeSnapshotIndex						Unsigned32,
		   clusVolumeSnapshotName						DisplayString,
		   clusVolumeSnapshotCreationTime				DateAndTime,
		   clusVolumeSnapshotDescription				DisplayString,
		   clusVolumeSnapshotSize						CounterBasedGauge64,
		   clusVolumeSnapshotSoftThreshold				CounterBasedGauge64,
		   clusVolumeSnapshotHardThreshold				CounterBasedGauge64,
		   clusVolumeSnapshotACLCount					Gauge32,
		   clusVolumeSnapshotScheduleName				DisplayString,
		   clusVolumeSnapshotIsSoftThresholdExceeded	TruthValue,
		   clusVolumeSnapshotIsHardThresholdExceeded	TruthValue,
		   clusVolumeSnapshotReplicationStatus			ClusReplicationStatus,
		   clusVolumeSnapshotType						INTEGER,
		   clusVolumeSnapshotCopyProgress				Gauge32,
		   clusVolumeSnapshotAccessType					DisplayString,
		   clusVolumeSnapshotCreator					ClusCreatorTypes,
		   clusVolumeSnapshotIscsiIqn					DisplayString,
		   clusVolumeSnapshotFriendlyName				DisplayString,
		   clusVolumeSnapshotOriginalVolume				DisplayString,
		   clusVolumeSnapshotOriginalMgmtGroup			DisplayString,
		   clusVolumeSnapshotInitiatorCount				Gauge32,
		   clusVolumeSnapshotUsedSpace					CounterBasedGauge64,
		   clusVolumeSnapshotWritableProvisionedSpace	CounterBasedGauge64,
		   clusVolumeSnapshotClusterUsedPercent			Gauge32,
		   clusVolumeSnapshotProvisionedSpace			CounterBasedGauge64,
		   clusVolumeSnapshotStatsIOsRead				Counter64,
		   clusVolumeSnapshotStatsIOsWrite				Counter64,
		   clusVolumeSnapshotStatsBytesRead				Counter64,
		   clusVolumeSnapshotStatsBytesWrite			Counter64,
		   clusVolumeSnapshotStatsQDepthRead			Gauge32,
		   clusVolumeSnapshotStatsQDepthWrite			Gauge32,
		   clusVolumeSnapshotStatsIoLatencyRead			Counter64,
		   clusVolumeSnapshotStatsIoLatencyWrite		Counter64,
		   clusVolumeSnapshotStatsCacheHits				Counter64,
		   clusVolumeSnapshotIsDeleting				TruthValue,			
		   clusVolumeSnapshotIsAvailable			TruthValue,
		   clusVolumeSnapshotLunIsAvailable			TruthValue,
		   clusVolumeSnapshotReplicationState			INTEGER,
		   clusVolumeSnapshotResyncPercent			Gauge32,
		   clusVolumeSnapshotRestripePending			TruthValue,
		   clusVolumeSnapshotIsMigrating			TruthValue,
		   clusVolumeSnapshotMigrationPercent			Gauge32,
		   clusVolumeSnapshotRowStatus			        RowStatus
		}

		clusVolumeSnapshotIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusVolumeSnapshotTable table."
			::= { clusVolumeSnapshotEntry 1 }

		clusVolumeSnapshotName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot name."
			::= { clusVolumeSnapshotEntry 2 }

		clusVolumeSnapshotCreationTime OBJECT-TYPE
			SYNTAX         DateAndTime
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot creation time."
			::= { clusVolumeSnapshotEntry 3 }

		clusVolumeSnapshotDescription OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot description."
			::= { clusVolumeSnapshotEntry 4 }

		clusVolumeSnapshotSize OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot size. (Reported Size)"
			::= { clusVolumeSnapshotEntry 5 }

		clusVolumeSnapshotSoftThreshold OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The number of kB to be used before alert is issued. This is not displayed if space management is enabled. Deprecated in SAN/iQ 8.0."
			::= { clusVolumeSnapshotEntry 6 }

		clusVolumeSnapshotHardThreshold OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The number of kB to be used before the snapshot stops. This is not displayed if space management is enabled. Deprecated in SAN/iQ 8.0."
			::= { clusVolumeSnapshotEntry 7 }

		clusVolumeSnapshotACLCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of ACLs associated with this snapshot."
			::= { clusVolumeSnapshotEntry 8 }

		clusVolumeSnapshotScheduleName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot schedule name. Empty for manual snapshots."
			::= { clusVolumeSnapshotEntry 10 }

		clusVolumeSnapshotIsSoftThresholdExceeded OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "True if soft threshold has been exceeded, false otherwise."
			::= { clusVolumeSnapshotEntry 12 }

		clusVolumeSnapshotIsHardThresholdExceeded OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "True if hard threshold has been exceeded, false otherwise."
			::= { clusVolumeSnapshotEntry 13 }

		clusVolumeSnapshotReplicationStatus OBJECT-TYPE
			SYNTAX         ClusReplicationStatus
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot replication status. The status will be normal if the snapshot is available, faulty otherwise."
			::= { clusVolumeSnapshotEntry 14 }

		clusVolumeSnapshotType OBJECT-TYPE
			SYNTAX         INTEGER { primary(1), remote(2) }
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot type."
			::= { clusVolumeSnapshotEntry 15 }

		clusVolumeSnapshotCopyProgress OBJECT-TYPE
			SYNTAX         Gauge32 (0..100)
			UNITS          "%"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The remote snapshot percent complete."
			::= { clusVolumeSnapshotEntry 16 }

		clusVolumeSnapshotAccessType OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "Access type for the snapshot (iSCSI, etc).
							Only displayed if volume lists are not supported by the manager.
							Otherwise access type is implied by the volume list auth group. 
							Obsolete in SAN/iQ 10.0."
			::= { clusVolumeSnapshotEntry 18 }

		clusVolumeSnapshotCreator OBJECT-TYPE
			SYNTAX         ClusCreatorTypes
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "which entity created this volume"
			::= { clusVolumeSnapshotEntry 20 }

		clusVolumeSnapshotIscsiIqn OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot iSCSI IQN."
			::= { clusVolumeSnapshotEntry 22 }

		clusVolumeSnapshotFriendlyName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The snapshot friendly name."
			::= { clusVolumeSnapshotEntry 24 }

		clusVolumeSnapshotOriginalVolume OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The volume name the snapshot originated from for a remote snapshot."
			::= { clusVolumeSnapshotEntry 25 }

		clusVolumeSnapshotOriginalMgmtGroup OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The management group name the snapshot originated from for a remote snapshot."
			::= { clusVolumeSnapshotEntry 26 }

		clusVolumeSnapshotInitiatorCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of initiator sessions to this snapshot."
			::= { clusVolumeSnapshotEntry 27 }

		clusVolumeSnapshotUsedSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The space used by the snapshot."
			::= { clusVolumeSnapshotEntry 28 }

		clusVolumeSnapshotWritableProvisionedSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The maximum writable space used by snapshot."
			::= { clusVolumeSnapshotEntry 29}

		clusVolumeSnapshotClusterUsedPercent OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "%"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The space used by the snapshot as a percentage of the cluster space."
			::= { clusVolumeSnapshotEntry 31 }

		clusVolumeSnapshotProvisionedSpace OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The space provisioned for use by the snapshot."
			::= { clusVolumeSnapshotEntry 32 }

		clusVolumeSnapshotStatsIOsRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A counter of IO read operations on the snapshot."
			::= { clusVolumeSnapshotEntry 36 }

		clusVolumeSnapshotStatsIOsWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A counter of IO write operations on the snapshot."
			::= { clusVolumeSnapshotEntry 37 }

		clusVolumeSnapshotStatsBytesRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "B"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of bytes read from the snapshot."
			::= { clusVolumeSnapshotEntry 38 }

		clusVolumeSnapshotStatsBytesWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "B"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of bytes written to the snapshot."
			::= { clusVolumeSnapshotEntry 39 }

		clusVolumeSnapshotStatsQDepthRead OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of pending read operations for the snapshot"
			::= { clusVolumeSnapshotEntry 40 }

		clusVolumeSnapshotStatsQDepthWrite OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of pending write operations for the snapshot"
			::= { clusVolumeSnapshotEntry 41 }

		clusVolumeSnapshotStatsIoLatencyRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for read operations to complete on the snapshot."
			::= { clusVolumeSnapshotEntry 42 }

		clusVolumeSnapshotStatsIoLatencyWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for write operations to complete on the snapshot."
			::= { clusVolumeSnapshotEntry 43 }

		clusVolumeSnapshotStatsCacheHits OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of read cache hits and read ahead hits for the snapshot."
			::= { clusVolumeSnapshotEntry 44 }

		clusVolumeSnapshotIsDeleting OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the snapshot is currently being deleted, false otherwise."
			::= { clusVolumeSnapshotEntry 45 }

		clusVolumeSnapshotIsAvailable OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the snapshot is available, false otherwise."
			::= { clusVolumeSnapshotEntry 46 }

		clusVolumeSnapshotLunIsAvailable OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the snapshot LUN is available, false otherwise."
			::= { clusVolumeSnapshotEntry 47 }

		clusVolumeSnapshotReplicationState OBJECT-TYPE
			SYNTAX         INTEGER
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A value of 1 indicates normal status, 2 indicates degraded status, 3 indicates restriping in progress."
			::= { clusVolumeSnapshotEntry 48 }

		clusVolumeSnapshotResyncPercent OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "%"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The percent complete of a snapshot resync."
			::= { clusVolumeSnapshotEntry 49 }

		clusVolumeSnapshotRestripePending OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if a restripe on the snapshot is pending, false otherwise."
			::= { clusVolumeSnapshotEntry 50 }

		clusVolumeSnapshotIsMigrating OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if the snapshot is migrating, false otherwise."
			::= { clusVolumeSnapshotEntry 51 }

		clusVolumeSnapshotMigrationPercent OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "%"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The percent complete of a snapshot migration."
			::= { clusVolumeSnapshotEntry 52 }

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

--******************************************************************************
--
-- Clustering Volume Snapshot ACL Objects
--
--   This table contains the authorization communities and permissions for
--   a particular volume snapshot.  This table is only displayed
--   if Volume List objects are not supported by the manager database.
--
--******************************************************************************

clusVolumeSnapshotACLTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusVolumeSnapshotACLEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of authorization and permissions for each snapshot.
				 The number of entries is given by clusVolumeSnapshotACLCount."
	::= { lhnNsmClustering 102 }

	clusVolumeSnapshotACLEntry OBJECT-TYPE
		SYNTAX      ClusVolumeSnapshotACLEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of authorization and permissions for a snapshot."
		INDEX { clusVolumeIndex, clusVolumeSnapshotIndex, clusVolumeSnapshotACLIndex }
		::= { clusVolumeSnapshotACLTable 1 }

		ClusVolumeSnapshotACLEntry ::= SEQUENCE
		{
		   clusVolumeSnapshotACLIndex			Unsigned32,
		   clusVolumeSnapshotACLServer			DisplayString,
		   clusVolumeSnapshotACLPermissions		ClusPermissionBits,
		   clusVolumeSnapshotACLRowStatus		RowStatus
		}

		clusVolumeSnapshotACLIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusVolumeSnapshotACLTable table."
			::= { clusVolumeSnapshotACLEntry 1 }

		clusVolumeSnapshotACLServer OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The name of the server (authorization group)."
			::= { clusVolumeSnapshotACLEntry 2 }

		clusVolumeSnapshotACLPermissions OBJECT-TYPE
			SYNTAX         ClusPermissionBits
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The permissions associated with this ACL."
			::= { clusVolumeSnapshotACLEntry 3 }

		clusVolumeSnapshotACLRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-only
			STATUS      obsolete
			DESCRIPTION "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusVolumeSnapshotACLEntry 6 }

--******************************************************************************
--
-- Clustering Volume Snapshot Initiator Objects
--
--   This table contains the parameters associated with an initiator session
--   for a particular volume snapshot.  This table is only displayed if
--   initiator session objects are supported by the manager database.
--
--******************************************************************************

clusVolumeSnapshotInitiatorTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusVolumeSnapshotInitiatorEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of initiator session entries for each snapshot.
				 The number of entries is given by clusVolumeSnapshotInitiatorCount."
	::= { lhnNsmClustering 103 }

	clusVolumeSnapshotInitiatorEntry OBJECT-TYPE
		SYNTAX      ClusVolumeSnapshotInitiatorEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of initiator information for a snapshot."
		INDEX { clusVolumeIndex, clusVolumeSnapshotIndex, clusVolumeSnapshotInitiatorIndex }
		::= { clusVolumeSnapshotInitiatorTable 1 }

		ClusVolumeSnapshotInitiatorEntry ::= SEQUENCE
		{
		   clusVolumeSnapshotInitiatorIndex					Unsigned32,
		   clusVolumeSnapshotInitiatorIqn					DisplayString,
		   clusVolumeSnapshotInitiatorAddress				IpAddress,
		   clusVolumeSnapshotInitiatorPort					Unsigned32,
		   clusVolumeSnapshotInitiatorStatus				DisplayString,
		   clusVolumeSnapshotInitiatorStatsIOsRead			Counter64,
		   clusVolumeSnapshotInitiatorStatsIOsWrite			Counter64,
		   clusVolumeSnapshotInitiatorStatsBytesRead		Counter64,
		   clusVolumeSnapshotInitiatorStatsBytesWrite		Counter64,
		   clusVolumeSnapshotInitiatorStatsQDepthRead		Gauge32,
		   clusVolumeSnapshotInitiatorStatsQDepthWrite		Gauge32,
		   clusVolumeSnapshotInitiatorStatsIoLatencyRead	Counter64,
		   clusVolumeSnapshotInitiatorStatsIoLatencyWrite	Counter64,
		   clusVolumeSnapshotInitiatorStatsCacheHits		Counter64,
		   clusVolumeSnapshotInitiatorState				DisplayString,
		   clusVolumeSnapshotInitiatorRowStatus				RowStatus
		}

		clusVolumeSnapshotInitiatorIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusVolumeSnapshotInitiatorTable table."
			::= { clusVolumeSnapshotInitiatorEntry 1 }

		clusVolumeSnapshotInitiatorIqn OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The initiator IQN."
			::= { clusVolumeSnapshotInitiatorEntry 2 }

		clusVolumeSnapshotInitiatorAddress OBJECT-TYPE
			SYNTAX         IpAddress
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The initiator IP address."
			::= { clusVolumeSnapshotInitiatorEntry 3 }

		clusVolumeSnapshotInitiatorPort OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The initiator port number."
			::= { clusVolumeSnapshotInitiatorEntry 4 }

		clusVolumeSnapshotInitiatorStatus OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The initiator session status. Obsolete in SAN/iQ 8.0."
			::= { clusVolumeSnapshotInitiatorEntry 5 }

		clusVolumeSnapshotInitiatorStatsIOsRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A counter of IO read operations on the initiator."
			::= { clusVolumeSnapshotInitiatorEntry 6 }

		clusVolumeSnapshotInitiatorStatsIOsWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A counter of IO read operations on the initiator."
			::= { clusVolumeSnapshotInitiatorEntry 7 }

		clusVolumeSnapshotInitiatorStatsBytesRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "B"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of bytes read from the initiator."
			::= { clusVolumeSnapshotInitiatorEntry 8 }

		clusVolumeSnapshotInitiatorStatsBytesWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "B"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of bytes written to the initiator."
			::= { clusVolumeSnapshotInitiatorEntry 9 }

		clusVolumeSnapshotInitiatorStatsQDepthRead OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of pending read operations on the initiator."
			::= { clusVolumeSnapshotInitiatorEntry 10 }

		clusVolumeSnapshotInitiatorStatsQDepthWrite OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of pending write operations on the initiator."
			::= { clusVolumeSnapshotInitiatorEntry 11 }

		clusVolumeSnapshotInitiatorStatsIoLatencyRead OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for read operations to complete on the initiator."
			::= { clusVolumeSnapshotInitiatorEntry 12 }

		clusVolumeSnapshotInitiatorStatsIoLatencyWrite OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "ms"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The total time spent waiting for read operations to complete on the initiator."
			::= { clusVolumeSnapshotInitiatorEntry 13 }

		clusVolumeSnapshotInitiatorStatsCacheHits OBJECT-TYPE
			SYNTAX         Counter64
			UNITS          "operations"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of read cache hits and read ahead hits for the initiator."
			::= { clusVolumeSnapshotInitiatorEntry 14 }

		clusVolumeSnapshotInitiatorState OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The initiator session status."
			::= { clusVolumeSnapshotInitiatorEntry 15 }

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


--******************************************************************************
--
-- Clustering Server (Authorization Group) Objects
--
--   This table contains the list of all servers (authorization groups).
--
--******************************************************************************

clusServerCount OBJECT-TYPE
	SYNTAX         Integer32
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "The number of server (authorization groups) in the cluster."
	::= { lhnNsmClustering 104 }

clusServerTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusServerEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of hosts for each server (authorization group).
				 The number of entries is given by clusServerCount."
	::= { lhnNsmClustering 105 }

	clusServerEntry OBJECT-TYPE
		SYNTAX      ClusServerEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of server (authorization group) information."
		INDEX { clusServerIndex }
		::= { clusServerTable 1 }

		ClusServerEntry ::= SEQUENCE
		{
		   clusServerIndex                    Unsigned32,
		   clusServerName                     DisplayString,
		   clusServerDescription              DisplayString,
		   clusServerIscsiEnabled             TruthValue,
		   clusServerIscsiChapAuthRequired    TruthValue,
		   clusServerIscsiInitiatorCount      Gauge32,
		   clusServerVolumeACLCount			 Gauge32,
		   clusServerRowStatus                RowStatus
		}

		clusServerIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusServerTable table."
			::= { clusServerEntry 1 }

		clusServerName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The server (authorization group) name."
			::= { clusServerEntry 2 }

		clusServerDescription OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The description of the server (authorization group)."
			::= { clusServerEntry 3 }

		clusServerIscsiEnabled OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if iSCSI is enabled, false otherwise."
			::= { clusServerEntry 22 }

		clusServerIscsiChapAuthRequired OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The iSCSI server only accepts initiators with the specified chap name if true."
			::= { clusServerEntry 23 }

		clusServerIscsiInitiatorCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The count of iSCSI CHAP names required for the server (authorization group)."
			::= { clusServerEntry 25 }

		clusServerVolumeACLCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of volume ACLs in the Volume List."
			::= { clusServerEntry 30 }

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

--******************************************************************************
--
-- Clustering Server (Authorization Group) Subnets
--
--   This table contains a list of subnet masks
--   associated with an server (authorization group).  For each
--   server (authorization group) (given by clusServerIndex)
--   it lists the subnet masks belonging to it.
--
--******************************************************************************

clusServerSubnetTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusServerSubnetEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of subnets for a particular server (authorization group).
				 The number of entries is given by clusServerMaskCount."
	::= { lhnNsmClustering 106 }

	clusServerSubnetEntry OBJECT-TYPE
		SYNTAX      ClusServerSubnetEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of subnet information for an server (authorization group)."
		INDEX { clusServerIndex, clusServerSubnetIndex }
		::= { clusServerSubnetTable 1 }

		ClusServerSubnetEntry ::= SEQUENCE
		{
		   clusServerSubnetIndex      Unsigned32,
		   clusServerSubnetAddress    IpAddress,
		   clusServerSubnetMask       IpAddress,
		   clusServerSubnetRowStatus  RowStatus
		}

		clusServerSubnetIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusServerSubnetTable table."
			::= { clusServerSubnetEntry 1 }

		clusServerSubnetAddress OBJECT-TYPE
			SYNTAX         IpAddress
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The address portion of the subnet."
			::= { clusServerSubnetEntry 2 }

		clusServerSubnetMask OBJECT-TYPE
			SYNTAX         IpAddress
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The netmask portion of the subnet."
			::= { clusServerSubnetEntry 3 }

		clusServerSubnetRowStatus OBJECT-TYPE
			SYNTAX         RowStatus
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusServerSubnetEntry 4 }

--******************************************************************************
--
-- Clustering Server (Authorization Group) iSCSI Initiators
--
--   This table contains a list of iSCSI initiators
--   associated with an server (authorization group).  For each
--   server (authorization group) (given by clusServerIndex)
--   it lists the iSCSI initiators belonging to it.
--
--******************************************************************************

clusServerIscsiInitiatorTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusServerIscsiInitiatorEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of iSCSI hosts for a particular server (authorization group).
				 The number of entries is given by clusServerIscsiInitiatorCount."
	::= { lhnNsmClustering 107 }

	clusServerIscsiInitiatorEntry OBJECT-TYPE
		SYNTAX      ClusServerIscsiInitiatorEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of iSCSI initiators for an server (authorization group)."
		INDEX { clusServerIndex, clusServerIscsiInitiatorIndex }
		::= { clusServerIscsiInitiatorTable 1 }

		ClusServerIscsiInitiatorEntry ::= SEQUENCE
		{
		   clusServerIscsiInitiatorIndex      Unsigned32,
		   clusServerIscsiInitiatorIqn        DisplayString,
		   clusServerIscsiInitiatorChapName   DisplayString,
		   clusServerIscsiInitiatorRowStatus  RowStatus
		}

		clusServerIscsiInitiatorIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusServerIscsiInitiatorTable table."
			::= { clusServerIscsiInitiatorEntry 1 }

		clusServerIscsiInitiatorIqn OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The iSCSI IQN for initiator."
			::= { clusServerIscsiInitiatorEntry 5 }

		clusServerIscsiInitiatorChapName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The iSCSI initiator CHAP name."
			::= { clusServerIscsiInitiatorEntry 6 }

		clusServerIscsiInitiatorRowStatus OBJECT-TYPE
			SYNTAX         RowStatus
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusServerIscsiInitiatorEntry 7 }

--******************************************************************************
--
-- Clustering Communication Mode
--
--   This table contains a list of hosts in the case of
--   using unicast.  If using multicast the list will be
--   empty and the mode will be 'multicast'.
--
--******************************************************************************

clusCommunicationMode OBJECT-TYPE
	SYNTAX      INTEGER { multicast(1), unicast(2), multicastAndUnicast(3) }
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION "The cluster communication mode."
	::= { lhnNsmClustering 109 }

clusUnicastHostCount OBJECT-TYPE
	SYNTAX         Integer32
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "The number of hosts that are unicast communication. These hosts must be running a manager."
	::= { lhnNsmClustering 110 }

clusUnicastHostTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusUnicastHostEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of hosts using unicast communication.
				 The number of entries is given by clusUnicastHostCount."
	::= { lhnNsmClustering 111 }

clusUnicastHostEntry OBJECT-TYPE
	SYNTAX      ClusUnicastHostEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A row of unicast host information."
	INDEX { clusUnicastHostIndex }
	::= { clusUnicastHostTable 1 }

	ClusUnicastHostEntry ::= SEQUENCE
	{
	   clusUnicastHostIndex      Unsigned32,
	   clusUnicastHostName       DisplayString,
	   clusUnicastHostRowStatus  RowStatus
	}

		clusUnicastHostIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusUnicastHostTable table."
			::= { clusUnicastHostEntry 1 }

		clusUnicastHostName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The IP address used for unicast communications used by the manager."
			::= { clusUnicastHostEntry 2 }

		clusUnicastHostRowStatus OBJECT-TYPE
			SYNTAX         RowStatus
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusUnicastHostEntry 3 }

--******************************************************************************
--
-- Clustering Snapshot Schedules
--
--   This table contains a list of schedules for automatic
--   volume snapshots.
--
--******************************************************************************

clusSnapshotScheduleCount OBJECT-TYPE
	SYNTAX         Integer32
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "The number of snapshot schedules in the cluster."
	::= { lhnNsmClustering 112 }


clusSnapshotScheduleTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusSnapshotScheduleEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of snapshot schedules entries.
				 The number of entries is given by clusSnapshotScheduleCount."
	::= { lhnNsmClustering 113 }

	clusSnapshotScheduleEntry OBJECT-TYPE
		SYNTAX      ClusSnapshotScheduleEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of snapshot schedule information."
		INDEX { clusSnapshotScheduleIndex }
		::= { clusSnapshotScheduleTable 1 }

		ClusSnapshotScheduleEntry ::= SEQUENCE
		{
		   clusSnapshotScheduleIndex              Unsigned32,
		   clusSnapshotScheduleName               DisplayString,
		   clusSnapshotScheduleDescription        DisplayString,
		   clusSnapshotScheduleSoftThreshold      CounterBasedGauge64,
		   clusSnapshotScheduleHardThreshold      CounterBasedGauge64,
		   clusSnapshotScheduleFirstCreationTime  DateAndTime,
		   clusSnapshotScheduleFrequency          Gauge32,
		   clusSnapshotScheduleVolumeName         DisplayString,
		   clusSnapshotScheduleRetainType         INTEGER,
		   clusSnapshotScheduleRetainCount        Gauge32,
		   clusSnapshotScheduleRetainTime         Gauge32,
		   clusSnapshotScheduleType               INTEGER,
		   clusSnapshotScheduleFailureMessage     DisplayString,
		   clusSnapshotScheduleRowStatus          RowStatus
		}

		clusSnapshotScheduleIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusSnapshotScheduleTable table."
			::= { clusSnapshotScheduleEntry 1 }

		clusSnapshotScheduleName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot schedule name."
			::= { clusSnapshotScheduleEntry 2 }

		clusSnapshotScheduleDescription OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot schedule description."
			::= { clusSnapshotScheduleEntry 3 }

		clusSnapshotScheduleSoftThreshold OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The snapshot soft threshold."
			::= { clusSnapshotScheduleEntry 4 }

		clusSnapshotScheduleHardThreshold OBJECT-TYPE
			SYNTAX         CounterBasedGauge64
			UNITS          "kB"
			MAX-ACCESS     read-only
			STATUS         deprecated
			DESCRIPTION    "The snapshot hard threshold."
			::= { clusSnapshotScheduleEntry 5 }

		clusSnapshotScheduleFirstCreationTime OBJECT-TYPE
			SYNTAX         DateAndTime
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The first snapshot creation time."
			::= { clusSnapshotScheduleEntry 6 }

		clusSnapshotScheduleFrequency OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "seconds"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The snapshot frequency."
			::= { clusSnapshotScheduleEntry 7 }

		clusSnapshotScheduleVolumeName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The name of the volume from which to create snapshots."
			::= { clusSnapshotScheduleEntry 8 }

		clusSnapshotScheduleRetainType OBJECT-TYPE
			SYNTAX         INTEGER { byTime(1), byNumber(2) }
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The retention method."
			::= { clusSnapshotScheduleEntry 9 }

		clusSnapshotScheduleRetainCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of snapshot to retain. 0 if clusSnapshotScheduleRetainType is byTime(1)."
			::= { clusSnapshotScheduleEntry 10 }

		clusSnapshotScheduleRetainTime OBJECT-TYPE
			SYNTAX         Gauge32
			UNITS          "seconds"
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The duration to retain the snapshot for. 0 if clusSnapshotScheduleRetainType is byNumber(2)."
			::= { clusSnapshotScheduleEntry 11 }
		 
		clusSnapshotScheduleType OBJECT-TYPE
			SYNTAX         INTEGER { normal(1), primary(2), remote(3) }
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION		"The snapshot schedule type.
							normal(1) - without remote snapshot
							primary(2) - the original in a remote snapshot
							remote(3) - remote snapshot"
			::= { clusSnapshotScheduleEntry 13 }

		clusSnapshotScheduleFailureMessage OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "A message indicating why snapshot failed. Empty if there are no errors."
			::= { clusSnapshotScheduleEntry 14 }

		clusSnapshotScheduleRowStatus OBJECT-TYPE
			SYNTAX         RowStatus
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusSnapshotScheduleEntry 15 }

--******************************************************************************
--
-- Clustering Site Objects
--
--   Includes a count of volume lists in the management group and a table
--   describing each volume list.
--
--******************************************************************************

clusMgmtGroupSiteCount OBJECT-TYPE
	SYNTAX         Integer32
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "The number of sites in the management group."
	::= { lhnNsmClustering 118 }

clusSiteTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusSiteEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of sites for a management group.
				 The number of entries is given by clusMgmtGroupSiteCount.
				 This is only used for Mult-Site clusters."
	::= { lhnNsmClustering 119 }

	clusSiteEntry OBJECT-TYPE
		SYNTAX      ClusSiteEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of site information."
		INDEX { clusSiteIndex }
		::= { clusSiteTable 1 }

		ClusSiteEntry ::= SEQUENCE
		{
		   clusSiteIndex                Unsigned32,
		   clusSiteName                 DisplayString,
		   clusSiteDescription          DisplayString,
		   clusSiteIsPrimary            TruthValue,
		   clusSiteFailoverManager      DisplayString,
		   clusSiteModuleCount          Gauge32,
		   clusSiteRowStatus            RowStatus
		}

		clusSiteIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusSiteTable table."
			::= { clusSiteEntry 1 }

		clusSiteName OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The site name.
						 This is only used for Mult-Site clusters."
			::= { clusSiteEntry 2 }

		clusSiteDescription OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The site description.
						 This is only used for Mult-Site clusters."
			::= { clusSiteEntry 3 }

		clusSiteIsPrimary OBJECT-TYPE
			SYNTAX         TruthValue
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "True if site is primary, false otherwise.
							This is only used for Mult-Site clusters."
			::= { clusSiteEntry 4 }

		clusSiteFailoverManager OBJECT-TYPE
			SYNTAX      DisplayString
			MAX-ACCESS  read-only
			STATUS      current
			DESCRIPTION "The IP address of the failover manager if any exists.
						 This is only used for Mult-Site clusters."
			::= { clusSiteEntry 5 }

		clusSiteModuleCount OBJECT-TYPE
			SYNTAX         Gauge32
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The number of storage modules in the site.
							This is only used for Mult-Site clusters."
			::= { clusSiteEntry 6 }

		clusSiteRowStatus OBJECT-TYPE
			SYNTAX         RowStatus
			MAX-ACCESS     read-only
			STATUS         obsolete
			DESCRIPTION    "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusSiteEntry 7 }

--******************************************************************************
--
-- Clustering Site Module Objects
--
--   This table contains the modules
--   that belong a particular site
--
--******************************************************************************

clusSiteModuleTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusSiteModuleEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of module entries for each site.
				 The number of entries is given by clusSiteModuleCount."
	::= { lhnNsmClustering 120 }

	clusSiteModuleEntry OBJECT-TYPE
		SYNTAX      ClusSiteModuleEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of storage module information for a site."
		INDEX { clusSiteIndex, clusSiteModuleIndex }
		::= { clusSiteModuleTable 1 }

		ClusSiteModuleEntry ::= SEQUENCE
		{
		   clusSiteModuleIndex						Unsigned32,
		   clusSiteModuleName						DisplayString,
		   clusSiteModuleRowStatus					RowStatus
		}

		clusSiteModuleIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusSiteModuleTable table."
			::= { clusSiteModuleEntry 1 }

		clusSiteModuleName OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The name of module."
			::= { clusSiteModuleEntry 2 }

		clusSiteModuleRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-only
			STATUS      obsolete
			DESCRIPTION "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusSiteModuleEntry 3 }

--******************************************************************************
--
-- Clustering Server (Authorization Group) Volume ACL Objects
--
--   This table contains the permissions
--   to allow access in a particular volume list for a volume.
--
--******************************************************************************

clusServerVolumeACLTable OBJECT-TYPE
	SYNTAX      SEQUENCE OF ClusServerVolumeACLEntry
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION "A table of ACL entries for each volume list.
				 The number of entries is given by clusServerVolumeACLCount."
	::= { lhnNsmClustering 121 }

	clusServerVolumeACLEntry OBJECT-TYPE
		SYNTAX      ClusServerVolumeACLEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION "A row of authorization and permissions for a volume list."
		INDEX { clusServerIndex, clusServerVolumeACLIndex }
		::= { clusServerVolumeACLTable 1 }

		ClusServerVolumeACLEntry ::= SEQUENCE
		{
		   clusServerVolumeACLIndex             Unsigned32,
		   clusServerVolumeACLVolume            DisplayString,
		   clusServerVolumeACLPermissions       ClusPermissionBits,
		   clusServerVolumeACLRowStatus         RowStatus
		}

		clusServerVolumeACLIndex OBJECT-TYPE
			SYNTAX         Unsigned32
			MAX-ACCESS     not-accessible
			STATUS         current
			DESCRIPTION    "The index for the clusServerVolumeACLTable table."
			::= { clusServerVolumeACLEntry 1 }

		clusServerVolumeACLVolume OBJECT-TYPE
			SYNTAX         DisplayString
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The volume containing this ACL."
			::= { clusServerVolumeACLEntry 2 }

		clusServerVolumeACLPermissions OBJECT-TYPE
			SYNTAX         ClusPermissionBits
			MAX-ACCESS     read-only
			STATUS         current
			DESCRIPTION    "The permissions bits."
			::= { clusServerVolumeACLEntry 3 }

		clusServerVolumeACLRowStatus OBJECT-TYPE
			SYNTAX      RowStatus
			MAX-ACCESS  read-only
			STATUS      obsolete
			DESCRIPTION "The table row status. Obsolete in SAN/iQ 8.5."
			::= { clusServerVolumeACLEntry 5 }

END

-- END: some MIB compilers require a CR/LF after the END statement --
