Configuration files for IBM Spectrum Scale for object storage
Use the following information to manage options in configuration files that are used for IBM Spectrum Scale™ for object storage including the unified file and object access feature. These configuration files are located in the /etc/swift directory.
object-server-sof.conf
Contains identity management modes for unified file and object access (id_mgmt)
Contains AD domain name (ad_domain) if AD is configured
Configuration option = Default value | Description |
---|---|
id_mgmt = local_mode | Defines the object server behavior while assigning user or group ownership to newly created objects, when those are accessed 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 making 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 should 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_ | The prefix to be used for the temporary file being created when a file being uploaded. |
disable_fallocate = true | Overrides the default swift fallocate behavior, and relies on the GPFS™ fallocate features, excludes 'fast fail' checks. |
disk_chunk_size = 65536 | The size of chunks to read/write to disk (needs be equal to the file system block size). |
network_chunk_size = 65536 | The size of chunks to read/write over the network (needs be equal to the file system block size). |
log_statsd_host = localhost | If not set, the StatsD feature is disabled. |
log_statsd_port = 8125 | The port number for the StatsD server. |
log_statsd_default_sample_rate = 1.0 | Defines the probability of sending a sample for any given event or timing measurement. |
log_statsd_sample_rate_factor = 1.0 | Not recommended to set this 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 = | The prefix that is added to every metric sent to the StatsD server. |
retain_acl = yes | Specifies whether or not to copy the ACL from an existing object. Allowed values are yes or no. |
retain_winattr = yes | Specifies whether or not to copy the Windows attributes from an existing object. Allowed values are yes or no. |
retain_xattr = yes | Specifies whether or not to copy the extended attributes for the user namespace from an existing object. Allowed values are yes or no. |
retain_owner = yes | Specifies whether or not to copy the UID/GID owners from an existing object. Allowed values are yes or no. |
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 which 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 completely 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 to retain the file ACLs, extended attributes, and ownership.
spectrum-scale-object.conf
Contains cluster or fileset configuration information
Unique to a site
Configuration option = Default value | Description |
---|---|
file-access-enabled = false | The state for the file-access capability. It can be either true or false. |
multi-region-enabled = true | The state for the multi-region capability. This option cannot be changed. |
s3-enabled = true | The state for the s3 capability. This option cannot be changed. |
spectrum-scale-objectizer.conf
-
Contains the ibmobjectizer service configuration information
Configuration option = Default value | Description |
---|---|
objectization_tmp_dir | The temporary directory to be used by ibmobjectizer. This 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 | The maximum number of threads that ibmobjectizer will spawn on a node. |
batch_size = 100 | The maximum number of files that ibmobjectizer will process in a thread. |
objectization_interval = 1800 | The time interval, in seconds, between the completion of an objectization cycle and the beginning of the next objectization cycle. |
conection_timeout = 25 | The connection time out for an account, container, or object server request from ibmobjectizer, |
response_timeout = 25 | The response time out for an account, container, object server request from ibmobjectizer |
qos_iops_target = 0 | The value assigned to ibmobjectizer to limit its resource usage. Value is given in IOPS unit. For example- 100, 400, 0. 0 means infinite. |
Configuration option = Default value | Description |
---|---|
log_level = INFO | The logging level. Allowed value is one of the following: INFO, DEBUG, WARN, ERROR |
object-server.conf file
-
Used to set swift timeout values on the lock_path calls to handle GPFS delays better
Configuration option = Default value | Description |
---|---|
partition_lock_timeout = 10 | The time-out 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
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
Used to improve the performance of the internal lookups in the framework
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 mmobj config change command to change the values of the options in the configuration files. For example:
- 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