Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Swarm calculates storage use by addressable object in order to support conventional (storage filer) reporting of file counts and their space usage. This approach tracks cluster-wide capacity by counting logical objects (the unique content of uploaded and versioned files) rather than actual streams (the raw space that is consumed by all Swarm components, including replicas, EC segments, context objects, and manifests). The versions add to the object totals; if a cluster held one 20 MB image with 3 replicas and 4 prior versions: 5 logical objects and ~100 MB logical space is consumed.

Swarm continuously sends its nodes updates about the cluster's logical usage (the current number of objects and the space they consume), which the nodes update with their own space-affecting activity. Swarm then aggregates these updates (for accuracy) and publishes them via SNMP and REST as logicalObjects  and logicalSpace. A third statistic, logicalUnprocessed, exists to provide insight into the accuracy of the other statistics (the closer to zero it is, the more accurate they are). Swarm  Swarm propagates this data quickly, so there is little lag behind the cluster activity that affects usage: writes, deletes, and updates. After a disk failure, however, you  you will see a drop in the aggregated estimates, followed by an increase to the true value, once Volume Recovery recreates the lost streams that were on that disk. 

title
Info

Tip

When you first boot your cluster after installing or upgrading to version 9.0, Swarm starts traversing the volumes to build these statistics, so they will not be accurate until that completes; however, the value of logicalUnprocessed indicates how it is progressing. Expect it to take 1 complete HP cycle to drop logicalUnprocessed to 0.

Usage via SNMP and REST

Swarm aggregates usage statistics from each volume and publishes them as cluster-wide values:

Aggregates

Units

Description

Accuracy

logicalObjects 

count

The number of unique objects (including historical versions) stored for the entire cluster. Each content object counts only as 1, regardless of the number of replicas or EC segments that comprise it.

Approaches the actual number of logical objects in the cluster, minus context (domain, bucket) objects.

Info
title

Note

Logical counts are estimates, and they are not accurate during volume recovery. The estimating is a consequence of Swarm's robust, no-single-point-of-failure design: Swarm keeps no master list of objects, so counts are inferred from multiple overlapping sources of information.


logicalSpace 

MB

The logical space stored for the entire cluster, including historical versions (which are separate objects).

Includes both the data and the persisted headers on each object, with header newlines counting as two characters (‘\r\n’). EC encoded objects may include a small overage.

logicalUnprocessed 

count

The number of streams in the cluster that have not been accounted for in logicalObjects and logicalSpace.  

After implementation, it will drop until it catches up, approaching zero.

When compared to the number of streams in the cluster, allows rough verification of other statistics, especially following the first boot after it is implemented.


title
Info

Remember

These are cluster-level statistics, so each node is publishing the same values.

You can get logicalObjects, logicalSpace, and logicalUnprocessed by polling a node using SNMP:

SNMP for usage
Code Block
title
languagebashSNMP for usage
snmpget -m +CARINGO-CASTOR-MIB -v2c -M +/usr/share/snmp/mib2c-data -cPASSWORD -OQs 
	{node- ip} logicalSpace

Alternatively, you can get logicalObjects, logicalSpace, and logicalUnprocessed by polling a node using the REST API:

REST call for usage
Code Block
languagexmltitleREST call for usage
http://{node- ip}:91/api/storage/clusters/{clustername}

...

Usage statistics are also reported via Swarm's /wiki/spaces/DOCS/pages/2443813497 mechanism. These metrics are checked on demand, at query time. Although Swarm publishes the statistics under the volume metrics, be aware that the values represent the cluster level:

Volume Metrics

Units

Description

logical_objects 

count

The number of unique objects (including historical versions) stored for the entire cluster. Each content object counts only as 1, regardless of the number of replicas or EC segments that comprise it.

logical_space 

bytes

The logical space stored for the entire cluster. The logical_space value is in bytes, not MB, for greater accuracy. 

logical_unprocessed 

count

The number of streams (replicas, EC segments, etc.) in the cluster that have not been counted for logicalObjects and logicalSpace.