A subset of Swarm configuration settings are persisted settings, which are stored in a Settings object in your cluster if you have any domains or have ever changed settings in the Swarm UI (or legacy Admin Console). These special settings persist across reboots, regardless of how you may have updated your configuration (node.cfg/cluster.cfg) files.
Important
The Settings object persists and overrides the configuration files, storing both settings and passwords for the cluster. See Swarm Passwords.
Best practice – Always change settings via the Swarm UI, rather than through the configuration files. There are several benefits to this practice:
No reboot required. You do not need a full reboot for the configuration change to take effect.
Updates persisted settings. The changes are stored directly in the Settings object.
Only update in one place. You only need to update persisted settings on one node: Swarm propagates the changes to all other Settings objects in the cluster.
SNMP version
Swarm supports SNMP version 2 only.
Here is an example SNMP set command that changes the string that is the policy for cluster-wide versioning:
snmpset -m +CARINGO-CASTOR-MIB -v2c -M +/usr/share/snmp/mib2c-data -c{password} -OQs {node} policyVersioning s "allowed"
Here is an example that changes an integer value:
snmpset -m +CARINGO-CASTOR-MIB -v2c -M +/usr/share/snmp/mib2c-data -c{passeord} -OQs {node} healthExamDelay i 30
Note
{node} is the IP address of any Swarm storage node. {password} is the SNMP read-write community as specified via the snmp.rwCommunity cluster setting.
Listed below are the special Swarm settings with SNMP names, as well as whether they are persisted and writable. All are settable via the Swarm UI.
Name | Writable | Scope | Persisted | SNMP Name |
---|---|---|---|---|
bidding.relocationThreshold | Yes | cluster | Yes | relocationThreshold |
cip.group | cluster | group | ||
cip.queryRetryMultiplier | Yes | cluster | Yes | queryRetryMultiplier |
cluster.enforceTenancy | Yes | cluster | enforceTenancy | |
cluster.name | cluster | cluster | ||
console.messageExpirationSeconds | Yes | cluster | Yes | messageExpirationSeconds |
disk.atimeEnabled | Yes | cluster | Yes | accessedTimeEnabled |
disk.atimeGranularity | Yes | cluster | Yes | accessedTimeGranularity |
disk.volumes | node | vols | ||
ec.conversionPercentage | Yes | cluster | Yes | ecConversionPercentage |
ec.convertToPolicy | Yes | cluster | Yes | ecConvertToPolicy |
ec.convertVersionedObjects | Yes | cluster | Yes | ecConvertVersionedObjects |
ec.protectionLevel | Yes | cluster | Yes | ecProtectionLevel |
ec.segmentConsolidationFrequency | Yes | cluster | Yes | ecSegmentConsolidationFrequency |
health.defragInterval | Yes | cluster | Yes | healthDefragInterval |
health.examDelay | Yes | cluster | Yes | healthExamDelay |
health.offloadPauseInterval | Yes | cluster | Yes | healthOffloadPauseInterval |
health.relocationVolumeFillRate | Yes | cluster | Yes | hpRelocationVolumeFillRate |
health.replicationMulticastFrequency | Yes | cluster | Yes | repMulticastFrequency |
health.replicationUnicastFrequency | Yes | cluster | Yes | repUnicastFrequency |
health.startDelay | node | hpStartDelay | ||
index.optimize404 | Yes | cluster | Yes | overlayOptimize404 |
index.overlayEnabled | Yes | cluster | Yes | overlayIndexEnabled |
index.ovMinNodes | Yes | cluster | Yes | overlayMinNodes |
log.host | Yes | cluster | Yes | logHost |
log.level | Yes | cluster | Yes | logLevel |
log.port | Yes | cluster | Yes | logPort |
metrics.nodeExporterFrequency | Yes | cluster | Yes | metricsExporterFrequency |
metrics.period | Yes | cluster | Yes | metricsPeriod |
metrics.port | Yes | cluster | Yes | metricsTargetPort |
metrics.target | Yes | cluster | Yes | metricsTargetHost |
network.gateway | node | gateway | ||
network.igmpTimeout | Yes | cluster | Yes | networkIGMPTimeout |
network.ipAddress | node | ipaddress | ||
network.netmask | node | netmask | ||
network.timeSource | node | timeSource | ||
node.archiveMode | Yes | node | archiveMode | |
node.subcluster | Yes | node | subcluster | |
policy.eCEncoding | Yes | cluster | Yes | policyECEncoding |
policy.eCMinStreamSize | Yes | cluster | Yes | policyECMinStreamSize |
policy.lifecycle | Yes | cluster | Yes | policyLifecycle |
policy.replicas | Yes | cluster | Yes | policyReplicas |
policy.versioning | Yes | cluster | Yes | policyVersioning |
power.savingMode | Yes | cluster | Yes | powerSavingMode |
power.sleepAfter | Yes | cluster | Yes | sleepAfter |
power.wakeAfter | Yes | cluster | Yes | wakeAfter |
recovery.completedRecoveryExpiration | Yes | cluster | Yes | completedRecoveryExpiration |
recovery.suspend | Yes | cluster | Yes | volumeRecoverySuspend |
recovery.suspendedVolumes | Yes | cluster | Yes | castorAddVolumeRecoverySuspend, castorRemoveVolumeRecoverySuspend |
recovery.volMaintenanceInterval | Yes | cluster | Yes | volMaintenanceInterval |
scsp.allowPutCreate | Yes | cluster | Yes | allowPutCreate |
scsp.autoContentMD5Computation | Yes | cluster | Yes | autoContentMD5Computation |
scsp.autoRecursiveDelete | Yes | cluster | Yes | autoRecursiveDelete |
scsp.filterResponseBlacklist | Yes | cluster | Yes | filterResponseBlacklist |
scsp.filterResponseHeaders | Yes | cluster | Yes | filterResponseHeaders |
scsp.filterResponseWhitelist | Yes | cluster | Yes | filterResponseWhitelist |
scsp.keepAliveInterval | Yes | cluster | Yes | keepAliveInterval |
scsp.maxContextReplicas | Yes | cluster | Yes | maxcontextreplicas |
scsp.port | cluster | scspport | ||
scsp.replicateOnWrite | Yes | cluster | Yes | autoRepOnWrite |
scsp.requireExplicitContextCreate | Yes | cluster | Yes | requireExplicitContextCreate |
search.enableCustomMetadataTyping | Yes | cluster | Yes | enableCustomMetadataTyping |
search.enableDelimiterPaths | Yes | cluster | Yes | enableDelimiterPaths |
security.administrators | Yes | cluster | Yes | addModifyAdministrator, removeAdministrator |
security.secureLogging | Yes | cluster | Yes | secureLogging |
snmp.timeout | Yes | cluster | Yes | snmpTimeout |