Configuration files for IBM Storage Scale for object storage

Use the following information to manage options in configuration files that are used for IBM Storage Scale for object storage that includes the unified file and object access feature. These configuration files are located in the /etc/swift directory.

For more information, see Changing options in configuration files.

object-server-sof.conf file

This file contains identity management modes for unified file and object access (id_mgmt). This file contains AD domain name (ad_domain) if AD is configured.

Table 1. Configurable options for [DEFAULT] in object-server-sof.conf
Configuration option = Default value Description
id_mgmt = local_mode

Defines the object server behavior while it assigns user or group ownership to newly created objects, when the objects are accessed by using the file interface. The allowed values are local_mode and unified_mode

With local_mode, the new objects are owned by the swift user. In unified_mode, the identity of the user that makes the PUT request is fetched from the configured directory server.

ad_domain When using Active Directory (AD), defines the AD domain from which the user identity must be fetched when object server is operating in the unified_mode identity management mode.
Note: When you clean up object authentication, you must manually remove this entry. For more information, see Configuring authentication and setting identity management modes for unified file and object access.
tempfile_prefix = .ibmtmp_ Indicates the prefix to be used for the temporary file that is created when a file uploaded.
disable_fallocate = true Overrides the default swift allocate behavior, and relies on the GPFS allocate features, excludes 'fast fail' checks.
disk_chunk_size = 65536 Indicates the size of chunks to read or write to disk (needs be equal to the file system block size).
network_chunk_size = 65536 Indicates the size of chunks to read or write over the network (needs to be equal to the file system block size).
log_statsd_host = localhost If it is not set, the StatsD feature is disabled.
log_statsd_port = 8125 Indicates the port number for the StatsD server.
log_statsd_default_sample_rate = 1.0 Defines the probability of sending a sample for any specified event or timing measurement.
log_statsd_sample_rate_factor = 1.0 It is not recommended to set it to a value less than 1.0. If the frequency of logging is too high, tune the log_statsd_default_sample_rate instead.
log_statsd_metric_prefix = Indicates the prefix that is added to every metric sent to the StatsD server.
retain_acl = yes Indicates whether to copy the ACL from an existing object. Allowed values are yes or no.
retain_winattr = yes Indicates whether to copy the Windows attributes from an existing object. Allowed values are yes or no.
retain_xattr = yes Indicates whether to copy the extended attributes for the user namespace from an existing object. Allowed values are yes or no.
retain_owner = yes Indicates whether to copy the UID/GID owners from an existing object. Allowed values are yes or no.
Note: Files with the .ibmtmp prefix or the one configured in the object-server-sof.conf configuration file are not objectized.

When you set the retain_* options to yes, the following attributes are retained:

  • The extended attributes in the user namespace except for the user.swift.metadata key that contains swift metadata and it is expected to be new.
  • Windows attributes

When you set the retain_* options to yes, the following attributes are not retained:

  • Extended attributes in system, security, and trusted namespaces.
    Note: These attributes are not retained in an object's copy object operation also.

Retaining ACLs, Windows attributes, file extended attributes, and ownership, when an object is PUT over an existing object in unified file and object access enabled containers depends on your specific use case and your discretion. For example, if you are using object and file access to refer to the same data content in such a way that the object protocol might completely replace the data content in such that it might be new content from the file interface as well, then you might choose to not retain the existing file ACL and extended attributes. For such a use case, you might change the default values to not retain the file ACLs, extended attributes, and ownership.

Note: If you are unsure about whether to retain these attributes or not, you might want to use the default values of retaining ACLs, Windows attributes, file extended attributes, and ownership. The default values in this case are more aligned with the expected behavior in a multiprotocol setup.

spectrum-scale-object.conf file

This file contains cluster or fileset configuration information. This file is unique to a site.

Table 2. Configurable options for [capabilities] in spectrum-scale-object.conf
Configuration option = Default value Description
file-access-enabled = false Indicates the state for the file-access capability. It can be either true or false.
multi-region-enabled = true Indicates the state for the multi-region capability. This option cannot be changed.
s3-enabled = true Indicates the state for the s3 capability. This option cannot be changed.

spectrum-scale-objectizer.conf file

  • Contains the ibmobjectizer service configuration information

Table 3. Configuration options for [DEFAULT] in spectrum-scale-objectizer.conf
Configuration option = Default value Description
objectization_tmp_dir Indicates the temporary directory to be used by ibmobjectizer. The directory must be a path on any GPFS file system. The default value is autofilled with the path of the base file system for object.
objectization_threads = 24 Indicates the maximum number of threads that ibmobjectizer creates on a node.
batch_size = 100 Indicates the maximum number of files that ibmobjectizer process in a thread.
objectization_interval = 1800 Indicates the time interval, in seconds, between the completion of an objectization cycle and the beginning of the next objectization cycle.
connection_timeout = 25 Indicates the connection timeout for an account, container, or object server request from ibmobjectizer,
response_timeout = 25 Indicates the response timeout for an account, container, object server request from ibmobjectizer
qos_iops_target = 0 Indicates the value that is assigned to ibmobjectizer to limit its resource usage. Value is given in IOPS unit, such as - 100, 400, 0.

0 means infinite.

Table 4. Configuration options for [IBMOBJECTIZER-LOGGER] in spectrum-scale-objectizer.conf
Configuration option = Default value Description
log_level = INFO Indicates the logging level. The allowed value is INFO, DEBUG, WARN, or ERROR.

object-server.conf file

This file is used to set Swift timeout values on the lock_path calls to handle GPFS delays better.

Table 5. Configuration options for object-server.conf
Configuration option = Default value Description
partition_lock_timeout = 10 The timeout value while the object server tries to acquire a lock on the partition path during object create. update, and delete processes. The default value is 10.

/etc/sysconfig/memcached file

  • Used to improve the performance of the internal lookups in the framework

Table 6. Configuration options for /etc/sysconfig/memcached
Configuration option = Default value Description
MAXCONN = 4096 The value is set to 4096 unless the current value is higher than 4096.
CACHESIZE = 2048 The value is set to 2048 unless the current value is higher than 2048.

proxy-server.conf file

This file is used to improve the performance of the internal lookups in the framework

Table 7. Configuration options for proxy-server.conf
Configuration option = Default value Description
memcache_max_connections = 8 The default value is set to 8.
memcache_servers This parameter is dynamically set to the nodes that are running the object protocol for memcache to work in a clustered environment.

Changing options in configuration files

You can use the following commands to change the values of the options in the configuration files.

  • Change the value of an option in the [DEFAULT] section of the object-server-sof.conf file as follows:
    mmobj config change --ccrfile object-server-sof.conf --section DEFAULT 
    --property OPTIONNAME --value NEWVALUE
  • Change the value of an option in the [IBMOBJECTIZER-LOGGER] section of the spectrum-scale-objectizer.conf file as follows:
    mmobj config change --ccrfile spectrum-scale-objectizer.conf --section IBMOBJECTIZER-LOGGER 
    --property OPTIONNAME --value NEWVALUE
Note: Only some options are configurable. If an option cannot be changed, it is mentioned in the respective option description.
Attention: When a configuration file is changed by using these commands, it takes several seconds for the changes to be synchronized across the whole cluster (depending on the size of the cluster). Therefore, when you run multiple commands to change configuration files, you must plan for an adequate time interval between the execution of these commands.