Settings Reference

Following are the published settings allowing configuration of how storage cluster nodes operate. They are sorted alphabetically by section, and some do not appear in the provided node.cfg.sample configuration file. Use the Swarm UI to change these settings.

Dynamic Settings and SNMP: Many cluster settings (and a few node settings) are dynamic, accepting runtime changes without any hardware restarting. Dynamic settings are those with SNMP names defined below. Settings that cannot be changed dynamically are flagged with a restart icon in the Swarm UI, and settings that cannot be changed dynamically are flagged with a restart icon: The changes are applied and take effect after the next restart. See Persisted Settings (SNMP) to change settings by SNMP.

When a setting is not dynamic, it is because changing it on a running cluster can destabilize the cluster; examples are cluster.name and cluster.enforceTenancy (see How enforceTenancy Works).

Node (Chassis) Settings: Each physical or virtual machine is one Swarm node. The local config file is read and the node inherits the settings from that file on reboot. Most of the node (chassis) settings (those without an SNMP Name) require a reboot of the affected machine (chassis) to take effect; the Swarm UI flags such settings with a restart icon.

Tip

The special value -1 is often used to direct Swarm to take the value of another setting. Follow the guidance in the setting description to use it correctly in each context.

Cluster Settings

Name SNMP

Default

Description and
Examples

Name SNMP

Default

Description and
Examples

bidding.relocationThreshold
SNMP: relocationThreshold

5

Percentage, 0-100. How much difference between volume utilizations will cause a lower bid on another node to relocate or rebalance a replica to the other node. Lower values improve load balancing and throughput. Higher values minimize data movement at the expense of lower maximum throughput.

cip.group
SNMP: group

224.0.10.100

The multicast IP address for the cluster, as a Class D IP address in the 224.0.0.0 - 239.255.255.255 range. This address must be unique for each cluster. When configuring multiple, distinct clusters, take care that the multicast groups do not overlap, as any node with the same multicast group will become part of a single cluster. Set to blank to not use multicast. If this is done, the cluster.name must be unique within your network.
Examples:
224.5.5.7
239.255.255.253

cip.queryRetryMultiplier
SNMP: queryRetryMultiplier

1

What multiple of time to wait on each successive UDP multicast read retry.

cip.ttl

1

Controls configuration of multicast network traffic TTL (time to live). When set to 1, the multicast traffic should remain on the subnet.

cluster.enforceTenancy
SNMP: enforceTenancy

false

Setting to True (recommended) ensures that all content is written into a domain named in the request or else into the default domain. Setting to False (default) allows backward compatibility for applications in use before Swarm 5.0 that access data outside of domains and is required when using Gateway in legacy only mode to access this kind of content. Set to True for new deployments.

cluster.name
SNMP: cluster

 

The name of the cluster. Use an IANA-compatible domain name, such as cluster.example.com, and create one domain with the same name as the cluster, which sets up a default cluster domain that holds all unnamed objects. Do not use spaces in the name. To prevent confusion, configure all nodes in the cluster with the same cluster name.
Example:
swarm1.yourcompany.com

cluster.proxyIPAddress

 

[deprecated] The reverse proxy IP address for the cluster. Use cluster.proxyIPList instead.
Example:
129.3.7.14

cluster.proxyIPList
SNMP: clusterProxyIpList

 

For use with bidirectional GET replication only, to configure proxies on the source side for the target nodes to connect to. A comma-separated list of reverse proxy IP addresses or names, including ports in name:port format.
Example:
129.3.7.14:80, 129.3.7.15:80

cluster.proxyPort

80

[deprecated] The reverse proxy access port for the cluster. Use cluster.proxyIPList instead.

console.expiryErrInterval

10

Number of days before the cluster license expires to generate an error as a log message and a console indicator.

console.expiryWarnInterval

30

Number of days before the cluster license expires to generate a warning as a log message and a console indicator.

console.indexErrorLevel

90

Percentage, 0-100. How much index utilization will generate an error as a log message and a console indicator.

console.indexWarningLevel

80

Percentage, 0-100. How much index utilization will generate a warning as a log message and a console indicator.

console.messageExpirationSeconds
SNMP: messageExpirationSeconds

1209600

In seconds; defaults to 2 weeks. How long until an error expires out of the error table.

console.port

90

Which port Swarm uses to listen for requests. All nodes in the same cluster must be set to the same port. When deploying Swarm into untrusted network environments, firewall this port so that only administrators can access it.

console.reportStyleUrl

 

The URL for the path to the stylesheet and image files for configuring Swarm console.
Example:
http://10.10.15.32/css/swarm-reports.css

console.spaceErrorLevel

10

Percentage, 0-100. How much cluster capacity remaining will generate an error as a log message and a console indicator.

console.spaceWarnLevel

25

Percentage, 0-100. How much cluster capacity remaining will generate a warning as a log message and a console indicator.

console.styleUrl

 

The URL for the path to the stylesheet and image files for configuring the Swarm console.
Example:
http://10.10.15.32/css/swarm.css

disk.atimeEnabled
SNMP: accessedTimeEnabled

false

Whether to track the time of last access on GET requests, stored in the Castor-System-Accessed header and indexed as the search field 'accessed'. Increases load on the cluster and Elasticsearch.

disk.atimeGranularity
SNMP: accessedTimeGranularity

86400

In seconds; defaults to 1 day. The window during which accessed time will not be updated. Lowering the value affects GET performance.

disk.contextDeleteMarkerLifespan

31536000

In seconds; defaults to 1 year. How long a delete marker lives for a context (domain or bucket) object.

disk.deleteMarkerLifespan

1209600

In seconds; defaults to 2 weeks. How long the cluster remembers a deleted named object.

disk.obsoleteTimeout

7776000

In seconds; defaults to 3 months. The amount of time after which an unused volume is considered "stale" and will not recover, except with use of the 'k' modifier.

ec.conversionPercentage
SNMP: ecConversionPercentage

0

Percentage, 1-100; 0 stops all conversion. Adjusts the rate at which the Health Processor consolidates multi-set erasure-coded objects each HP cycle. Lower to reduce cluster load; increase to convert a large number of eligible objects faster, at the cost of load on the cluster. Requires policy.eCEncoding to be specified.

ec.convertToPolicy
SNMP: ecConvertToPolicy

false

When true, convert existing EC objects to whole replicas or to the EC encoding as specified by policy.

ec.convertVersionedObjects
SNMP: ecConvertVersionedObjects

false

When true, Swarm performs lifepoint conversions and consolidations of multi-set erasure-coded versioned objects.

ec.maxManifests
SNMP: ecMaxManifests

6

Range, 2-36. The maximum number of manifests written for an EC object. Usually p+1 are written for a k:p encoding. Do not set above 6 unless directed by Support.

ec.minParity
SNMP: ecMinParity

-1

Range -1 or 1-4; default of -1 is max(policyminreps - 1, 1), where policyminreps is the min value in policy.replicas. The minimum number of parity segments the cluster requires. This is the lower limit on p for EC content protection, regardless of the parity value expressed on individual objects through query arguments or lifepoints.

ec.protectionLevel
SNMP: ecProtectionLevel

node

Either 'node', 'subcluster', 'device', or 'volume'. At what level segments must be distributed for an EC write to succeed; note that multiple segments are allowed per level, if needed. 'node' (default) distributes segments across the cluster's physical/virtual machines. 'subcluster' requires node.subcluster to be defined across sets of nodes. You must have (k+p)/p nodes/subclusters for those levels; at minimum, you must have k+p volumes/devices.

ec.s3Mode
SNMP: ecS3Mode

true

Defaults to True. When set, assume EC writes are mostly through S3, enabling some space optimiations.

ec.segmentConsolidationFrequency
SNMP: ecSegmentConsolidationFrequency

10

Percentage, 1-100, 0 to disable. How quickly the health processor consolidates object segments after ingest. Increase this value (such as to 25, to consolidate over 4 HP cycles) to make new content readable sooner by clients. For multipart uploads via S3 clients, 10 is recommended; for SwarmFS, 100 is recommended, with extra space allowances for trapped space. Consolidation changes the ETag (which affects If-Match requests) and Castor-System-Version headers, but Content-MD5 and Castor-System-CompositeMD5 headers are unchanged. Therefore, have clients use hash and last-modified date, rather than ETag, to find if an object has changed.

ec.segmentSize
SNMP: ecSegmentSize

-1

In bytes; default of -1 implies 200 MB, with recommended minimum of 100 MB. The maximum size allowed for an EC segment before triggering another level of erasure coding. For mostly large (1+ GB) objects, increase to minimize the number of EC sets, which reduces index memory usage. Alternatively, increase the size as needed per write request using the 'segmentsize' query arg.

feeds.pauseDisconnectPerHourLimit
SNMP: feedsPauseDisconnectPerHourLimit

1000

Pause a feed if the number of disconnections per hour exceeds this value. 0 disables.

feeds.retry
SNMP: feedsRetryDelays

[30, 300, 1200]

In seconds. The progressive number of retry attempts by the plug-in, when blocked.
Example:
[60, 60, 60, 3600]

feeds.statsReportInterval

300

In seconds. How frequently to report statistics.

health.defragInterval
SNMP: healthDefragInterval

3600

In seconds; defaults to 1 hour. How long to wait between attempts to defrag a volume during an HP cycle.

health.ecrSegmentDelay
SNMP: healthECRSegmentDelay

0.0

In seconds; defaults to 0.0. Tunes ECRs by defining the length of the forced delay after each segment is relocated. Change from default only as directed.

health.examDelay
SNMP: healthExamDelay

0.19

In seconds; defaults to 0.19. Tunes the health processor by defining the length of the forced delay until the next HP exam, or removes the delay altogether (-1). Change from default only as directed.

health.fvrPushDelay
SNMP: healthFVRPushDelay

0.7

In seconds; defaults to 0.7. Tunes FVRs by defining the length of the forced delay after each replica/bundle is pushed to another node. Change from default only as directed.

health.neonatalROWProtection

true

If the exam queue for newly written objects is close to overflow, enables Swarm to override the data protection scheme of transitioning to ROW (scsp.replicateOnWrite). All subsequent replicas are processed out of this queue.

health.offloadPauseInterval
SNMP: healthOffloadPauseInterval

600

The delay between attempts to bulk offload to the cluster, in seconds.

health.parallelWriteTimeout
SNMP: healthParallelWriteTimeout

2592000

In seconds; defaults to 1 month. When to time out an uncompleted multipart upload so that Swarm can clean up the unused parts. 0 disables; do not disable if using SwarmFS.

health.persistentUnderreplicationAlertPercent
SNMP: healthPersistentUnderreplicationAlertPercent

2

Percentage, 0-100; set 0 to disable. Creates an alert when this percentage (or more) of objects are persistently under-replicated.

health.recursiveDeleteDelay

604800

In seconds; defaults to 1 week. The length of the grace period before the health processor begins reclaiming the space for a deleted domain or bucket. During this grace period, you can restore the domain or bucket without losing any of its content. No grace period is granted if you use recursive=now.

health.relocationVolumeFillRate
SNMP: hpRelocationVolumeFillRate

10

Percentage, 0-100. How much available space on new volumes may be filled for object relocation during one cluster health processor (HP) cycle, to prevent the HP on existing nodes from overwhelming a new, empty node.

health.replicationMulticastFrequency
SNMP: repMulticastFrequency

1

Percentage, 0-100. The frequency, as an approximate percentage, that UUIDs are multicast to verify replicas. Set this parameter to the same value for all nodes in the cluster.

health.replicationUnicastFrequency
SNMP: repUnicastFrequency

100

Percentage, 0-100. The frequency, as an approximate percentage, that a unit is forced to verify hints.

health.underreplicationAlertPercent
SNMP: healthUnderreplicationAlertPercent

10

Percentage, 0-100; set 0 to disable. Generates an under-replication alert when the percentage of under-replicated objects exceeds this value.

health.underreplicationTolerance
SNMP: healthUnderreplicationTolerance

100

Count. The number of under-replicated objects below which to suppress the alerts triggered by health.underreplicationAlertPercent.

index.optimize404
SNMP: overlayOptimize404

true

Enables the Optimize 404 feature in the overlay index, which returns 404 without multicast where possible.

index.ovMinNodes
SNMP: overlayMinNodes

3

Count. The minimum number of cluster nodes needed to activate use of the overlay index.

index.overlayEnabled
SNMP: overlayIndexEnabled

true

Enables the overlay index.

log.host
SNMP: logHost

 

The IP address of the remote Syslog server. Logging must be used for production environments. Set to '' to stop logging in test environments.
Example:
10.10.33.12

log.level
SNMP: logLevel

30

The log level, from most to least verbose, each including everything below it: 10, 20, 30, 40, 50, 0. 10 Debug (all information plus stack traces), 15 Audit (replication and object movement), 20 Info (informational, including non-errors), 30 Warn (user and application errors, plus SCSP 4xx/5xx codes), 40 Error (server hardware and software errors, plus abnormal conditions), 50 Critical (errors that can result in data loss, such as disk I/O errors), 0 Disable logging.

log.obscureUUIDs
SNMP: logObscureUUIDs

false

Whether to obscure UUIDs from displaying in INFO and higher level logs (does not affect AUDIT and lower levels). Set to True to abbreviate the UUID, if indicated by your security requirements.

log.port
SNMP: logPort

514

The port for the remote syslog host to use.

metrics.diskUtilizationCheckInterval

600

[deprecated] In seconds, from 15 seconds to 1 day; defaults to 10 minutes. How frequently to check disk utilization on the Elasticsearch cluster.

metrics.diskUtilizationThreshold

5

[deprecated] Percentage, 0-100. The minimum space available Elasticsearch disk space that, when reached, will stop metrics from being indexed.

metrics.enableNodeExporter

true

Enabled by default. Set to FALSE to to disable the node_exporter service, for the export of both node system metrics and Swarm metrics.

metrics.nodeExporterFrequency
SNMP: metricsExporterFrequency

0

In seconds, from 1 minute to 1 hour; How frequently to refresh Swarm-specific metrics via the node exporter. 0 disables export of this data.

metrics.period
SNMP: metricsPeriod

900

[deprecated] In seconds, from 15 seconds to 1 day; defaults to 15 minutes. How frequently to capture metrics-related statistics.

metrics.port
SNMP: metricsTargetPort

9200

[deprecated] The port on the Elasticsearch server where metrics-related statistics are captured.

metrics.target
SNMP: metricsTargetHost

 

[deprecated] One or more servers in the Elasticsearch cluster (fully qualified domain names or IP addresses) where metrics-related statistics are captured. Use spaces or commas to separate multiple values. To disable statistics collection, leave blank.
Examples:
es1.yourcompany.com, es2.yourcompany.com
10.12.14.14

network.dnsDomain

 

Optional. The domain name(s) that will be searched for host name resolution when using static IP assignment. Ignored unless network.ipAddress is set. Use in conjunction with network.dnsServers.
Examples:
example.com
hq.example.com dr.example.com

network.dnsServers

 

Optional. The servers that will be used for host name resolution when using static IP assignment. Ignored unless network.ipAddress is set. Use in conjunction with network.dnsDomain.
Examples:
8.8.8.8
1.1.1.1 8.8.4.4

network.icmpAcceptRedirects

true

Determines if the node accepts routing information from ICMP redirect responses.

network.igmpTimeout
SNMP: networkIGMPTimeout

0

In seconds; defaults to 0 (disabled). The IGMP querier timeout, which is the frequency that IGMP queries will be sent on the network.

network.igmpVersion

2

Range, 1-3. The IGMP (Internet Group Management Protocol) version that the Linux kernel will use for host membership queries.

network.mtu

0

In bytes. Sets the maximum transmission unit (MTU) that Swarm accepts. Set to a higher value to use jumbo frames. Before you change the default value, verify that the node's network interfaces and all other network hardware support the selected MTU; otherwise, the nodes might not be able to replicate objects or communicate. Set to 0 to use value from DHCP or else 1500.

policy.eCEncoding
SNMP: policyECEncoding

unspecified anchored

The cluster-wide setting for the EC (erasure coding) encoding policy. Valid values: unspecified, disabled, k:p (a tuple such as 5:2 that specifies the data (k) and parity (p) encoding to use). Add 'anchored' to set this cluster-wide; remove it to allow domains and buckets to have custom encodings.
Examples:
5:2
6:3 anchored

policy.eCMinStreamSize
SNMP: policyECMinStreamSize

1Mb anchored

In integer units of megabytes (MB) or gigabytes (GB); must be 1MB or greater. The size that triggers an object to be erasure-coded, if specified (by eCEncoding, lifepoint, query arg) and allowed by policy. Below this threshold, objects are replicated unless they are multipart or chunked writes. Add 'anchored' to set this cluster-wide; remove it to allow domains and buckets to have custom values.
Examples:
100Mb
1GB anchored

policy.lifecycle
SNMP: policyLifecycle

disabled

The cluster-wide setting for bucket lifecycle policies. If enabled, bucket lifecycle policies will be evaluated.
Examples:
disabled
enabled

policy.replicas
SNMP: policyReplicas

min:2 max:16 default:2 anchored

The minimum, maximum, and default number of replicas allowed for objects in this cluster. Can differ from the policy in a replicated target cluster.
Examples:
min:2 max:16 default:3
min:3 max:10 default:3

policy.versioning
SNMP: policyVersioning

disallowed

Specifies whether versioning is allowed to be enabled on contexts (domains and buckets) within the cluster. Valid states: disallowed, suspended, allowed. This policy overrides context-level policies. Disallowed removes historical versions, if any. Suspended stops creation of new versions but retains version history.
Examples:
allowed
disallowed
suspended

power.savingMode
SNMP: powerSavingMode

false

Enables Power Saving mode, which allows the system to go to sleep or power cap. Set to False to disable Power Saving mode.

power.sleepAfter
SNMP: sleepAfter

7200

In seconds, 60 or greater; defaults to 2 hours. In Power Saving mode, how long a node is inactive before it becomes idle.

power.wakeAfter
SNMP: wakeAfter

28800

In seconds; defaults to 8 hours. In Power Saving mode, how long a node is idle before it becomes active again.

recovery.completedRecoveryExpiration
SNMP: completedRecoveryExpiration

2592000

In seconds; defaults to 30 days. How long to remember completed recoveries.

recovery.suspend
SNMP: volumeRecoverySuspend

false

Defaults to False, which allows normal volume recovery and recovery behavior. Set to True to disable all recovery behavior. All nodes in the cluster must be set to the same value.

recovery.suspendedVolumes
SNMP: castorAddVolumeRecoverySuspend, castorRemoveVolumeRecoverySuspend

[]

The comma-separated list of 32-character volume IDs of the volumes for which recovery is suspended.
Example:
['d315ca82bae4b4a0d24fd90904216554', '2195a057c205bd58e05f5835d4b9f21e']

recovery.volMaintenanceInterval
SNMP: volMaintenanceInterval

10800

In seconds; defaults to 3 hours. How long the cluster waits after a node has been rebooted or shut down before considering the node and its volumes missing for recovery and replication purposes. This time does not include the time to mount the volumes. This maintenance window allows administrators to perform regular, scheduled tasks on a node without creating over-replication in the cluster. Node shutdowns or failures that are not initiated by an administrator are considered immediately missing.

scsp.allowPutCreate
SNMP: allowPutCreate

false

When true, PUTs can be used to create new named objects. Conditional headers still apply. With this option enabled, you do not need to add the putcreate query argument.

scsp.autoContentMD5Computation
SNMP: autoContentMD5Computation

false

When true, Swarm computes and stores the Content-MD5 value on every applicable write.

scsp.autoRecursiveDelete
SNMP: autoRecursiveDelete

true

When true, all context deletes (deletes of domains and buckets) are treated as recursive, which prevents orphaned content. With this option enabled, you do not need to add the recursive query argument. To force immediate reclamation of space, use the recursive=now argument.

scsp.autoSynchronousIndex

false

Whether to automatically attempt synchronous indexing on POST, PUT, APPEND, COPY and DELETE requests.

scsp.autoSynchronousListingAction

 

Whether to automatically attempt synchronization on listing requests. Value 'wait' means to wait for scsp.synchronousListingWait, 'now' means to actively refresh the ES index, and '' means to not try to synchronize.

scsp.clientPoolTimeout
SNMP: scspClientPoolTimeout

120

In seconds. How long until pooled SCSP connections expire.

scsp.defaultContextReplicas
SNMP: scspDefaultContextReplicas

-1

Defaults to -1, which uses the value of scsp.maxContextReplicas. Sets the default number of replicas for a POST/PUT on a context (domain or bucket) object if the number is not specified by the current lifepoint or the request.

scsp.defaultFeedSendTimeout

30.0

The timeout on a feed SEND request, if the timeout=true query argument is provided.

scsp.defaultROWAction
SNMP: scspDefaultROWAction

immediate

The default Replicate On Write (ROW) action when scsp.replicateOnWrite is enabled. Valid options are 'immediate', 'full', or an integer between 2 and 5 (inclusive).

scsp.defaultSynchronousIndexWait

60.0

The default length of time to wait for a synchronous indexing attempt on POST, PUT, APPEND, COPY and DELETE requests.

scsp.domainHeaders

['X-Forwarded-Host', 'Host']

A comma-separated list of headers that specifies the search order in which to find the host of an SCSP request. RFC 7230 5.4 requires a Host header with every SCSP request to support web servers or server farms that host multiple domains. Your client might use an HTTP proxy that modifies the Host header, but the Swarm domain name matches the original Host header. In that case, an HTTP proxy copies the original Host header into another header, typically X-Forwarded-Host.
Examples:
['X-Forwarded-Host', 'Host', 'X-ProxyForward-Host']
['Host']

scsp.enableVolumeRedirects
SNMP: enableVolumeRedirects

false

Whether to allow redirects to SCSP heads on volume processes, for faster GET requests. For use with Gateway only, and best for sites with smaller objects.

scsp.falseStartTimeout

240

In seconds, 0 to disable; defaults to 4 minutes. How long to wait to receive the first byte before timing out and disconnecting.

scsp.filterResponseBlacklist
SNMP: filterResponseBlacklist

[]

Which headers to remove from HTTP responses. List is comma-separated and case-insensitive. For example: ['Castor-System-Path', 'Castor-System-Owner']

scsp.filterResponseHeaders
SNMP: filterResponseHeaders

none

Swarm will filter response headers according to the given method. Allowed values: 'none', 'blacklist', 'whitelist'.

scsp.filterResponseWhitelist
SNMP: filterResponseWhitelist

[]

Which headers to retain in HTTP responses, removing all others. List is comma-separated and case-insensitive. For example: ['Etag', 'Last-Modified']

scsp.idleDisconnectTimeout

14400

In seconds, 0 to disable; defaults to 4 hours. How long to wait after receiving the last byte before timing out and disconnecting.

scsp.keepAliveInterval
SNMP: keepAliveInterval

15

How many seconds to wait before sending successive chunked keep-alive bytes after a 202 Accepted response.

scsp.maxContextReplicas
SNMP: maxcontextreplicas

16

Count. Sets the maximum number of replicas in this cluster for a context (domain or bucket) object.

scsp.maxReadTime

10800

SCSP read time limit in seconds; defaults to 3 hours. SCSP GET requests running longer than this value will be prematurely closed.

scsp.maxWriteTime
SNMP: scspMaxWriteTime

10800

SCSP write time limit in seconds; defaults to 3 hours. SCSP write requests running longer than this value will be prematurely closed.

scsp.port
SNMP: scspport

80

Port number; defaults to 80. The port used by client applications to access cluster nodes with HTTP requests. This setting must be the same on all nodes in the same cluster.

scsp.replicateOnWrite
SNMP: autoRepOnWrite

true

Enabled by default. Improves content integrity by requiring a replica to be written in order for the POST, PUT, COPY, or APPEND request to succeed. Set to False to have the health processor manage creation of replicas after the write.

scsp.requireExplicitContextCreate
SNMP: requireExplicitContextCreate

false

When true, Swarm requires creation of a context (domain or bucket) to include the 'Content-type: application/castorcontext' header. Enable the option to protect against content being erroneously written as context objects, which hurts performance.

scsp.synchronousIndexingFailuresPerHourLimit
SNMP: scspSynchronousIndexingFailuresPerHourLimit

100

Issue a CRITICAL log message if the number synchronous indexing failures per hour exceeds this value. 0 disables.

scsp.synchronousListingWait

1.0

The length of time to wait for a list synchronization.

scsp.validateOnRead
SNMP: scspValidateOnRead

false

Disabled by default. Enable to force Swarm to validate the object's contents before returning successful read responses to client requests. Although validation can be specified on a per-read basis, this setting forces all reads to use validation. During the read from the disk, the content hash is computed. If the hash is wrong, indicating logical disk corruption, the socket will be closed before the last block is transmitted, forcing an error to the client. Note that using this option creates additional CPU load on the node.

search.caseInsensitive

false

Whether metadata fields should support case-insensitive searching. If true, then all custom metadata will be indexed to support only case-insensitive searching.

search.discoverIndexerNodes
SNMP: discoverIndexerNodes

true

Whether to discover indexer nodes in the cluster or use the configured ones only.

search.enableCustomMetadataTyping
SNMP: enableCustomMetadataTyping

false

Whether to publish custom metadata typing information to Elasticsearch.

search.enableDelimiterPaths
SNMP: enableDelimiterPaths

true

Whether to publish name delimiter path information to Elasticsearch.

search.numberOfShards
SNMP: searchNumberOfShards

12

The number of shards to use when creating new Elasticsearch search indexes.

search.pathDelimiter

/

Which character to use for parsing directory paths from object names, such as '2018/Q4/snapshot.pdf'. Defaults to forward slash: /

security.administrators
SNMP: addModifyAdministrator, removeAdministrator

{'admin': 'ourpwdofchoicehere'}

One or more username:password pairs. Sets credentials for who can administer the cluster via the Swarm UI. If the value includes the snmp username, remove it from here and update snmp.rwCommunity with its password.
Example:
{'admin': 'adminpassword', 'admin2': 'adminpassword2'}

security.noauth

true

[deprecated] To enable native Swarm authorization, set to False.

security.operators

{}

One or more username:password pairs. Sets credentials for who can view the Swarm UI. If the value includes an snmp username, it is ignored; remove it from here and update snmp.roCommunity with its password.
Example:
{'operator': 'operatorpassword', 'operator2': 'operatorpassword2'}

security.secureLogging
SNMP: secureLogging

false

Enable to prevent logging of the details of a client request. This option results in short, secure log messages.

snmp.getnextskips

['35', '36.20', '36.21', '36.22', '36.23', '36.25', '37.11.8', '38', '41', '55', '57', '58', '61', '63', '64', '65', '66', '68', '69']

List of OIDs to be skipped on output. To protect cluster performance, this setting causes the snmpwalk of the entire CASTOR MIB to skip several large, detailed tables in SNMP groups. The default list of OIDs causes a top-level snmpwalk to skip the groups or tables under clusterConfig, responseHistogramTable, hp, clusterdata, indexer, configVariableTable, castorFeeds, feedVolTable, performance, and recoveryTable. You can add or remove OIDs to control which sections of the MIB are returned by an snmpwalk. Enter values as strings in numeric form, relative to the Castor OID, .1.3.6.1.4.1.24659.1.
Example:
['35', '37.11.8', '38', '41', '55', '57', '58', '61', '63', '64', '65', '66', '68', '69']

snmp.roCommunity

public

Password for the SNMP read-only community. If security.operators includes the snmp username, remove it and update the password here.

snmp.rwCommunity

ourpwdofchoicehere

Password for the SNMP read-write community. If security.administrators includes the snmp username, remove it and update the password here.

snmp.timeout
SNMP: snmpTimeout

5

In seconds, 1-60. The snmpget, snmpset, and snmpwalk timeout for Swarm and Watchdog.

startup.certificates

 

Public certificates to add to cert bundle.

Chassis (Node) Settings

Name SNMP

Default

Description and Examples

Name SNMP

Default

Description and Examples

cache.expirationTime

600

In seconds; defaults to 10 minutes. Set 0 to disable. How long to hold an object after its last access.

cache.maxCacheableSize

1048576

In bytes, defaulting to 1 MB. The largest object that can be stored in the content cache. If increased to greater than 5 MB, then scsp.readBufferAllowance must be increased to the same value.

cache.percentage

10

Percentage, 0-100; set 0 to disable. How much I/O buffer memory to reserve for the content cache, which improves access to active content by storing it in geographically proximate locations. The reserve is reported when the node starts up: 'MAIN ANNOUNCE: Memory allocation at startup.' For best performance, especially with writing named objects, do not disable the content cache unless directed by Support.

cache.realmStaleTimeout

600

In seconds, 60 or higher. How long before the security user list cache for domains is cleared. Lower this value if user lists update frequently.

chassis.name

 

The user-defined chassis name.

cip.histogramInterval

0.01

In seconds. The histogram bucket bin size.

cip.processes

2

The number of CIP processes to run. Ignored if cip.useCFilter is False.

cip.queryMinimumTimeout

0.0

In seconds. The minimum CIP query session time.

cip.queryTimeout

0.03

In seconds. How long after booting that the cluster will initially wait for node replication bids. Once the cluster is running, bid wait times are calculated dynamically based on response times. For clusters with network latency, the initial wait time may need to be increased until the cluster can correctly calibrate.

cip.readBufferSize

1048576

In bytes. The size of the multicast UDP socket read buffer. This value is capped the Linux /proc/sys/net/core/rmem_max value, which may be set via sysctl.coreRMemMax.

disk.defragBufferBytes

0

Size in bytes of the per-disk buffer allocated for bulk defragmentation operations. Disable bulk mode by setting to 0.

disk.defragUntilPercentage

0.8

Ratio, 0.0-1.0. The portion of known unused space that, when untrapped, will stop the disk defrag process.

disk.enableMultipath

false

[deprecated] Whether to enable support for Device Mapper Multipathing (DM-Multipath). Multipath support was dropped in Swarm 10.0.

disk.enableSSDTrims

false

Whether to enable trims on SSDs to potentially increase their life span.

disk.encryptNewVolumes

false

Whether to encrypt new Swarm volumes. Enabling encryptNewVolumes means that any newly-formatted Swarm volume will be encrypted

disk.encryptionCipher

aes-xts-plain64

The encryption cipher to be used when setting encryption for new Swarm volumes. Supported values are aes-xts-plain64 and aes-cbc-essiv

disk.encryptionHash

sha512

The encryption hash algorithm to be used when setting encryption for new Swarm volumes. Supported values are sha256 and sha512.

disk.encryptionIterationTime

5000

In seconds. The maximum amount of time to be spent while iterating to generate an internal LUKS key from a Swarm encryption key, which will be used when setting encryption for new Swarm volumes.

disk.encryptionKeyPrimary

 

The mnemonic name of the encryption key to use for encrypting new Swarm volumes. Do not use quotes. For this key to be used, disk.encryptNewVolumes must be set to True.
Example:
cluster_key_5_15_2016

disk.encryptionKeySize

512

The size of the internal LUKS key to be used when setting encryption for new Swarm volumes. Supported values are 128, 256, and 512.

disk.encryptionKeys

{}

A comma-separated list of mnemonic name and encryption key pairs, used for accessing encrypted Swarm volumes.
Example:
{'cluster_key_5_15_2016': 'a24f8ec391ab3341', 'cluster_key_5_12_2015': 'de3498245ce8bf89'}

disk.encryptionType

luks

The encrypted volume format type used when formatting new volumes. Supported values are: 'luks', 'luks1', 'luks2'.

disk.ioErrorToRetire

2

Count. How many consecutive I/O errors (no more than disk.ioErrorWindow seconds between each error) that will force a volume to retire.

disk.ioErrorTolerance

200

Count. How many I/O errors are tolerated, past which the volume is taken offline immediately. Swarm then marks the volume as Unavailable and initiates both the volume recovery process (FVR) and the erasure coding recovery process (ECR) to relocate all the volume's objects.

disk.ioErrorWindow

172800

In seconds; defaults to 2 days. The length of time after which an I/O error is forgotten, if no other errors followed and the volume's state is OK. Works with disk.ioErrorToRetire to control when volumes are retired. The default values means that if more than one error occurs within 2 days, the volume is retired.

disk.minGB

64

How many GB a device must have to be eligible for automatic storage volume assignment with volumes = all. Set to 0 to include all disk devices.

disk.smudgesToRetire

4

How many soft errors (smudges) over the life of a volume will trigger Swarm to retire the volume. A soft error occurs when the health processor does not get the expected data when validating the object but the disk gave no explicit I/O (hard) error. Set to 0 to disable the automatic retire.

disk.standbyTimeout

360

In seconds. How long until an idle disk spins down automatically.

disk.trappedToTotalPercentage

0.0001

Ratio, 0.0-0.01. The portion, of trapped space to total space, below which, will stop the defrag process (0.0 for no limit).

disk.volumes
SNMP: vols

 

Required. Specifies the volume storage devices for Swarm to use. Valid entries: all, or a space-separated list of Linux volume identifiers, such as /dev/sda, /dev/sdb. all (recommended) is required for hot plugging and lets Swarm to use all volumes larger than disk.minGB. If a node is shut down longer than disk.obsoleteTimeout, all of its volumes are stale and cannot be used unless you force a volume remount by adding the :k (keep) policy option modifier. To specify the size, add a modifier with units: vols1:100m vols2:250g.
Examples:
all
/dev/sda /dev/sdb

ec.inProgressConsolidationTimeout

86400

Time in seconds, 0 to disable. An 'in progress' multipart PATCH complete cannot be consolidated before this timeout.

feeds.maxMem

100000

In bytes. The maximum memory allowed per feed, for queue management.

health.startDelay
SNMP: hpStartDelay

900

In seconds; defaults to 900 seconds (15 minutes). How long after a node starts up to begin Health Processor checking and recovery processes. This option creates a grace period for the remaining nodes to stabilize in the cluster, which is useful in situations in which an entire cluster must be shut down and restarted.

license.url

<Swarm default 2T license>

The location and name of the Swarm license file, caringo/license.txt. Can be a pathname or a URL. To use the default 2 TB license, you must keep the default location.
Example:
http://10.10.15.32/config/swarm-license.txt

mdns.readBufferSize

1048576

In bytes. The size of the read buffer for the multicast UDP socket.

network.gateway
SNMP: gateway

 

Optional. The default gateway IP address in the subnet. Ignored unless network.ipAddress is set.
Example:
10.10.12.253

network.ipAddress
SNMP: ipaddress

 

The single static IP address for a node to use, or blank to use DHCP.
Example:
10.10.12.1

network.iptablesFileUrl

 

Optional. Location (URL) of Linux firewall rules to apply. When specified, Swarm transmits the rules without validation to the 'iptables-restore' command before starting the storage node processes.
Example:
http://10.10.15.32/config/swarm-iptables

network.netmask
SNMP: netmask

 

Optional. Sets the IP network mask for a node. Ignored unless network.ipAddress is set.
Examples:
255.255.255.0
255.255.0.0

network.timeSource
SNMP: timeSource

 

Recommended. List of one or more NTP servers by IP address or by name if network.dnsServers is set. You must have at least one usable NTP server in order for the storage node to start. If you don't assign a value here, a list from *.pool.ntp.org will be generated.
Examples:
10.20.30.55 10.20.30.65
0.be.pool.ntp.org 1.be.pool.ntp.org

node.subcluster
SNMP: subcluster

default

Specifies the name of the subcluster to which the chassis belongs. Names can have no more than 16 characters and no special characters, such as quotes and hyphens.
Example:
subcluster1

security.securePhysicalConsole

false

Marks the physical console as untrusted and disables control features of System Menu,

shutdown.gracePeriod

120

In seconds; defaults to 2 minutes. How long to allow ongoing SCSP requests to complete during shutdown.

s