LEFTHAND-NETWORKS-NUS-COMMON-CLUSTERING-MIB DEFINITIONS ::= BEGIN -- IMPORTS: Include definitions from other mibs here, which is always -- the first item in a MIB file. IMPORTS TEXTUAL-CONVENTION FROM SNMPv2-TC MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Counter32, Counter64 FROM SNMPv2-SMI RowStatus, TruthValue, DateAndTime FROM SNMPv2-TC lhnModules FROM LEFTHAND-NETWORKS-GLOBAL-REG lhnNusCommonClustering FROM LEFTHAND-NETWORKS-NUS-COMMON-MIB; -- -- A brief description and update information about this mib. -- lhnNusCommonClusteringModule MODULE-IDENTITY LAST-UPDATED "0203060000Z" ORGANIZATION "LeftHand Networks, Inc." CONTACT-INFO " Author: Jose Faria LeftHand Networks postal: 1688 Conestoga St. Boulder, CO 80301 USA email: jfaria@lefthandnetworks.com phone: +1 303 449-4100 " DESCRIPTION "Clustering items for NSM Devices" ::= { lhnModules 14 } -- ********************************************************************************* -- -- Clustering Textual Conventions -- -- ********************************************************************************* ClusPermissionBits ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Bit field for permissions" SYNTAX BITS { read(0), write(1), exclusive(2) } -- ********************************************************************************* -- -- Clustering Management Group objects -- -- ********************************************************************************* clusMgmtGroupName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "Name of management group" ::= { lhnNusCommonClustering 1 } clusMgmtGroupIsEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "True if the management group is enabled, false otherwise" ::= { lhnNusCommonClustering 2 } clusMgmtGroupQuorum OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-write STATUS current DESCRIPTION "Minimum number of managers required to participate in the management group" ::= { lhnNusCommonClustering 3 } clusMgmtGroupDescription OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "Description of the management group" ::= { lhnNusCommonClustering 4 } clusMgmtGroupActiveManagerCount OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Number of active managers in this management group" ::= { lhnNusCommonClustering 5 } clusMgmtGroupManagerCount OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Number of managers in this management group" ::= { lhnNusCommonClustering 6 } -- ********************************************************************************* -- -- 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 system. The number of entries is given by clusSystemManagerCount." ::= { lhnNusCommonClustering 7 } clusManagerEntry OBJECT-TYPE SYNTAX ClusManagerEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of Manager parameters" INDEX { clusManagerIndex } ::= { clusManagerTable 1 } ClusManagerEntry ::= SEQUENCE { clusManagerIndex INTEGER, clusManagerName OCTET STRING, clusManagerVersion OCTET STRING, clusManagerHostSerialNo OCTET STRING, clusManagerStatus INTEGER, clusManagerIsVirtual TruthValue, clusManagerRowStatus RowStatus } clusManagerIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index for a manager" ::= { clusManagerEntry 1 } clusManagerName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "name of the manager" ::= { clusManagerEntry 2 } clusManagerVersion OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "version string of the manager" ::= { clusManagerEntry 3 } clusManagerHostSerialNo OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "serial number of the manager host" ::= { clusManagerEntry 4 } clusManagerStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "manager status" ::= { clusManagerEntry 5 } clusManagerIsVirtual OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "true if manager is virtual, false if not" ::= { clusManagerEntry 7 } clusManagerRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "device row status" ::= { clusManagerEntry 8 } -- ********************************************************************************* -- -- Clustering Module Objects -- -- Includes the count of modules (NSMs) and a table describing -- these modules from the clustering point of view. -- -- The following items may be added later to this table: -- deviceStatus (unknown, formatting, releasing, unformatting, error) -- deviceIsJournal (true, false) -- ********************************************************************************* clusModuleCount OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Number of network storage modules in this system" ::= { lhnNusCommonClustering 8 } clusModuleTable OBJECT-TYPE SYNTAX SEQUENCE OF ClusModuleEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of modules in the system. The number of entries is given by clusModuleCount." ::= { lhnNusCommonClustering 9 } clusModuleEntry OBJECT-TYPE SYNTAX ClusModuleEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of module parameters" INDEX { clusModuleIndex } ::= { clusModuleTable 1 } ClusModuleEntry ::= SEQUENCE { clusModuleIndex INTEGER, clusModuleName OCTET STRING, clusModuleVersion OCTET STRING, clusModuleSerialNo OCTET STRING, clusModuleTotalSize Counter64, clusModuleAvailSize Counter64, clusModuleIsManager TruthValue, clusModuleRaidConfiguration INTEGER, clusModuleRaidStatus INTEGER, clusModuleStorageStatus INTEGER, clusModuleStorageIsReady TruthValue, clusModuleCreationTime DateAndTime, clusModuleDescription OCTET STRING, clusModuleClusterName OCTET STRING, clusModuleRowStatus RowStatus } clusModuleIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index for a module" ::= { clusModuleEntry 1 } clusModuleName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "hostname of module" ::= { clusModuleEntry 2 } clusModuleVersion OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "version string of module" ::= { clusModuleEntry 3 } clusModuleSerialNo OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "serial number of module" ::= { clusModuleEntry 4 } clusModuleTotalSize OBJECT-TYPE SYNTAX Counter64 UNITS "kbytes" MAX-ACCESS read-only STATUS current DESCRIPTION "total storage size of module" ::= { clusModuleEntry 5 } clusModuleAvailSize OBJECT-TYPE SYNTAX Counter64 UNITS "kbytes" MAX-ACCESS read-only STATUS current DESCRIPTION "available storage size of module" ::= { clusModuleEntry 6 } clusModuleIsManager OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "True if module is a manager" ::= { clusModuleEntry 7 } clusModuleRaidConfiguration OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "raid configuration for a module" ::= { clusModuleEntry 8 } clusModuleRaidStatus OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "raid status for a module" ::= { clusModuleEntry 9 } clusModuleStorageStatus OBJECT-TYPE SYNTAX INTEGER { up(1), down(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "storage status for a module" ::= { clusModuleEntry 10 } clusModuleStorageIsReady OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "True if storage in a module is ready" ::= { clusModuleEntry 11 } clusModuleCreationTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "module creation time" ::= { clusModuleEntry 12 } clusModuleDescription OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "description of module" ::= { clusModuleEntry 13 } clusModuleClusterName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "name of cluster to which this module belongs, empty if none" ::= { clusModuleEntry 14 } clusModuleRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "module row status" ::= { clusModuleEntry 15 } -- ********************************************************************************* -- -- Clustering Cluster Objects -- -- Includes a count of clusters in the management group and a table -- describing each cluster. -- -- ********************************************************************************* clusClusterCount OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Number of clusters in this system" ::= { lhnNusCommonClustering 10 } clusClusterTable OBJECT-TYPE SYNTAX SEQUENCE OF ClusClusterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of devices for a particular device group. The number of entries is given by clusClusterCount." ::= { lhnNusCommonClustering 11 } clusClusterEntry OBJECT-TYPE SYNTAX ClusClusterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of cluster parameters" INDEX { clusClusterIndex } ::= { clusClusterTable 1 } ClusClusterEntry ::= SEQUENCE { clusClusterIndex INTEGER, clusClusterName OCTET STRING, clusClusterModuleCount Counter32, clusClusterVolumeCount Counter32, clusClusterDescription OCTET STRING, clusClusterRowStatus RowStatus } clusClusterIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index for a cluster" ::= { clusClusterEntry 1 } clusClusterName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "name of cluster" ::= { clusClusterEntry 2 } clusClusterModuleCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "number of modules in this cluster" ::= { clusClusterEntry 3 } clusClusterVolumeCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "number of volumes in this cluster" ::= { clusClusterEntry 4 } clusClusterDescription OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "description of cluster" ::= { clusClusterEntry 5 } clusClusterRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "cluster row status" ::= { clusClusterEntry 6 } -- ********************************************************************************* -- -- Clustering Cluster Module Objects -- -- This table describes the relationship between clusters -- and modules (NSMs). 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 particular cluster. The number of entries is given by clusClusterModuleCount." ::= { lhnNusCommonClustering 12 } clusClusterModuleEntry OBJECT-TYPE SYNTAX ClusClusterModuleEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of cluster modules" INDEX { clusClusterIndex, clusClusterModuleIndex } ::= { clusClusterModuleTable 1 } ClusClusterModuleEntry ::= SEQUENCE { clusClusterModuleIndex INTEGER, clusClusterModuleName OCTET STRING, clusClusterModuleSerialNo OCTET STRING, clusClusterModuleIsHotSpare TruthValue, clusClusterModuleRowStatus RowStatus } clusClusterModuleIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index for a cluster module entry" ::= { clusClusterModuleEntry 1 } clusClusterModuleName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "name of the module" ::= { clusClusterModuleEntry 2 } clusClusterModuleSerialNo OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "serial number of the module" ::= { clusClusterModuleEntry 3 } clusClusterModuleIsHotSpare OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "true if this module is a hot spare" ::= { clusClusterModuleEntry 4 } clusClusterModuleRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "cluster module row status" ::= { clusClusterModuleEntry 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 INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Number of volumes in this system" ::= { lhnNusCommonClustering 13 } clusVolumeTable OBJECT-TYPE SYNTAX SEQUENCE OF ClusVolumeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of volumes in a system. The number of entries is given by clusVolumeCount." ::= { lhnNusCommonClustering 14 } clusVolumeEntry OBJECT-TYPE SYNTAX ClusVolumeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of volumes" INDEX { clusVolumeIndex } ::= { clusVolumeTable 1 } ClusVolumeEntry ::= SEQUENCE { clusVolumeIndex INTEGER, clusVolumeName OCTET STRING, clusVolumeCreationTime DateAndTime, clusVolumeDescription OCTET STRING, clusVolumeSize Counter64, clusVolumeSoftThreshold Counter64, clusVolumeHardThreshold Counter64, clusVolumeReplicaCount Counter32, clusVolumeSnapshotCount Counter32, clusVolumeACLCount Counter32, clusVolumeClusterName OCTET STRING, clusVolumeIsSoftThresholdExceeded TruthValue, clusVolumeIsHardThresholdExceeded TruthValue, clusVolumeReplicationStatus INTEGER, clusVolumeIsRemoteIPCopy TruthValue, clusVolumeRemoteIPCopyFailureMessage OCTET STRING, clusVolumeRowStatus RowStatus } clusVolumeIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index for a volume entry" ::= { clusVolumeEntry 1 } clusVolumeName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "name of stacked volume" ::= { clusVolumeEntry 2 } clusVolumeCreationTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "volume creation time" ::= { clusVolumeEntry 3 } clusVolumeDescription OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "description for a volume entry" ::= { clusVolumeEntry 4 } clusVolumeSize OBJECT-TYPE SYNTAX Counter64 UNITS "kbytes" MAX-ACCESS read-write STATUS current DESCRIPTION "number of kbytes comprising the volume" ::= { clusVolumeEntry 5 } clusVolumeSoftThreshold OBJECT-TYPE SYNTAX Counter64 UNITS "kbytes" MAX-ACCESS read-write STATUS current DESCRIPTION "number of kbytes to be filled before alert is issued" ::= { clusVolumeEntry 6 } clusVolumeHardThreshold OBJECT-TYPE SYNTAX Counter64 UNITS "kbytes" MAX-ACCESS read-write STATUS current DESCRIPTION "number of kbytes to be filled before the volume stops" ::= { clusVolumeEntry 7 } clusVolumeReplicaCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-write STATUS current DESCRIPTION "number of replicas" ::= { clusVolumeEntry 8 } clusVolumeSnapshotCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "number of snapshots associated with this volume" ::= { clusVolumeEntry 9 } clusVolumeACLCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "number of ACLs associated with this volume" ::= { clusVolumeEntry 10 } clusVolumeClusterName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "name of cluster to which this volume belongs, empty if none" ::= { clusVolumeEntry 11 } clusVolumeIsSoftThresholdExceeded OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "true if soft threshold has been exceeded, false if not" ::= { clusVolumeEntry 13 } clusVolumeIsHardThresholdExceeded OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "true if soft threshold has been exceeded, false if not" ::= { clusVolumeEntry 14 } clusVolumeReplicationStatus OBJECT-TYPE SYNTAX INTEGER { normal(1), faulty(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "status of replication for this volume" ::= { clusVolumeEntry 15 } clusVolumeIsRemoteIPCopy OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "true if this volume is remote IP copy, false if not" ::= { clusVolumeEntry 16 } clusVolumeRemoteIPCopyFailureMessage OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "message indicating why a remote copy into this volume failed, empty if no errors" ::= { clusVolumeEntry 17 } clusVolumeRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "volume row status" ::= { clusVolumeEntry 18 } -- ********************************************************************************* -- -- Clustering Volume ACL Objects -- -- This table contains the authorization communities and permissions -- to allow access for a particular volume. -- -- ********************************************************************************* 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." ::= { lhnNusCommonClustering 15 } 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 INTEGER, clusVolumeACLAuthGroup OCTET STRING, clusVolumeACLPermissions ClusPermissionBits, clusVolumeACLRowStatus RowStatus } clusVolumeACLIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index of volume's ACL entry" ::= { clusVolumeACLEntry 1 } clusVolumeACLAuthGroup OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "authorization group name" ::= { clusVolumeACLEntry 2 } clusVolumeACLPermissions OBJECT-TYPE SYNTAX ClusPermissionBits MAX-ACCESS read-write STATUS current DESCRIPTION "permissions bits" ::= { clusVolumeACLEntry 3 } clusVolumeACLRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status" ::= { clusVolumeACLEntry 4 } -- ********************************************************************************* -- -- 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 particular cluster. The number of entries is given by clusClusterVolumeCount." ::= { lhnNusCommonClustering 16 } clusClusterVolumeEntry OBJECT-TYPE SYNTAX ClusClusterVolumeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of volumes for a cluster" INDEX { clusClusterIndex, clusClusterVolumeIndex } ::= { clusClusterVolumeTable 1 } ClusClusterVolumeEntry ::= SEQUENCE { clusClusterVolumeIndex INTEGER, clusClusterVolumeName OCTET STRING, clusClusterVolumeRowStatus RowStatus } clusClusterVolumeIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index for a cluster's volume entry" ::= { clusClusterVolumeEntry 1 } clusClusterVolumeName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "cluster volume name" ::= { clusClusterVolumeEntry 2 } clusClusterVolumeRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "cluster volume row status" ::= { 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 ClusClusterVolumeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of snapshots for a particular volume. The number of entries is given by clusVolumeSnapshotCount." ::= { lhnNusCommonClustering 17 } clusVolumeSnapshotEntry OBJECT-TYPE SYNTAX ClusClusterVolumeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of volumes for a cluster" INDEX { clusVolumeIndex, clusVolumeSnapshotIndex } ::= { clusVolumeSnapshotTable 1 } ClusVolumeSnapshotEntry ::= SEQUENCE { clusVolumeSnapshotIndex INTEGER, clusVolumeSnapshotName OCTET STRING, clusVolumeSnapshotCreationTime DateAndTime, clusVolumeSnapshotDescription OCTET STRING, clusVolumeSnapshotSize Counter64, clusVolumeSnapshotSoftThreshold Counter64, clusVolumeSnapshotHardThreshold Counter64, clusVolumeSnapshotACLCount Counter32, clusVolumeSnapshotScheduleName OCTET STRING, clusVolumeSnapshotIsSoftThresholdExceeded TruthValue, clusVolumeSnapshotIsHardThresholdExceeded TruthValue, clusVolumeSnapshotReplicationStatus INTEGER, clusVolumeSnapshotType INTEGER, clusVolumeSnapshotCopyProgress INTEGER, clusVolumeSnapshotRowStatus RowStatus } clusVolumeSnapshotIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index for a volumes's snapshot entry" ::= { clusVolumeSnapshotEntry 1 } clusVolumeSnapshotName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "volume snapshot name" ::= { clusVolumeSnapshotEntry 2 } clusVolumeSnapshotCreationTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "volume snapshot creation time" ::= { clusVolumeSnapshotEntry 3 } clusVolumeSnapshotDescription OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "volume snapshot name" ::= { clusVolumeSnapshotEntry 4 } clusVolumeSnapshotSize OBJECT-TYPE SYNTAX Counter64 UNITS "kbytes" MAX-ACCESS read-only STATUS current DESCRIPTION "volume snapshot size" ::= { clusVolumeSnapshotEntry 5 } clusVolumeSnapshotSoftThreshold OBJECT-TYPE SYNTAX Counter64 UNITS "kbytes" MAX-ACCESS read-write STATUS current DESCRIPTION "volume snapshot soft quota" ::= { clusVolumeSnapshotEntry 6 } clusVolumeSnapshotHardThreshold OBJECT-TYPE SYNTAX Counter64 UNITS "kbytes" MAX-ACCESS read-write STATUS current DESCRIPTION "volume snapshot hard quota" ::= { clusVolumeSnapshotEntry 7 } clusVolumeSnapshotACLCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "number of ACLs associated with this snapshot" ::= { clusVolumeSnapshotEntry 8 } clusVolumeSnapshotScheduleName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "volume snapshot schedule name (not displayed if a manual snapshot)" ::= { clusVolumeSnapshotEntry 10 } clusVolumeSnapshotIsSoftThresholdExceeded OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "true if soft threshold has been exceeded, false if not" ::= { clusVolumeSnapshotEntry 12 } clusVolumeSnapshotIsHardThresholdExceeded OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "true if soft threshold has been exceeded, false if not" ::= { clusVolumeSnapshotEntry 13 } clusVolumeSnapshotReplicationStatus OBJECT-TYPE SYNTAX INTEGER { normal(1), faulty(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "status of replication for this volume" ::= { clusVolumeSnapshotEntry 14 } clusVolumeSnapshotType OBJECT-TYPE SYNTAX INTEGER { primary(1), remote(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "primary snapshots are normal, remote snapshots are remote copies" ::= { clusVolumeSnapshotEntry 15 } clusVolumeSnapshotCopyProgress OBJECT-TYPE SYNTAX INTEGER (0..100) UNITS "%" MAX-ACCESS read-only STATUS current DESCRIPTION "percentage progress of a remote IP copy (if a remote copy)" ::= { clusVolumeSnapshotEntry 16 } clusVolumeSnapshotRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "snapshot row status" ::= { clusVolumeSnapshotEntry 17 } -- ********************************************************************************* -- -- Clustering Volume Snapshot ACL Objects -- -- This table contains the authorization communities and permissions for -- a particular volume snapshot. -- -- ********************************************************************************* clusVolumeSnapshotACLTable OBJECT-TYPE SYNTAX SEQUENCE OF ClusVolumeSnapshotACLEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of authorization and permissions for each volume snapshot. The number of entries is given by clusVolumeSnapshotACLCount." ::= { lhnNusCommonClustering 18 } clusVolumeSnapshotACLEntry OBJECT-TYPE SYNTAX ClusVolumeSnapshotACLEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of authorization and permissions for a volume snapshot" INDEX { clusVolumeIndex, clusVolumeSnapshotIndex, clusVolumeSnapshotACLIndex } ::= { clusVolumeSnapshotACLTable 1 } ClusVolumeSnapshotACLEntry ::= SEQUENCE { clusVolumeSnapshotACLIndex INTEGER, clusVolumeSnapshotACLAuthGroup OCTET STRING, clusVolumeSnapshotACLPermissions ClusPermissionBits, clusVolumeSnapshotACLRowStatus RowStatus } clusVolumeSnapshotACLIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index of snapshot's ACL entry" ::= { clusVolumeSnapshotACLEntry 1 } clusVolumeSnapshotACLAuthGroup OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "name of authorization group" ::= { clusVolumeSnapshotACLEntry 2 } clusVolumeSnapshotACLPermission OBJECT-TYPE SYNTAX ClusPermissionBits MAX-ACCESS read-write STATUS current DESCRIPTION "permissions associated with this ACL entry" ::= { clusVolumeSnapshotACLEntry 3 } clusVolumeSnapshotACLRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status" ::= { clusVolumeSnapshotACLEntry 4 } -- ********************************************************************************* -- -- Clustering Authorization Group Objects -- -- This table contains the list of all authorization groups -- -- ********************************************************************************* clusAuthGroupCount OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "number of authorization communities in this management group" ::= { lhnNusCommonClustering 19 } clusAuthGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF ClusAuthGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of hosts for each authorization group. The number of entries is given by clusAuthGroupCount." ::= { lhnNusCommonClustering 20 } clusAuthGroupEntry OBJECT-TYPE SYNTAX ClusAuthGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of authorization group information" INDEX { clusAuthGroupIndex } ::= { clusAuthGroupTable 1 } ClusAuthGroupEntry ::= SEQUENCE { clusAuthGroupIndex INTEGER, clusAuthGroupName OCTET STRING, clusAuthGroupDescription OCTET STRING, clusAuthGroupAcceptAll TruthValue, clusAuthGroupAcceptNone TruthValue, clusAuthGroupAcceptSubnet TruthValue, clusAuthGroupMaskCount Counter32, clusAuthGroupRowStatus RowStatus } clusAuthGroupIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index of authorization group entry" ::= { clusAuthGroupEntry 1 } clusAuthGroupName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "name of authorization group" ::= { clusAuthGroupEntry 2 } clusAuthGroupDescription OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "description of authorization group" ::= { clusAuthGroupEntry 3 } clusAuthGroupAcceptAll OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "accepts any IP addresses if true" ::= { clusAuthGroupEntry 4 } clusAuthGroupAcceptNone OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "does not accept any IP addresses if true" ::= { clusAuthGroupEntry 5 } clusAuthGroupAcceptSubnet OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "accepts addresses described by the subnet list if true" ::= { clusAuthGroupEntry 6 } clusAuthGroupSubnetCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-create STATUS current DESCRIPTION "number of subnets associated with this authorization group" ::= { clusAuthGroupEntry 7 } clusAuthGroupRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status" ::= { clusAuthGroupEntry 8 } -- ********************************************************************************* -- -- Clustering Authorization Group Subnets -- -- This table contains a list of subnet masks -- associated with an authorization group. For each -- authorization group (given by clusAuthGroupIndex) -- it lists the subnet masks belonging to it. -- -- ********************************************************************************* clusAuthGroupSubnetTable OBJECT-TYPE SYNTAX SEQUENCE OF ClusAuthGroupSubnetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of subnets for a particular authorization group. The number of entries is given by clusAuthGroupMaskCount." ::= { lhnNusCommonClustering 21 } clusAuthGroupSubnetEntry OBJECT-TYPE SYNTAX ClusAuthGroupSubnetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row of subnets for an authorization group" INDEX { clusAuthGroupIndex, clusAuthGroupNetmaskIndex } ::= { clusAuthGroupSubnetTable 1 } ClusAuthGroupSubnetEntry ::= SEQUENCE { clusAuthGroupSubnetIndex INTEGER, clusAuthGroupSubnetAddress IpAddress, clusAuthGroupSubnetMask IpAddress, clusAuthGroupSubnetRowStatus RowStatus } clusAuthGroupSubnetIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index for a authorization group subnet" ::= { clusAuthGroupSubnetEntry 1 } clusAuthGroupSubnetAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "address part of subnet" ::= { clusAuthGroupSubnetEntry 2 } clusAuthGroupSubnetMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "mask part of subnet" ::= { clusAuthGroupSubnetEntry 3 } clusAuthGroupSubnetRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "the row status" ::= { clusAuthGroupSubnetEntry 4 } -- ********************************************************************************* -- -- 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 "commication mode" ::= { lhnNusCommonClustering 22 } clusUnicastHostCount OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "number of hosts part of the unicast group" ::= { lhnNusCommonClustering 23 } clusUnicastHostTable OBJECT-TYPE SYNTAX SEQUENCE OF ClusUnicastHostEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of hosts doing unicast communication. The number of entries is given by clusUnicastHostCount." ::= { lhnNusCommonClustering 24 } clusUnicastHostEntry OBJECT-TYPE SYNTAX ClusUnicastHostEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A host entry in the unicast host list" INDEX { clusUnicastHostIndex } ::= { clusUnicastHostTable 1 } ClusUnicastHostEntry ::= SEQUENCE { clusUnicastHostIndex INTEGER, clusUnicastHostName OCTET STRING, clusUnicastHostRowStatus RowStatus } clusUnicastHostIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index for a unicast host entry" ::= { clusUnicastHostEntry 1 } clusUnicastHostName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "unicast host name" ::= { clusUnicastHostEntry 2 } clusUnicastHostRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "the row status" ::= { clusUnicastHostEntry 3 } -- ********************************************************************************* -- -- Clustering Snapshot Schedules -- -- This table contains a list of schedules for automatic -- volume snapshots. -- -- ********************************************************************************* clusSnapshotScheduleCount OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "number of snapshot schedules in the management group" ::= { lhnNusCommonClustering 25 } clusSnapshotScheduleTable OBJECT-TYPE SYNTAX SEQUENCE OF ClusSnapshotScheduleEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of volume snapshot schedules entries. The number of entries is given by clusSnapshotScheduleCount." ::= { lhnNusCommonClustering 26 } clusSnapshotScheduleEntry OBJECT-TYPE SYNTAX ClusSnapshotScheduleEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A host entry in the snapshot schedule list" INDEX { clusSnapshotScheduleIndex } ::= { clusSnapshotScheduleTable 1 } ClusSnapshotScheduleEntry ::= SEQUENCE { clusSnapshotScheduleIndex INTEGER, clusSnapshotScheduleName OCTET STRING, clusSnapshotScheduleDescription OCTET STRING, clusSnapshotScheduleSoftThreshold Counter64, clusSnapshotScheduleHardThreshold Counter64, clusSnapshotScheduleFirstCreationTime DateAndTime, clusSnapshotScheduleFrequency Counter32, clusSnapshotScheduleVolumeName OCTET STRING, clusSnapshotScheduleRetainType INTEGER, clusSnapshotScheduleRetainCount Counter32, clusSnapshotScheduleRetainTime Counter32, clusSnapshotScheduleType INTEGER, clusSnapshotScheduleFailureMessage OCTET STRING, clusSnapshotScheduleRowStatus RowStatus } clusSnapshotScheduleIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "index for a unicast host entry" ::= { clusSnapshotScheduleEntry 1 } clusSnapshotScheduleName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "schedule name" ::= { clusSnapshotScheduleEntry 2 } clusSnapshotScheduleDescription OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "schedule description" ::= { clusSnapshotScheduleEntry 3 } clusSnapshotScheduleSoftThreshold OBJECT-TYPE SYNTAX Counter64 UNITS "kbytes" MAX-ACCESS read-write STATUS current DESCRIPTION "snapshot soft quota" ::= { clusSnapshotScheduleEntry 4 } clusSnapshotScheduleHardThreshold OBJECT-TYPE SYNTAX Counter64 UNITS "kbytes" MAX-ACCESS read-write STATUS current DESCRIPTION "snapshot hard quota" ::= { clusSnapshotScheduleEntry 5 } clusSnapshotScheduleFirstCreationTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "first snapshot creation time" ::= { clusSnapshotScheduleEntry 6 } clusSnapshotScheduleFrequency OBJECT-TYPE SYNTAX Counter32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "snapshot frequency" ::= { clusSnapshotScheduleEntry 7 } clusSnapshotScheduleVolumeName OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "name of volume from which to create snapshots" ::= { clusSnapshotScheduleEntry 8 } clusSnapshotScheduleRetainType OBJECT-TYPE SYNTAX INTEGER { byTime(1), byNumber(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "schedule retain type" ::= { clusSnapshotScheduleEntry 9 } clusSnapshotScheduleRetainCount OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-write STATUS current DESCRIPTION "number of snapshot to retain (defaults to 0 if retain type is byTime)" ::= { clusSnapshotScheduleEntry 10 } clusSnapshotScheduleRetainTime OBJECT-TYPE SYNTAX Counter32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "how long to retain snapshots (defaults to 0 if retain type is byNumber)" ::= { clusSnapshotScheduleEntry 11 } clusSnapshotScheduleType OBJECT-TYPE SYNTAX INTEGER { normal(1), primary(2), remote(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "type of snapshot schedule, normal is without remote copy, primary is the original in a remote IP copy, remote is for remote IP copies" ::= { clusSnapshotScheduleEntry 13 } clusSnapshotScheduleFailureMessage OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "if a snapshot fails, this contains an error message, otherwise empty" ::= { clusSnapshotScheduleEntry 14 } clusSnapshotScheduleRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "the row status" ::= { clusSnapshotScheduleEntry 15 } END