核心设置
本页介绍用于控制 MinIO 进程核心行为的设置。
你可以通过以下方式建立或修改设置:
在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
Important
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
MinIO Server CLI 选项
可选
设置一个 参数 字符串,在启动 MinIO Server 时使用。
对于采用推荐 MinIO systemd 服务的类 Unix 系统,请使用 /etc/default/minio 文件并创建环境变量 MINIO_OPTS,用于指定要附加到 minio systemd 进程的参数:
# Editing /etc/default/minio
MINIO_OPTS=' --console-address=":9001" --ftp="address=:8021" --ftp="passive-port-range=30000-40000" '
对于在命令行运行 minio 的系统,MINIO_OPTS 是可选项。
如需使用,请按标准 shell 语义声明该环境变量,然后在启动 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
minio server 命令不会直接读取 $MINIO_OPTS。
该变量仅在按上述方式使用时才会生效。
存储卷
- MINIO_VOLUMES
minio server进程用作存储后端的目录或磁盘。在功能上等价于设置
minio server DIRECTORIES。 在通过环境文件配置 MinIO 运行时使用此值。
此设置没有对应的配置项。
环境变量文件路径
- MINIO_CONFIG_ENV_FILE
指定 MinIO server 进程用于加载环境变量的文件完整路径。
对于由
systemd管理的文件,将该值设置为环境文件路径(/etc/default/minio),以便在使用mc admin service restart重启部署时,指示 MinIO 重新加载该文件中的变更。
此设置没有对应的配置项。
过期处理工作线程
域名
- MINIO_DOMAIN
为 MinIO 部署启用 Virtual Host 风格请求。 将该值设置为完全限定域名(FQDN),使 MinIO 能够接受传入的虚拟主机请求。
省略此设置时,MinIO 仅接受默认的 path-style 请求。
例如,某个 MinIO 部署分配的 FQDN 为
minio.example.net。使用 path-style 访问时,应用可通过完整路径
minio.example.net/mybucket访问存储桶。使用 virtual-host 访问时,应用可通过虚拟主机
mybucket.minio.example.net/访问存储桶。
Important
如果配置了
MINIO_DOMAIN,你**必须**将指定 FQDN 的所有子域名视为专用于存储桶名称。 任何与这些域名冲突的 MinIO 服务(例如复制目标)都可能因为冲突而表现出意外或非预期行为。例如,若设置
MINIO_DOMAIN=minio.example.net,则**不能**将minio.example.net的任何子域名(即*.minio.example.net形式)分配给任何 MinIO 服务或目标。 这包括用于 bucket、batch 或 site replication 的主机名。
此设置没有对应的配置项。
扫描器速度
用于在平衡 MinIO 读写性能与扫描进程时,管理 scanner 的最大等待周期。
MinIO 使用 scanner 执行 存储桶复制、 站点复制、 生命周期管理 和 自愈 任务。
有效值包括:
|
移除扫描器在读/写延迟上的等待时间,使扫描器以最高速度和 IOPS 消耗运行。 此设置可能导致读取和写入性能下降。 |
|---|---|
|
将扫描器在读/写延迟上的等待时间设置为较短, 使扫描器以更高速度和 IOPS 消耗运行。 此设置可能导致读取和写入性能下降。 |
|
将扫描器在读/写延迟上的等待时间设置为中等, 使扫描器以平衡的速度和 IOPS 消耗运行。 此设置旨在在保持读写性能的同时允许扫描器持续工作。 |
|
将扫描器在读/写延迟上的等待时间设置为中等, 此时扫描器以较低速度和 IOPS 消耗运行。 该设置在降低扫描器性能的同时,可提供更好的读写性能。 可能影响依赖扫描器的功能,例如生命周期管理和复制。 |
|
将扫描器在读/写延迟上的等待时间设置为较长, 此时扫描器以显著更低的速度和 IOPS 消耗运行。 该设置优先保障读写操作,但可能以牺牲扫描器操作为代价。 可能影响依赖扫描器的功能,例如生命周期管理和复制。 |
批量复制
此设置没有对应的配置项。
数据压缩
以下部分记录用于为对象启用数据压缩的设置。 有关如何使用这些配置设置的教程,请参见 数据压缩。
本节中的所有设置都归属于以下顶层键:
启用压缩
可选
设置为 on 以对新对象启用数据压缩。
默认为 off。
启用或禁用数据压缩不会更改现有对象。
允许加密
可选
设置为 on 以在压缩后对对象进行加密。
默认为 off。
对压缩对象加密可能会削弱安全性
MinIO 强烈不建议对压缩对象进行加密。 如果你需要加密,请仔细评估可能泄露加密对象内容信息的风险。
压缩扩展名
可选
要压缩的文件扩展名列表,以逗号分隔。
设置新的扩展名列表会替换先前已配置的列表。
默认为 ".txt, .log, .csv, .json, .tar, .xml, .bin"。
Changed in version RELEASE.2024-03-15T01-07-19Z: 可指定 "*" 以指示 MinIO 压缩所有受支持的文件类型。
即使在此参数中显式指定,MinIO 也不支持压缩 Excluded File Types 列表中的文件类型。
压缩 MIME 类型
可选
要压缩的 MIME 类型列表,以逗号分隔。
设置新的类型列表会替换先前已配置的列表。
默认为 "text/*, application/json, application/xml, binary/octet-stream"。
默认排除文件
某些类型的文件无法显著减小体积。
MinIO 不会 压缩这些文件,即使它们在 mime_types 参数中被指定。
详见 Excluded types。
注释
可选
指定一个与数据压缩配置关联的注释。
纠删码条带大小
可选
应用于指定 server pool 中所有驱动器的 erasure set size。
如果设置此值,你**必须**在初始化集群*之前*完成设置。 集群初始化后,所选条带大小为**不可变**,并会影响后续添加到集群中的所有 server pool。
MinIO SUBNET 用户应先登录并提交 issue,讨论条带大小设置后再在任何环境中实施。
Warning
除非 MinIO 工程团队明确指导,否则**不要**更改条带大小设置。
条带大小变更会对部署功能、可用性、性能和行为产生重大影响。 MinIO 的条带选择算法已为大多数工作负载设置了适当默认值。 偏离该默认值来调整条带大小并不常见,通常也没有必要或不被建议。
最大对象版本数
可选
定义每个对象允许的默认最大版本数。
默认情况下,MinIO 允许每个对象的版本数最高达到 Int64 的最大值,即超过 9.2 quintillion。
Note
RELEASE.2023-08-04T17-40-21Z 到 RELEASE.2024-03-26T22-10-45Z 之间的 MinIO 版本,默认上限为 10,000 个对象版本。
可使用此设置将该上限覆盖为其他值。
为对象设置任意高的版本数可能导致某些操作(如 LIST)性能下降。
在使用低成本硬件或机械硬盘(HDD)的系统上,这一点尤为明显。
对于每个对象会生成数千个或更多版本的应用或工作负载,可能需要进行设计或架构评审,以缓解潜在的性能下降。
将上限设置为不超过 100,通常可满足大多数常见使用场景。