- Please click "Ignore Whitespace" when reviewing, my editor stripped out all the trailing whitespace. - Removes an extra `"` quote - Try to explain how MINIO_OPTS works, does that sound right? - Add missing `:` in front of port number --------- Co-authored-by: Daryl White <53910321+djwfyi@users.noreply.github.com> Co-authored-by: Ravind Kumar <ravind@min.io>
12 KiB
Core Settings
minio
Table of Contents
This page covers settings that control core behavior of the MinIO process.
MinIO Server CLI Options
Environment Variable
MINIO_OPTS
Configuration Setting
There is no configuration setting for this variable, as these settings apply at server startup.
Optional
Set a string of parameters <minio-server-parameters>
to use when
starting the MinIO Server.
For Unix-like systems using the recommended MinIO
systemd
service, use the /etc/default/minio
file and create an environment variable MINIO_OPTS
for
specifying parameters to append to the minio
systemd
process:
# Editing /etc/default/minio
MINIO_OPTS=' --console-address=":9001" --ftp="address=:8021" --ftp="passive-port-range=30000-40000" '
For systems running minio
on the command line,
MINIO_OPTS
is optional. To use it, declare the environment
variable using standard shell semantics, then reference the environment
variable when starting up the MinIO Server:
export MINIO_OPTS=' --console-address=":9001" --ftp="address=:8021" --ftp="passive-port-range=30000-40000" '
minio server $MINIO_OPTS ...
# The above is equivalent to running the following:
# minio server --console-address=":9001" \
# --ftp="address=:8021" \
# --ftp="passive-port-range=30000-40000"
Important
The minio server
command does not read
$MINIO_OPTS
directly. The variable only functions if used
as described above.
Storage Volumes
Environment Variable
MINIO_VOLUMES
The directories or drives the minio server
process uses as the storage backend.
Functionally equivalent to setting minio server DIRECTORIES
. Use this value when
configuring MinIO to run using an environment file.
Configuration Setting
Environment Variable File Path
Environment Variable
MINIO_CONFIG_ENV_FILE
Specifies the full path to the file the MinIO server process uses for loading environment variables.
For systemd
-managed files, set this value to the path of
the environment file (/etc/default/minio
) to direct MinIO
to reload changes to that file when using mc admin service restart
to restart the
deployment.
Configuration Setting
Workers for Expiration
Environment Variable
MINIO_ILM_EXPIRY_WORKERS
Specifies the number of workers to make available to expire objects configured with ILM rules for expiration. When not set, MinIO defaults to using up to half of the available processing cores available.
Configuration Setting
Domain
Environment Variable
MINIO_DOMAIN
Enables Virtual Host-style requests to the MinIO deployment. Set the value to the Fully Qualified Domain Name (FQDN) for MinIO to accept incoming virtual host requests.
Omitting this setting directs MinIO to only accept the default path-style requests.
For example, consider a MinIO deployment with an assigned FQDN of
minio.example.net
.
- With path-style lookups, applications can access the bucket using
its full path as
minio.example.net/mybucket
. - With virtual-host lookups, application can access the bucket as a
virtual host as
mybucket.minio.example.net/
.
Important
If you configure MINIO_DOMAIN
, you must
consider all subdomains of the specified FQDN as exclusively assigned
for use as bucket names. Any MinIO services which conflict with those
domains, such as replication targets, may exhibit unexpected or
undesired behavior as a result of the collision.
For example, if setting MINIO_DOMAIN=minio.example.net
,
you cannot assign any subdomains of
minio.example.net
(in the form of
*.minio.example.net
) to any MinIO service or target. This
includes hostnames for use with bucket <minio-bucket-replication>
, batch <minio-batch-framework-replicate-job>
, or
site replication <minio-site-replication-overview>
.
Configuration Setting
Scanner Speed
Environment Variable
MINIO_SCANNER_SPEED
Configuration Setting
scanner speed
Manage the maximum wait period for the scanner <minio-concepts-scanner>
when balancing
MinIO read/write performance to scanner processes.
Batch Replication
Environment Variable
MINIO_BATCH_REPLICATION_WORKERS
Optional
Specifying the maximum number of parallel processes to use when performing the batch application job.
Configuration Setting
Data Compression
The following section documents settings for enabling data
compression for objects. See minio-data-compression
for tutorials on using these
configuration settings.
All of the settings in this section fall under the following top-level key:
compression
Enable Compression
Environment Variable
MINIO_COMPRESSION_ENABLE
Configuration Setting
compression enable
Optional
Set to on
to enable data compression for new objects.
Defaults to off
.
Enabling or disabling data compression does not change existing objects.
Allow Encryption
Environment Variable
MINIO_COMPRESSION_ALLOW_ENCRYPTION
Configuration Setting
compression allow_encryption
Optional
Set to on
to encrypt objects after compressing them.
Defaults to off
.
Encrypting compressed objects may compromise security
MinIO strongly recommends against encrypting compressed objects. If you require encryption, carefully evaluate the risk of potentially leaking information about the contents of encrypted objects.
Compression Extensions
Environment Variable
MINIO_COMPRESSION_EXTENSIONS
Configuration Setting
compression extensions
Optional
Comma-separated list of the file extensions to compress. Setting a
new list of file extensions replaces the previously configured list.
Defaults to
".txt, .log, .csv, .json, .tar, .xml, .bin"
.
RELEASE.2024-03-15T01-07-19Z
Specify "*"
to direct MinIO to compress all supported
file types.
MinIO does not support compressing file types on the Excluded File Types <minio-data-compression-excluded-types>
list, even if explicitly specified in this argument.
Compression MIME Types
Environment Variable
MINIO_COMPRESSION_MIME_TYPES
Configuration Variable
compression mime_types
Optional
Comma-separated list of the MIME types to compress. Setting a new
list of types replaces the previously configured list. Defaults to
"text/*, application/json, application/xml, binary/octet-stream"
.
Default excluded files
Some types of files cannot be significantly reduced in size. MinIO
will not compress these, even if specified in an ~compression.mime_types
argument. See Excluded types <minio-data-compression-excluded-types>
for details.
Comments
Environment Variable
This setting does not have an environment variable option. Use the configuration setting instead.
Configuration Setting
compression comment
Optional
Specify a comment to associate with the data compression configuration.
Erasure Stripe Size
Environment Variable
MINIO_ERASURE_SET_DRIVE_COUNT
Configuration Variable
Optional
The erasure set size <minio-ec-basics>
to apply for
all drives in a given server pool
.
If you set this value, you must do so before you initialize the cluster The selected stripe size is immutable after the cluster has been initialized and affects any future server pools added to the cluster.
users should log in and open an issue to discuss stripe size settings prior to implementing them in any environment.
Warning
Do not change the stripe size setting unless directed to by MinIO engineering.
Changes to stripe size have significant impact to deployment functionality, availability, performance, and behavior. MinIO's stripe selection algorithms set appropriate defaults for the majority of workloads. Changing the stripe size from this default is unusual and generally not necessary or advised.
Maximum Object Versions
Environment Variable
MINIO_API_OBJECT_MAX_VERSIONS
Configuration Setting
api object_max_versions
Optional
Defines the default maximum versions to allow per object.
By default, MinIO allows up to the maximum value of an Int64 versions per object, or over 9.2 quintillion.
Note
MinIO versions from RELEASE.2023-08-04T17-40-21Z
to
RELEASE.2024-03-26T22-10-45Z
had a default limit of 10,000
object versions. This setting can be used to override that limit to
another value.
Arbitrarily high versions per objects may cause performance
degradation on some operations, such as LIST
. This is
especially true on systems running budget hardware or spinning drives
(HDD). Applications or workloads which produce thousands or more
versions per object may require design or architecture review to
mitigate potential performance degradations.
Setting a limit of no more than 100
should provide
enough versions for most typical use cases.