这是本节的多页打印视图。 .
参考
- 1: mc ilm add
- 2: mc quota clear
- 3: MinIO 自定义资源定义
-
4: Silo 客户端(mcli / mc)
- 4.1: mc alias list
- 4.2: mc anonymous set
- 4.3: mc batch cancel
- 4.4: mc encrypt clear
- 4.5: mc event add
- 4.6: mc idp ldap accesskey disable
- 4.7: mc idp ldap add
- 4.8: mc idp ldap policy attach
- 4.9: mc ilm restore
- 4.10: mc ilm rule add
- 4.11: mc ilm tier add
- 4.12: mc legalhold clear
- 4.13: mc license info
- 4.14: mc replicate add
- 4.15: mc retention set
- 4.16: mc share download
- 4.17: mc support callhome
- 4.18: mc support top api
- 4.19: mc tag set
- 4.20: mc version enable
- 4.21: Silo 客户端设置
-
4.22: mc alias
- 4.23: mc alias remove
- 4.24: mc anonymous get
- 4.25: mc batch describe
- 4.26: mc encrypt info
- 4.27: mc event ls
- 4.28: mc idp ldap accesskey edit
- 4.29: mc idp ldap disable
- 4.30: mc idp ldap policy detach
-
4.31: mc ilm rule
- 4.32: mc ilm rule edit
- 4.33: mc ilm tier check
- 4.34: mc legalhold info
- 4.35: mc license register
- 4.36: mc replicate backlog
- 4.37: mc retention info
- 4.38: mc share upload
- 4.39: mc support diag
- 4.40: mc support top locks
- 4.41: mc tag list
- 4.42: mc version info
- 4.43: mc alias set
-
4.44: mc anonymous
- 4.45: mc anonymous list
- 4.46: mc batch generate
- 4.47: mc encrypt set
- 4.48: mc event rm
- 4.49: mc idp ldap accesskey enable
- 4.50: mc idp ldap enable
- 4.51: mc idp ldap policy entities
- 4.52: mc ilm rule export
-
4.53: mc ilm tier
- 4.54: mc ilm tier info
- 4.55: mc legalhold set
- 4.56: mc license update
- 4.57: mc replicate ls
- 4.58: mc retention clear
- 4.59: mc share ls
- 4.60: mc support inspect
- 4.61: mc support top disk
- 4.62: mc tag remove
- 4.63: mc version suspend
- 4.64: mc alias import
- 4.65: mc anonymous links
-
4.66: mc batch
- 4.67: mc batch list
- 4.68: mc idp ldap accesskey info
- 4.69: mc idp ldap info
- 4.70: mc ilm rule import
- 4.71: mc ilm tier ls
- 4.72: mc replicate update
- 4.73: mc support perf
- 4.74: mc support top net
- 4.75: mc alias export
- 4.76: mc anonymous get-json
- 4.77: mc batch start
- 4.78: mc cat
- 4.79: mc idp ldap accesskey ls
- 4.80: mc idp ldap ls
- 4.81: mc ilm rule ls
- 4.82: mc ilm tier rm
- 4.83: mc replicate resync
- 4.84: mc support profile
- 4.85: mc support top rpc
- 4.86: mc anonymous set-json
- 4.87: mc batch status
- 4.88: mc cp
- 4.89: mc idp ldap accesskey rm
- 4.90: mc idp ldap rm
- 4.91: mc ilm rule rm
- 4.92: mc ilm tier update
- 4.93: mc replicate rm
- 4.94: mc support proxy
- 4.95: mc diff
- 4.96: mc idp ldap update
- 4.97: mc replicate status
-
4.98: mc support top
- 4.99: mc du
- 4.100: mc replicate export
- 4.101: mc support upload
-
4.102: mc encrypt
- 4.103: mc replicate import
-
4.104: mc event
- 4.105: mc find
- 4.106: mc get
- 4.107: mc head
-
4.108: mc idp ldap
-
4.109: mc idp ldap accesskey
- 4.110: mc idp ldap accesskey create-with-login
-
4.111: mc idp ldap policy
- 4.112: mc idp openid
-
4.113: mc ilm
-
4.114: mc legalhold
-
4.115: mc license
- 4.116: mc ls
- 4.117: mc mb
- 4.118: mc mirror
- 4.119: mc mv
- 4.120: mc od
- 4.121: mc ping
- 4.122: mc pipe
- 4.123: mc put
- 4.124: mc rb
- 4.125: mc ready
-
4.126: mc replicate
-
4.127: mc retention
- 4.128: mc rm
-
4.129: mc share
- 4.130: mc sql
- 4.131: mc stat
-
4.132: mc support
-
4.133: mc tag
- 4.134: mc tree
- 4.135: mc undo
- 4.136: mc update
-
4.137: mc version
- 4.138: mc watch
- 4.139: mc idp ldap accesskey create
- 5: mc ilm edit
- 6: mc quota info
- 7: MinIO Operator 环境变量
-
8: Silo 客户端管理
-
8.1: mc admin accesskey
- 8.2: mc admin accesskey create
- 8.3: mc admin cluster bucket import
- 8.4: mc admin cluster iam import
- 8.5: mc admin policy attach
- 8.6: mc admin prometheus generate
- 8.7: mc admin scanner status
- 8.8: mc admin user add
- 8.9: mc admin user svcacct add
- 8.10: mc admin accesskey disable
-
8.11: mc admin cluster bucket
- 8.12: mc admin cluster bucket export
- 8.13: mc admin cluster iam export
- 8.14: mc admin policy create
- 8.15: mc admin prometheus metrics
- 8.16: mc admin scanner trace
- 8.17: mc admin user disable
- 8.18: mc admin user svcacct disable
-
8.19: mc admin cluster iam
- 8.20: mc admin policy detach
- 8.21: mc admin user accesskey edit
- 8.22: mc admin user enable
- 8.23: mc admin user svcacct edit
- 8.24: mc admin accesskey enable
- 8.25: mc admin config
- 8.26: mc admin policy entities
- 8.27: mc admin user info
- 8.28: mc admin user svcacct enable
- 8.29: mc admin accesskey info
- 8.30: mc admin decommission
- 8.31: mc admin policy info
- 8.32: mc admin user ls
- 8.33: mc admin user svcacct info
- 8.34: mc admin accesskey ls
- 8.35: mc admin group
- 8.36: mc admin policy ls
- 8.37: mc admin user rm
- 8.38: mc admin user svcacct ls
- 8.39: mc admin accesskey rm
- 8.40: mc admin heal
- 8.41: mc admin policy rm
- 8.42: mc admin user sts info
- 8.43: mc admin user svcacct rm
- 8.44: mc admin info
-
8.45: mc admin user svcacct
- 8.46: mc admin kms key
- 8.47: mc admin logs
-
8.48: mc admin policy
-
8.49: mc admin prometheus
- 8.50: mc admin rebalance
- 8.51: mc admin replicate
-
8.52: mc admin scanner
- 8.53: mc admin service
- 8.54: mc admin trace
- 8.55: mc admin update
-
8.56: mc admin user
-
8.1: mc admin accesskey
- 9: mc ilm export
- 10: mc quota set
- 11: Operator Helm 图表
-
12: Silo 服务端(minio)
-
12.1: 设置概览
- 12.1.1: 核心设置
- 12.1.2: Root 访问设置
- 12.1.3: 纠删码设置
- 12.1.4: Silo Console 设置
- 12.1.5: 指标与日志设置
-
12.1.6: 存储桶通知设置
- 12.1.6.1: AMQP 通知设置
- 12.1.6.2: Elasticsearch 通知设置
- 12.1.6.3: Kafka 通知设置
- 12.1.6.4: MQTT 通知设置
- 12.1.6.5: MySQL 通知设置
- 12.1.6.6: NATS 通知设置
- 12.1.6.7: NSQ 通知设置
- 12.1.6.8: PostgreSQL 通知设置
- 12.1.6.9: Redis 通知设置
- 12.1.6.10: Webhook 服务通知设置
-
12.1.7: 身份与访问管理设置
- 12.1.7.1: Active Directory / LDAP 设置
- 12.1.7.2: OpenID 身份管理设置
- 12.1.7.3: Silo 身份管理插件设置
- 12.1.7.4: Silo 访问管理插件设置
- 12.1.8: ILM 设置
- 12.1.9: 密钥加密服务设置
- 12.1.10: Object Lambda 函数设置
- 12.1.11: 已弃用设置
-
12.1: 设置概览
- 13: mc ilm import
-
14: 弃用命令
- 15: 租户 Helm Charts
- 16: mc ilm ls
- 17: mc ilm rm
-
18: mc quota
- 19: mc admin bucket quota
- 20: mc admin bucket remote
- 21: mc admin console
- 22: mc admin idp ldap
- 23: mc admin idp ldap policy
- 24: mc admin idp openid
- 25: mc admin profile
- 26: mc admin speedtest
- 27: mc admin tier
- 28: mc admin top
-
29: Kubernetes 参考
-
30: 裸金属参考
- 31: S3 API 兼容性
1 - mc ilm add
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm add 已由 mc ilm rule add 取代。
语法
mc ilm add 命令用于向存储桶添加对象生命周期管理规则。
该命令支持同时添加 Transition (Tiering) 和 Expiration 生命周期管理规则。
以下命令会向 myminio 部署上的 mydata 存储桶添加新的生命周期管理规则:
已配置规则的效果如下:
- 删除超过 90 天的对象
- 在对象变为非当前版本 30 天后删除该对象
- 如果对象没有其他剩余版本,则删除其
DeleteMarker墓碑。 - 将超过 30 天的对象过渡到
COLDTIER远程层。 - 在对象变为非当前版本 7 天后,将其过渡到
COLDTIER远程层。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要添加对象生命周期管理规则的 MinIO 部署中的 alias 和存储桶。
例如:
--prefix
mc-cmd
Optional
将管理规则限制到特定对象前缀。
例如:
该命令会创建一条规则:对 myminio ALIAS 下 mydata 存储桶中带有 meetingnotes/ 前缀的对象,在 90 天后过期。
--tags
mc-cmd
Optional
一个或多个以与号 & 分隔的键值对,用于描述对象标签,并据此筛选生命周期配置规则适用的对象。
此选项与以下选项互斥:
--expire-days
mc-cmd
Required
对象创建后保留的天数。 MinIO 在达到指定天数后将对象标记为待删除。 天数需指定为整数,例如 30 表示 30 天。
对于启用版本控制的存储桶,过期规则仅适用于 当前 对象版本。 使用 --noncurrent-expire-days 选项可将过期行为应用到非当前对象版本。
MinIO 使用 scanner process 根据所有已配置生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的慢速扫描可能会延迟生命周期管理规则的生效。 参见 生命周期管理对象扫描器 了解更多信息。
与以下选项互斥:
--expire-delete-marker
mc-cmd
Optional
指定此选项可让 MinIO 删除没有剩余对象版本的对象的删除标记。 具体来说,删除标记是给定对象仅剩的 唯一“版本”。
此选项与以下选项互斥:
MinIO 使用 scanner process 根据所有已配置生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的慢速扫描可能会延迟生命周期管理规则的生效。 参见 生命周期管理对象扫描器 了解更多信息。
--transition-days
mc-cmd
Optional
从对象创建开始计算,经过多少个日历日后,MinIO 将对象标记为可过渡。 MinIO 会将对象过渡到 --transition-tier 指定的远程层。 天数需指定为整数,例如 30 表示 30 天。
对于启用版本控制的存储桶,过渡规则仅适用于 当前 对象版本。 使用 --noncurrent-transition-days 选项可将过渡行为应用到非当前对象版本。
需要同时指定 --transition-tier。
MinIO 使用 scanner process 根据所有已配置生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的慢速扫描可能会延迟生命周期管理规则的生效。 参见 生命周期管理对象扫描器 了解更多信息。
有关对象过渡的更完整文档,请参见 对象迁移(”Tiering”)。
--transition-tier
mc-cmd
Optional
MinIO 将对象 过渡 到的远程层。 指定一个通过 mc admin tier 创建的现有远程层。
如果指定了 --transition-days,则此选项为必需。
--noncurrent-expire-days
mc-cmd
Optional
对象版本变为 非当前 后(即该对象的另一个版本现为 HEAD)保留的天数。 MinIO 在达到指定天数后将非当前对象版本标记为待删除。
此选项行为与 S3 NoncurrentVersionExpiration 动作一致。
MinIO 使用 scanner process 根据所有已配置生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的慢速扫描可能会延迟生命周期管理规则的生效。 参见 生命周期管理对象扫描器 了解更多信息。
--noncurrent-transition-days
mc-cmd
Optional
对象处于非当前状态(即被同一对象更新版本替换)多少天后,MinIO 将该对象版本标记为可过渡。 当系统主机日期时间超过该日历日期后,MinIO 会将对象过渡到 --transition-tier 指定的远程层。
此选项对未启用版本控制的存储桶无效。 需要同时指定 --noncurrent-transition-tier。
此选项行为与 S3 NoncurrentVersionTransition 动作一致。
MinIO 使用 scanner process 根据所有已配置生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的慢速扫描可能会延迟生命周期管理规则的生效。 参见 生命周期管理对象扫描器 了解更多信息。
--noncurrent-transition-tier
mc-cmd
Optional
MinIO 将 非当前对象版本过渡 到的远程层。 指定一个通过 mc admin tier 创建的远程层。
--noncurrent-expire-newer
mc-cmd
Optional
要保留的非当前对象版本最大数量,按从新到旧排序。
使用此标志可按先进先出方式保留文件的一定数量历史版本。 在保留达到非当前版本最大数量后,MinIO 会将其余更旧的非当前对象版本标记为可过期。
下表列出了在 --noncurrent-expire-newer 3 下若干对象版本及其过期资格:
v5 (current version) |
当前版本不受 ILM 规则影响。 |
v4 |
保留 |
v3 |
保留 |
v2 |
保留 |
v1 |
标记为过期 |
MinIO 保留当前版本 v5。 MinIO 还会从最新开始保留下一个 3 个非当前版本。 这意味着 MinIO 将 v4、v3 和 v2 作为要保留的三个非当前版本。
v1 将成为第 4 个非当前版本,超出非当前版本保留上限,因此 MinIO 会将 v1 标记为过期。
更新此标志的数值只会影响尚未标记的对象版本。 如果提高保留数量,已标记为过期的版本不会改变。
MinIO 使用 scanner process 根据所有已配置生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的慢速扫描可能会延迟生命周期管理规则的生效。 参见 生命周期管理对象扫描器 了解更多信息。
全局标志
此命令支持 全局标志 中的任意选项。
示例
在指定天数后过期存储桶中的所有内容
使用 mc ilm add 和 --expire-days,可将存储桶内容标记为在对象创建后经过指定天数过期:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为该 S3 兼容主机上的存储桶路径。 - 将
DATE替换为对象过期前的天数。 例如,指定30表示对象在创建 30 天后过期。
将前缀下的非当前对象版本过渡到其他层
将 mc ilm add 与 --prefix 和 --transition-tier 配合使用,可将对象较旧的非当前版本过渡到不同的存储层。
该命令会检查 myminio 部署中 mybucket 存储桶内带 doc/ 前缀的内容。
- 前缀中超过 90 天的当前对象会移动到
MINIOTIER-1存储层。 - 前缀中超过 45 天的非当前对象会移动到
MINIOTIER-2存储层。 MINIOTIER-1和MINIOTIER-2均已通过mc admin tier add创建。
在前缀下过期所有对象,并让当前对象版本比非当前对象版本保留更久
将 mc ilm add 命令与 --prefix、--expire-days 和 --noncurrent-expire-days 配合使用,可让对象的当前版本与非当前版本在不同时间过期。
该命令会检查 myminio 部署中 mybucket 存储桶内带 doc/ 前缀的内容。
- 当前对象在 300 天后过期。
- 非当前对象在 100 天后过期。
行为
生命周期管理对象扫描器
MinIO 使用 scanner process 根据已配置的生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的慢速扫描可能会延迟生命周期管理规则的生效。 参见 生命周期管理对象扫描器 了解更多信息。
过期与过渡
MinIO 支持在同一个存储桶或存储桶前缀中同时指定过期和过渡规则。 无论对象的过渡状态如何,MinIO 都可以对其执行过期规则。 使用 mc ilm ls 查看当前配置的对象生命周期管理规则, 以评估过期规则与过渡规则之间可能存在的相互影响。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
2 - mc quota clear
变更: RELEASE.2022-12-13T00-23-28Z
mc quota clear 替代了 mc admin bucket quota --clear。
变更: RELEASE.2024-07-31T15-58-33Z
mc quota clear 已弃用。
说明
mc quota clear 命令会移除存储桶上已配置的存储配额。
示例
清除已配置的存储桶配额
使用 mc quota clear 标志可从存储桶中移除配额。
- 将
TARGET替换为已配置 MinIO 部署的alias。 将BUCKET替换为要清除配额的存储桶名称。
语法
mc quota clear 的语法如下:
mc quota clear 支持以下参数:
TARGET
mc-cmd
Required
该命令为其创建配额的存储桶完整路径。 指定 MinIO 部署的 alias 作为路径前缀。 例如:
全局标志
此命令支持 全局标志 中的任意选项。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
3 - MinIO 自定义资源定义
MinIO Operator 会安装一个 Custom Resource Definition (CRD),用于描述 MinIO Tenant 对象。 Operator 使用该 CRD 在 Kubernetes 集群中对 Tenant 资源进行配置和管理。
本页提供 CRD 参考文档,用于自定义由 Operator 部署的 Tenant。 本文档默认读者已熟悉其中引用的 Kubernetes 概念、工具和流程。
Operator CRD v2 参考
Package v2 - 本页提供 MinIO Operator Operator CRD v2 Reference CRD 的自动生成快速参考。 如需更完整的 MinIO Operator CRD 文档,请参阅 MinIO Kubernetes Documentation。
Operator CRD v2 Reference API 随 MinIO Operator v4.0.0 一同发布。 MinIO Operator 会自动将使用 /v1 API 的现有租户转换为 /v2。
Bucket
Bucket 描述默认创建的存储桶。
| 字段 | 说明 |
|---|---|
|
|
|
|
|
CertificateConfig
CertificateConfig (certConfig) 定义了在创建租户过程中由 Operator 自动生成的 TLS 证书的控制属性。 如果 spec.autoCert: false,这些字段不会生效。
| 字段 | 说明 |
|---|---|
|
可选 与自动生成的 TLS 证书关联的 |
|
可选 指定一个或多个与自动生成 TLS 证书关联的
|
|
可选 指定一个或多个与自动生成 TLS 证书关联的 x.509 Subject Alternative Names (SAN)。MinIO Server Pod 会根据请求的主机名使用 SNI 判断应返回哪个证书。 |
CertificateStatus
CertificateStatus 用于跟踪由 Operator 管理的所有证书。
- TenantStatus
| 字段 | 说明 |
|---|---|
|
AutoCertEnabled 用于记录我们是否已知该租户启用了 autocert。 |
|
提供手动添加到 Operator 的
|
CustomCertificateConfig
CustomCertificateConfig (customCertificateConfig) 提供在创建租户过程中 手动添加到 Operator 的 TLS 证书相关属性。 如果不存在自定义 TLS 证书,这些字段不包含数据。
| 字段 | 说明 |
|---|---|
|
可选 输出与手动提供的 TLS 证书关联的一个或多个 |
|
可选 输出与手动提供的 TLS 证书关联的一个或多个 |
|
可选 输出与手动提供的 TLS 证书关联的一个或多个 |
|
可选 输出与手动提供的 TLS 证书关联的一个或多个 |
|
可选 输出与手动提供的 TLS 证书关联的一个或多个 |
CustomCertificates
CustomCertificates (customCertificates) 提供在创建租户过程中 手动添加到 Operator 的 TLS 证书分组。 如果不存在自定义 TLS 证书,这些字段不包含数据。
| 字段 | 说明 |
|---|---|
|
可选 客户端 |
|
可选 MinIO |
|
可选 证书颁发机构 |
ExposeServices
ExposeServices (exposeServices) 定义 MinIO 对象存储和 Console 服务的暴露方式。
| 字段 | 说明 |
|---|---|
|
可选 指示 Operator 暴露 MinIO 服务。默认为
|
|
可选 指示 Operator 暴露 MinIO Console 服务。默认为
|
Features
Features (features) - 描述要在 MinIO 租户中启用或禁用哪些 MinIO 功能的对象。
| 字段 | 说明 |
|---|---|
|
可选 指定 |
|
可选 指定用于访问 MinIO 和 Console 的域名列表。 |
|
可选 以启用 SFTP 支持的方式启动 minio server。 |
HealthStatus (string)
HealthStatus 表示租户是否处于健康、服务降级或离线状态。
- TenantStatus
KESConfig
KESConfig (kes) 定义作为 MinIO 租户一部分部署的 MinIO Key Encryption Service (KES) StatefulSet 配置。 KES 支持使用外部密钥管理服务 (KMS) 对对象执行服务端加密。
| 字段 | 说明 |
|---|---|
|
可选 指定要在租户中部署的 KES Pod 副本数量。
默认为 |
|
可选 |
|
可选 MinIO Docker 镜像的拉取策略。可指定以下值:
详细信息请参阅 Kubernetes 文档:https://kubernetes.io/docs/concepts/containers/images#updating-images |
|
可选 用于运行作为租户一部分创建的 MinIO KES Pod 的
Kubernetes
Service Account。 |
|
必填 指定一个包含环境变量的 Kubernetes
opaque secret,用于设置 MinIO KES 服务。 |
|
可选 为租户中的每个 MinIO KES Pod 启用带 SNI 支持的 TLS。
如果省略
指定一个 Kubernetes
TLS secret。MinIO Operator 会将指定证书复制到租户中的每个 MinIO Pod。
当 MinIO Pod/Service 响应 TLS 连接请求时,会使用 SNI 选择
指定一个包含以下字段的对象:
有关为 MinIO 租户配置 TLS 的示例和更完整文档, 请参阅 MinIO Operator CRD 参考。 |
|
可选 指定一个包含自定义根证书颁发机构和 x.509 证书的 Kubernetes
TLS secret,用于与外部 Key Management Service
(例如 Hashicorp Vault)执行 mTLS 认证。 指定一个包含以下字段的对象:
|
|
可选 |
|
可选 |
|
可选 如果提供,则将这些 annotations 用于 KES 对象元数据注解。 |
|
可选 如果提供,则将这些 labels 用于 KES 对象元数据标签。 |
|
可选 用于在 MinIO 租户中指定 CPU 和内存
resource
allocations 或限制的对象规范。 |
|
可选 Operator 在选择要部署 MinIO KES Pod 的节点时应用的筛选条件。
Operator 仅会选择标签与指定 selector 匹配的节点。 更多信息请参阅 Kubernetes 文档中的 Assigning Pods to Nodes。 |
|
可选 指定一个或多个要应用到 MinIO KES Pod 的 Kubernetes tolerations。 |
|
可选 为 KES Pod 指定 node affinity、pod affinity 和 pod anti-affinity。 |
|
可选 指定一个或多个要应用到 MinIO 池中部署 Pod 的 Kubernetes Topology Spread Constraints。 |
|
可选 如果提供,则将其用作 KES 在 KMS 后端创建的密钥名称。 |
|
指定 MinIO KES Pod 的 Security
Context。
Operator 仅支持以下 Pod 安全字段:
|
|
指定 MinIO KES Pod 的 Security Context。 |
|
可选 如果提供,MinIO Operator 在部署 KES 资源时会添加指定的环境变量。 |
LocalCertificateReference
LocalCertificateReference (externalCertSecret, externalCaCertSecret,clientCertSecret) 包含一个 Kubernetes secret, 其中存放用于在 MinIO 租户中启用 TLS 的 TLS 证书或证书颁发机构文件。
| 字段 | 说明 |
|---|---|
|
必填 包含 TLS 证书或证书颁发机构文件的 Kubernetes secret 名称。 |
|
必填 Kubernetes secret 的类型。指定
|
Logging
Logging 描述 MinIO 租户的日志记录。
| 字段 | 说明 |
|---|---|
|
|
|
|
|
Pool
Pool (pools) 定义租户上的一个 MinIO server pool。 每个 pool 由一组 MinIO server Pod 组成, 这些 Pod 通过“池化”其存储资源来支持对象存储和检索请求。 每个 server pool 都独立于其他 pool, 并支持对 MinIO 租户中可用存储资源进行水平扩展。
有关 pools 对象的示例和更完整文档,请参阅 MinIO Operator CRD 参考。
| 字段 | 说明 |
|---|---|
|
必填 指定 pool 名称。 如果省略此字段,Operator 会自动生成 pool 名称。 |
|
必填 要在该 pool 中部署的 MinIO server Pod 数量。最小值为 MinIO Operator 要求每个 pool 至少有 |
|
必填 为该 pool 中每个 MinIO server Pod 生成的 Persistent Volume Claim 数量。 MinIO Operator 要求每个 pool 至少有 |
|
必填 指定 MinIO Operator 为 MinIO 租户生成 Persistent Volume Claim
时使用的配置选项。 |
|
可选 用于在 MinIO 租户中指定 CPU 和内存
resource
allocations 或限制的对象规范。 |
|
可选 Operator 在选择要在哪些节点部署该 pool Pod 时应用的筛选条件。
Operator 仅会选择标签与指定 selector 匹配的节点。 更多信息请参阅 Kubernetes 文档中的 Assigning Pods to Nodes。 |
|
可选 为 MinIO pool 中的 Pod 指定 node affinity、pod affinity 和 pod anti-affinity。 |
|
可选 指定一个或多个要应用到 MinIO pool 中部署 Pod 的 Kubernetes tolerations。 |
|
可选 指定一个或多个要应用到 MinIO pool 中部署 Pod 的 Kubernetes Topology Spread Constraints。 |
|
可选 指定 pool 中 Pod 的 Security
Context。
Operator 仅支持以下 Pod 安全字段:
|
|
指定 pool 中容器的 Security
Context。
Operator 仅支持以下容器安全字段:
|
|
可选 指定要追加到 Pool 的自定义 labels 和 annotations。
可选 如果提供,则将这些 annotations 用于 Pool 对象元数据注解 (StatefulSet 和 Pod 模板)。 |
|
可选 如果提供,则将这些 labels 用于 Pool 对象元数据标签 (StatefulSet 和 Pod 模板)。 |
|
可选 如果提供,StatefulSet 中的每个 Pod 都将使用指定的 RuntimeClassName 运行。 更多信息请参阅 https://kubernetes.io/docs/concepts/containers/runtime-class/ |
PoolState (string)
PoolState 表示 pool 的状态。
PoolStatus
PoolStatus 用于跟踪所有 pool 及其当前状态。
- TenantStatus
| 字段 | 说明 |
|---|---|
|
|
|
|
|
LegacySecurityContext 表示旧版 SecurityContext。它表示该 pool 创建于 v4.2.3 之前, 当时我们引入了默认的非 root securityContext, 因此应继续在不设置 Security Context 的情况下运行此 pool。 |
PoolsMetadata
PoolsMetadata (poolsMetadata) 为 MinIO pool statefulset / pod 定义自定义 labels 和 annotations。
| 字段 | 说明 |
|---|---|
|
可选 如果提供,则将这些 labels 追加到 MinIO statefulset / pod。 |
|
可选 如果提供,则将这些 annotations 追加到 MinIO statefulset / pod。 |
ServiceMetadata
ServiceMetadata (serviceMetadata) 为 MinIO Object Storage 服务 和/或 MinIO Console 服务定义自定义 labels 和 annotations。
| 字段 | 说明 |
|---|---|
|
可选 如果提供,则将这些 labels 追加到 MinIO 服务。 |
|
可选 如果提供,则将这些 annotations 追加到 MinIO 服务。 |
|
可选 如果提供,则将这些 labels 追加到 Console 服务。 |
|
可选 如果提供,则将这些 annotations 追加到 Console 服务。 |
|
可选 如果提供,则将这些 labels 追加到 KES 服务。 |
|
可选 如果提供,则将这些 annotations 追加到 KES 服务。 |
SideCars
SideCars (sidecars) 定义了一个容器列表, Operator 会将其附加到 pool 中的每个 MinIO server Pod。
| 字段 | 说明 |
|---|---|
|
可选 要在 Pod 内运行的容器列表。 |
|
可选 volumeClaimTemplates 是 Pod 允许引用的 claim 列表。 StatefulSet controller 负责以保持 Pod 身份的方式将网络身份映射到 claim。 该列表中的每个 claim 都必须在模板中的某个容器里至少有一个同名的 volumeMount 与之匹配。对于同名项,此列表中的 claim 优先于模板中的任意 volume。 |
|
可选 可由该 Pod 所属容器挂载的 volume 列表。 更多信息:https://kubernetes.io/docs/concepts/storage/volumes |
|
可选 sidecar 的资源配置;如果设置,initcontainer 也会使用该配置。 |
Tenant
Tenant 是一个 Kubernetes object 对象,用于描述 MinIO 租户。
- TenantList
| 字段 | 说明 |
|---|---|
|
|
|
|
|
|
|
|
|
必填 MinIO 租户对象的根字段。 |
TenantDomains
TenantDomains (domains) - 用于从 Kubernetes 集群外部访问租户的域名列表。 这只会为列出的域名配置 MinIO,但仍需要额外的外部 DNS 配置。 如果使用了 schema 和端口,列出的域名应包含它们,例如 https://minio.domain.com:8123
| 字段 | 说明 |
|---|---|
|
MinIO 使用的域名列表。 这将启用对象存储的 DNS 风格访问方式, 其中存储桶名称会从域名中的子域推导出来。 |
|
用于暴露 MinIO Console 的域名。 这会在通过浏览器访问时为 MinIO 配置重定向。 如果 Console 通过子路径暴露,域名中也应包含该子路径,例如 https://console.domain.com:8123/subpath/ |
TenantScheduler
TenantScheduler (scheduler) - 描述用于部署 MinIO 租户的 Kubernetes Scheduler 的对象。
| 字段 | 说明 |
|---|---|
|
可选 指定用于调度 Tenant Pod 的 Kubernetes scheduler 名称。 |
TenantSpec
TenantSpec (spec) 定义 MinIO 租户对象的配置。
以下参数特指作为 MinIO Operator v4.0.0 一部分引入的 Operator CRD v2 Reference MinIO CRD API spec 定义。
有关该对象的更完整文档,请参阅 MinIO Kubernetes Documentation。
| 字段 | 说明 |
|---|---|
|
必填 描述部署在 MinIO 租户中的各个 MinIO server pool 的对象数组。
每个 pool 由一组 MinIO server Pod 组成,这些 Pod 通过汇聚其存储资源来支持对象存储和检索请求。
每个 server pool 都独立于其他 pool,并支持在 MinIO 租户中横向扩展可用存储资源。 MinIO 租户 有关 |
|
可选 |
|
可选 指定从私有 Docker 仓库拉取镜像时使用的 Secret。 |
|
可选 StatefulSet 创建 Pod 时使用的 Pod 管理策略。 |
|
可选 如果提供,MinIO Operator 在部署租户资源时会添加指定的环境变量。 |
|
可选 为租户中的每个 MinIO Pod 启用带 SNI 支持的 TLS。
如果省略
指定一个 Kubernetes
TLS secret 数组。MinIO Operator 会将指定证书复制到租户中的每个 MinIO
server Pod。当 MinIO Pod/Service 响应 TLS 连接请求时,会使用 SNI 选择
有关为 MinIO 租户配置 TLS 的示例和更完整文档, 请参阅 MinIO Operator CRD 参考。 |
|
可选 允许 MinIO server Pod 验证由 Pod 信任存储之外的证书颁发机构签发的客户端 TLS 证书。 指定一个 Kubernetes
TLS secret 数组。MinIO Operator 会将指定证书复制到租户中的每个 MinIO
server Pod。
有关为 MinIO 租户配置 TLS 的示例和更完整文档, 请参阅 MinIO Operator CRD 参考。 |
|
可选 在 MinIO 租户 Pod 与 MinIO KES 之间启用 mTLS 认证。
要启用 MinIO 租户与 MinIO KES 之间的连通性,此项为 必填。 指定一个 Kubernetes
TLS secret。MinIO Operator 会将指定证书复制到租户中的每个 MinIO
server Pod。该 secret 必须 包含以下字段:
指定的证书 必须 对应 KES server 上的一个身份。
有关 KES 身份的更多信息,请参阅 KES
Wiki。 如果使用 MinIO Operator 部署 KES,请将该证书的哈希值作为
有关为 MinIO 租户配置 TLS 的示例和更完整文档, 请参阅 MinIO Operator CRD 参考。 |
|
可选 支持将额外客户端证书挂载到 MinIO 租户 Pod 中。
多个客户端证书将按以下目录结构挂载:
指定一个 Kubernetes
TLS secret。MinIO Operator 会将指定证书复制到租户中的每个 MinIO
server Pod,之后可通过环境变量引用。该 secret 必须
包含以下字段:
|
|
可选 MinIO 卷(PV)的挂载路径。默认值为 |
|
可选 挂载路径内的子路径。这是 MinIO 存储数据的目录。
默认值为 |
|
可选 启用使用 基于 Kubernetes 的 TLS 证书生成
与签发机制,为 MinIO 租户中的 Pod 和 Service 生成并签发证书。
如果 有关为 MinIO 租户配置 TLS 的示例和更完整文档, 请参阅 MinIO Operator CRD 参考。 |
|
CertExpiryAlertThreshold 表示在触发证书即将过期告警前,最少需要剩余的天数。 |
|
用于容器存活性检查的 Liveness Probe。 如果探测失败,容器会重启。 |
|
用于容器就绪性检查的 Readiness Probe。 如果探测失败,容器会从服务端点中移除。 |
|
Startup Probe 允许为 Pod 启动配置最长宽限期, 在此之前不会开始向其路由流量。 |
|
容器的 Lifecycle hook。 |
|
可启用或禁用与 S3 相关的功能,例如 |
|
可选 启用为 Operator 自动生成的所有 TLS 证书设置
|
|
可选 指示 MinIO Operator 使用指定配置部署 MinIO Key Encryption Service
(KES)。
MinIO KES 支持在 MinIO 租户上对对象执行服务端加密。 |
|
可选 指示 MinIO Operator 使用 Prometheus Operator。 租户的 scrape 配置会添加到由 prometheus-operator 管理的 Prometheus 中。 |
|
可选 用于运行作为租户一部分创建的 MinIO Pod 的
Kubernetes
Service Account。 |
|
可选 指示 Pod 的优先级,即其相对于集群中其他 Pod 的重要程度。
这仅应用于 MinIO Pod。 更完整的文档请参阅 Kubernetes 的 Priority Class 文档。 |
|
可选 MinIO Docker 镜像的拉取策略。可指定以下值:
详细信息请参阅 Kubernetes 文档:https://kubernetes.io/docs/concepts/containers/images#updating-images |
|
可选 作为 sidecar 随租户中每个 MinIO Pod 一同运行的容器列表。 |
|
可选 指示 Operator 暴露 MinIO 和/或 Console 服务。 |
|
可选 指定要追加到 MinIO 服务和/或 Console 服务的自定义 labels 和 annotations。 |
|
可选 指定要追加到所有 pool StatefulSet 和 Pod 的自定义 labels 和 annotations。 |
|
可选 一个用于在租户置备期间生成 MinIO 用户的 Kubernetes
opaque secret 数组。 数组中的每个元素都是一个由键值对
每个被引用的 Kubernetes secret 都必须包含以下字段:
Operator 默认会为每个用户分配 |
|
可选 在创建新租户时创建存储桶。 如果给定名称的存储桶已存在,则跳过。 |
|
可选 为 MinIO 租户启用 JSON 和 Anonymous 日志。 |
|
可选 指定一个包含额外环境变量配置的 Secret,供 MinIO pool 使用。
该 Secret 应包含一个名为 |
|
可选 向 StatefulSet 添加自定义 initContainer。 |
|
可选 如果提供,StatefulSet 将附加这些 volume。 你应为对应的 volume 和 volumeMount 设置规则。 Operator 不会验证这些规则,最终结果以 Kubernetes 为准。 |
|
可选 如果提供,StatefulSet 将附加这些 volume mount。 你应为对应的 volume 和 volumeMount 设置规则。 Operator 不会验证这些规则,最终结果以 Kubernetes 为准。 |
TenantUsage
TenantUsage 是关于租户使用量和容量的指标。
- TenantStatus
| 字段 | 说明 |
|---|---|
|
该租户的可用容量,单位为字节。 |
|
该租户的原始容量,单位为字节。 |
|
由 MinIO 管理的数据量,单位为字节。 |
|
磁盘上的原始使用量,单位为字节。 |
|
Tiers 包含租户中各个 tier 的使用情况。 |
TierUsage
TierUsage 表示租户配置的某个 tier 的使用情况。
| 字段 | 说明 |
|---|---|
|
tier 名称。 |
|
tier 类型。 |
|
该 tier 的总使用量。 |
4 - Silo 客户端(mcli / mc)
Pigsty 维护的客户端在独立归档与 Linux 软件包中以 mcli 发布;源码构建、容器入口点、配置目录、模块路径和命令语法则为兼容性保留 mc。它为文件系统和兼容 Amazon S3 的对象存储提供 ls、cat、cp、mirror、diff 等熟悉的命令。
mc 命令行工具以兼容 AWS S3 API 为目标构建。当前源码保留与 Silo、上游 MinIO 和 AWS S3 的兼容性。
Silo 项目无法保证它与每一种其他 S3 兼容服务的行为,因为各家实现存在差异。在将其他服务视为兼容对象前,请先测试工作负载依赖的操作。
mc 的语法如下:
支持的命令列表参见 命令速查。
与 Silo 服务端的版本对齐
客户端与 Silo 服务端独立发布。
为获得最佳功能与兼容性,建议使用与 Silo 或 MinIO 服务端发布时间接近的客户端版本。通常,选择与服务端同日或更晚发布的客户端更稳妥。
可以安装比服务端更新的客户端。但如果版本偏差过大,即使 mc cp 等核心 S3 操作仍兼容,管理功能或 flag 也可能存在差异。
快速开始
1) 安装客户端
请从下载与安装页面选择 Linux 软件包、适用于 Linux/macOS/Windows 的归档文件或客户端容器。版本化制品与校验和也可从 GitHub Releases 获取。
独立归档与 Linux 软件包安装的命令名是 mcli,容器与源码构建则保留 mc。两者是同一个客户端的别名;本文档示例使用 mc,若主机上安装的是 mcli,请直接替换命令名。
从源码构建维护分支:
Pigsty 分支刻意禁用了 mc update。请通过 Silo 下载页、Pigsty 软件仓库或 GitHub Releases升级。
当前 pgsty/mc 源码仍注册 mc license 与 mc support 命令树。这些命令集成的是上游 MinIO SUBNET 及其商业许可/支持服务,而不是 Silo 服务。它们的命令名、协议字段、SUBNET 措辞以及 MinIO 价格/许可证链接属于上游契约,不应更名。
2) 为兼容 S3 的服务创建别名
重要
以下示例会临时禁用 bash history,以降低身份认证凭据明文泄露的风险。 这是一项基础安全措施,无法覆盖所有可能的攻击向量。 对于在命令行输入敏感信息,请遵循你所用操作系统的安全最佳实践。
使用 mc alias set 命令将 Amazon S3 兼容服务添加到 mc 配置 中。
- 将
ALIAS替换为与 S3 服务关联的名称。mc命令通常要求提供ALIAS作为参数, 以标识要执行操作的 S3 服务。 - 将
HOSTNAME替换为 S3 服务的 URL endpoint 或 IP 地址。 - 将
ACCESS_KEY和SECRET_KEY替换为该 S3 服务上某个用户的 access key 和 secret key。
将各参数替换为所需值。 如果省略 ACCESS_KEY 和 SECRET_KEY,命令会在 CLI 中提示输入这两个值。
以下每个标签页都包含一个特定提供商示例:
3) 测试连接
使用 mc admin info 命令测试与新添加 Silo 部署的连接:
如果命令执行成功,会返回该 S3 服务的信息。 如果失败,请检查以下各项:
-
主机可连通 S3 服务 URL(例如使用
ping或traceroute)。 -
指定的
ACCESSKEY和SECRETKEY对应 S3 服务上的有效用户。 该用户必须有权限在该服务上执行操作。对于 MinIO 部署,参见 Access Management 获取更多用户访问权限信息。对于其他兼容 S3 的 服务,请参考该服务文档。
命令速查
下表列出了 mc 命令:
配置文件
mc 使用 JSON 格式的配置文件来存储 某些类型的信息,例如每个已配置兼容 S3 服务的 aliases。
在 Linux 和 macOS 上,默认配置文件位置为 ~/.mc/config.json。
在 Windows 上,mc 会尝试通过特定环境变量 构造默认文件路径。如果某个变量未设置,mc 会继续 尝试下一个变量。如果所有尝试都失败,mc 会返回错误。 下列列表按 mc 检查顺序说明了可能的文件路径位置:
HOME\.mc\config.jsonUSERPROFILE\.mc\config.jsonHOMEDRIVE+HOMEPATH\.mc\config.json
可使用 --config-dir
证书
MinIO 客户端将部署使用的证书和 CA 存储在以下路径:
Linux、macOS 和其他类 Unix 系统:
Windows 系统:
创建新的 alias 时,MinIO Client 会拉取对端证书、计算公钥指纹,并询问用户是否接受该部署的证书。 如果你决定信任该证书,MinIO Client 会将其添加到上述证书颁发机构路径。
说明
在测试环境中,你可以通过传入 --insecure flag,跳过部分 MinIO Client 命令的证书检查。
模式匹配
某些命令和 flag 支持模式匹配。 启用后,模式可包含以下任一通配符用于字符替换:
*表示要匹配的一串字符,可位于中间或末尾。?表示单个字符。
例如,可参考以下通配符使用示例及其结果。
| 模式 | 文本 | 匹配结果 |
|---|---|---|
abc* |
ab | 匹配 |
abc* |
abd | 不匹配 |
abc*c |
abcd | 匹配 |
ab*??d |
abxxc | 匹配 |
ab*??d |
abxc | 匹配 |
ab??d |
abxc | 匹配 |
ab??d |
abc | 匹配 |
ab??d |
abcxdd | 不匹配 |
全局选项
所有 commands 都支持以下全局选项。 你也可以使用 Environment Variables 来定义其中部分选项。
--config-dir
option
指向 JSON 格式配置文件的路径, mc 使用该文件存储数据。有关 mc 如何使用配置文件的更多信息,请参见 配置文件。
或者,设置环境变量 MC_CONFIG_DIR。
--debug
option
启用控制台详细输出。
例如,以下操作会为 mc ls 命令增加详细输出:
或者,设置环境变量 MC_DEBUG。
--disable-pager --dp
option
新增: mc
RELEASE.2024-04-29T09-56-05Z
在 CLI 中禁用 MinIO Client 的分页功能。 使用后,输出会直接打印到原始 STDOUT。
--insecure
option
禁用 TLS/SSL 证书校验。允许与证书无效的 服务器建立 TLS 连接。对不受信任的 S3 主机使用该 选项时请谨慎。
或者,设置环境变量 MC_INSECURE。
--json
option
启用 JSON lines 格式输出到 控制台。
例如,以下操作会为 mc ls 命令增加 JSON Lines 输出:
或者,设置环境变量 MC_JSON。
--no-color
option
禁用控制台输出的内置配色主题。适用于 dumb 终端。
或者,设置环境变量 MC_NO_COLOR。
--quiet
option
抑制控制台输出。
或者,设置环境变量 MC_QUIET。
--resolve
option
新增: mc
RELEASE.2024-08-13T05-33-17Z
创建自定义 DNS 映射,将 HOST 解析到指定 IP 地址。
使用以下语法:
例如:
可重复该 flag 多次以添加更多自定义 DNS 映射。
--version
option
显示 mc 的当前版本。
--help
mc-cmd
Optional
在终端显示命令用法摘要。
4.1 - mc alias list
语法
mc alias list 命令列出本地 mc 配置中的所有别名。
该命令输出包含每个别名关联的 access key 和 secret key 配置。
以下命令列出本地主机上配置的所有 aliases:
mc alias list 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
可选 要显示的特定别名名称。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出所有已配置别名
以下 mc alias list 命令列出本地 mc 配置中所有已配置的别名。
列出特定别名
以下 mc alias list 命令列出本地 mc 配置中特定别名的详细信息。
- 将
ALIAS替换为要返回的别名名称。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.2 - mc anonymous set
语法
mc anonymous set 命令为存储桶设置匿名(即未认证或公开)访问 策略。
配置了匿名策略的存储桶允许客户端在无需 身份验证 的情况下, 访问存储桶内容并执行与指定策略一致的操作。
要使用 IAM JSON 策略设置存储桶匿名策略,请使用 mc anonymous set-json 命令。
以下命令为 myminio MinIO 部署上的多个存储桶设置匿名访问策略:
应用程序可在无需认证的情况下执行以下操作:
- 向
myminio/uploads和myminio/public执行PUT对象操作。 - 从
myminio/downloads和myminio/public执行GET对象操作。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
PERMISSION
mc-cmd
必需 要分配给指定 ALIAS 的策略名称。 指定以下值之一:
none- 禁用对ALIAS的匿名访问。download- 启用对ALIAS的仅下载访问。upload- 启用对ALIAS的仅上传访问。public- 启用对ALIAS的下载和上传访问。
ALIAS
mc-cmd
必需 要应用指定 PERMISSION 的存储桶或存储桶前缀的完整路径。
指定 MinIO 或其他 S3 兼容服务的 alias,以及 存储桶或存储桶前缀的完整路径。例如:
指定存储桶前缀可仅对该前缀设置策略。例如,以下命令分别为 mybucket/downloads 和 mybucket/uploads 前缀设置不同的匿名存储桶策略:
全局标志
此命令支持 全局标志 中的任意选项。
示例
为存储桶设置匿名策略
使用 mc anonymous set 为存储桶设置匿名策略:
- 将
POLICY替换为受支持的permission。 - 将
ALIAS替换为已配置 S3 兼容主机的alias。 - 将
PATH替换为目标存储桶。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.3 - mc batch cancel
新增: mc
RELEASE.2023-03-20T17-17-53Z
语法
mc batch cancel 可停止正在进行的批处理作业。
您必须指定作业 ID。 要查找作业 ID,请使用 mc batch list。
以下命令会输出标识为 KwSysDpxcBU9FNhGkn2dCf 的作业定义。
该命令使用以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
当前运行该作业的 MinIO 部署的 alias。
JOBID
mc-cmd
Required
要取消的批处理作业的唯一标识符。 要查找作业 ID,请使用 mc batch list。
全局参数
此命令支持 全局标志 中的任意选项。
示例
取消正在进行的批处理作业
以下命令会取消别名为 myminio 的部署上 ID 为 KwSysDpxcBU9FNhGkn2dCf 的作业:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.4 - mc encrypt clear
语法
mc encrypt clear 命令用于移除存储桶当前的默认加密设置。
以下命令会移除 myminio alias 关联的 MinIO 部署中 mydata 存储桶的默认加密设置:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
要移除默认 SSE 模式的目标存储桶完整路径。 指定 MinIO 部署的 alias 作为 ALIAS 路径前缀。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
移除存储桶的自动服务端加密设置
- 将
ALIAS替换为目标 MinIO 部署的 alias, 即要移除存储桶自动服务端加密配置的部署别名。
行为
修改存储桶加密设置不会影响已加密对象
禁用存储桶自动加密 不会 解密该存储桶中的任何对象。
要永久解密存储桶中的对象,可在禁用对象解密后执行原地复制。 对于启用版本控制的存储桶,旧版本对象仍保持加密状态。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.5 - mc event add
语法
mc event add 命令为存储桶添加事件通知触发器。
MinIO 会将已触发的事件自动发送到已配置的 notification target。
以下命令为 myminio MinIO 部署中的 mydata 存储桶上的 所有 PUT 和 DELETE 操作创建新的事件通知触发器:
指定的 ARN 对应 myminio 部署上已配置的 bucket notification target。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要添加新事件通知的 MinIO alias 和存储桶。 例如:
ARN
mc-cmd
Required
通知目标的 Amazon Resource Name (ARN)。
MinIO 服务器启动时会为每个已配置的通知目标输出一个 ARN。 更多信息请参见 存储桶通知。
--event
mc-cmd
Optional
MinIO 生成存储桶通知所依据的事件。
支持以下取值:
putgetdelete
使用逗号 , 分隔可指定多个值。 值之间不要添加空白字符。
如果未指定,默认值为 put,delete,get。
各支持值对应的 S3 事件详见 支持的存储桶事件。
ignore-existing, p
mc-cmd
Optional
如果已存在匹配的触发器,则指示 MinIO 忽略指定的事件触发器。
--prefix
mc-cmd
Optional
指定可由 --event 触发存储桶通知的存储桶前缀。
例如,若 ALIAS 为 play/mybucket 且 --prefix 为 photos,则只有 play/mybucket/photos 中的事件会触发存储桶通知。
省略该参数时,存储桶中所有前缀和对象的事件都可触发通知。
--suffix
mc-cmd
Optional
指定可由 --event 触发存储桶通知的存储桶后缀。
例如,若 ALIAS 为 play/mybucket 且 --suffix 为 .jpg,则只有 play/mybucket/*.jpg 中的事件会触发存储桶通知。
省略该参数时,无论后缀为何,所有对象的事件都可触发通知。
全局标志
此命令支持 全局标志 中的任意选项。
示例
为存储桶添加事件通知
以下命令为某个存储桶上的所有 S3 PUT、GET 和 DELETE 操作添加新的事件通知触发器。该命令假设 MinIO 部署中至少已配置一个 bucket notification target:
行为
支持的存储桶事件
下表列出了 mc event add 支持的取值及其对应的 S3 events:
有关上述 S3 事件的更完整文档,请参见 S3 Supported Event Types。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.6 - mc idp ldap accesskey disable
描述
mc idp ldap accesskey disable 会在 MinIO 部署上禁用指定的 access key。
以下示例在
minio部署上禁用访问密钥mykey:
该命令的语法如下:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署的 alias。 -
将
KEY替换为要禁用的访问密钥。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
KEY
mc-cmd
Required
要禁用的已配置访问密钥。
示例
禁用 minio 部署中的访问密钥 mykey。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.7 - mc idp ldap add
描述
mc idp ldap add 命令用于创建 AD/LDAP IDP 服务器配置。
每个 MinIO 部署最多仅支持 一个 (1) AD/LDAP 提供商。
以下示例为 myminio 部署设置 AD/LDAP 配置项。
该命令的语法如下:
-
将
ALIAS替换为 MinIO 部署的 alias,用于创建 AD/LDAP 集成。 -
将
[CFG_PARAM#]替换为各个 configuration setting 键值对,格式为PARAMETER="value"。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要添加 AD/LDAP 集成的 MinIO 部署的 alias。
例如:
server_addr
mc-cmd
Required
指定 Active Directory / LDAP server 的主机名。例如:
srv_record_name 会自动识别端口
如果你的 AD/LDAP server 使用 DNS SRV Records,则 不要 在 server_addr 的值后追加端口号。 SRV 请求在返回可用服务器列表时会自动包含端口号。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_ADDR。
lookup_bind_dn
mc-cmd
Required
指定 MinIO 在查询 AD/LDAP server 时所使用的 AD/LDAP 账户 Distinguished Name (DN)。 这会启用对 AD/LDAP server 的 Lookup-Bind 认证。
该 DN 账户应为只读访问账号,并具备足够权限以支持执行用户和组查询。
该参数对应环境变量 MINIO_IDENTITY_LDAP_LOOKUP_BIND_DN。
lookup_bind_password
mc-cmd
Required
指定 Lookup-Bind 用户账户的密码。
变更: RELEASE.2023-06-23T20-26-00Z
当通过 mc admin config get 返回此值时,MinIO 会将其脱敏。
该参数对应环境变量 MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD。
user_dn_attributes
mc-cmd
Optional
新增: RELEASE.2024-06-06T09-36-42Z
用户 DN 属性的逗号分隔列表。
一些有效值包括 uid,cn,mail,sshPublicKey。
如果要为 LDAP 用户启用公钥认证,请将 sshPublicKey 作为 DN 属性传入。 随后,用户即可使用传入的 SSH Public Key 登录 SFTP server。
user_dn_search_base_dn
mc-cmd
Required
指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的基础 Distinguished Name (DN)。
多个 DN 之间请使用分号(;)分隔。
例如:
支持 Lookup-Bind 模式。
该参数对应环境变量 MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN。
user_dn_search_filter
mc-cmd
Required
指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的 AD/LDAP 搜索过滤器。
使用 %s 替换字符将客户端指定的用户名插入搜索字符串。例如:
该参数对应环境变量 MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER。
comment
mc-cmd
Optional
指定要附加到 AD/LDAP 配置上的注释。
该参数对应环境变量 MINIO_IDENTITY_LDAP_COMMENT。
enabled
mc-cmd
Optional
设为 false 可禁用 AD/LDAP 配置。
如果设为 false,应用程序将无法生成 STS 凭证, 也无法再使用已配置的提供者向 MinIO 进行身份验证。
默认为 true,即 “enabled”。
group_search_base_dn
mc-cmd
Optional
指定 MinIO 在执行组查询时所使用的组搜索基础 Distinguished Names 列表,多个值之间使用分号(;)分隔。
例如:
该参数对应环境变量 MINIO_IDENTITY_LDAP_GROUP_SEARCH_BASE_DN。
group_search_filter
mc-cmd
Optional
指定用于为已认证用户执行组查询的 AD/LDAP 搜索过滤器。
使用 %s 替换字符将客户端指定的用户名插入搜索字符串。 使用 %d 替换字符将客户端指定用户名对应的 Distinguished Name 插入搜索字符串。
例如:
在提供 AD/LDAP 组搜索过滤器时,应将其配置为仅返回支持认证所需的最少相关组。 返回大量组成员关系的过滤器会增加相关调用和资源的体量。 对大请求体或大响应体敏感的功能可能因此出现意外行为。
该参数对应环境变量 MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER。
server_insecure
mc-cmd
Optional
指定 on 可允许与 AD/LDAP server 建立未加密的连接(非 TLS)。
MinIO 会以明文形式将 AD/LDAP 用户凭证发送到 AD/LDAP server,因此 必须 启用 TLS,才能防止凭证在传输过程中被读取。 启用此选项会带来安全风险,因为任何能够访问网络流量的用户都可能看到未加密的明文 凭证。
默认值为 off。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_INSECURE。
server_starttls
mc-cmd
Optional
指定 on 可启用到 AD/LDAP server 的 StartTLS 连接。
默认值为 off
有关 StartTLS 的更多信息,请参见 LDAP RFC 4511 specification 第 4.14 节。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_STARTTLS。
srv_record_name
mc-cmd
Optional
新增: RELEASE.2022-12-12T19-27-27Z
指定适当的值,以允许 MinIO 通过 DNS SRV record 请求选择 AD/LDAP server。
启用后,MinIO 会通过以下方式选择 AD/LDAP server:
- 按标准命名约定构造目标 SRV 记录名称。
- 请求可用的 AD/LDAP server 列表。
- 根据优先级和权重选择合适的目标。
下面的配置示例假定 AD/LDAP server 地址设为 example.com,SRV 记录协议为 _tcp。
对于以 _ldap 开头的 SRV 记录名称,指定 ldap。 构造出的 DNS SRV 记录名称类似如下:
对于以 _ldaps 开头的 SRV 记录名称,指定 ldaps。 构造出的 DNS SRV 记录名称类似如下:
如果你的 DNS SRV 记录名称使用了其他 service 或 protocol 名称,请指定 on, 并将完整记录名称作为 LDAP server 地址提供。 例如:_ldapserver._specialtcp.example.com
有关 DNS SRV 记录的更多信息,请参见 DNS SRV Records for LDAP。
DNS SRV 记录配置中的 server 地址
指定的 server 名称 不得 包含端口号。 这与标准 AD/LDAP 配置不同,后者要求提供端口号。
关于如何配置 AD/LDAP server 地址,请参见 server_addr 或 MINIO_IDENTITY_LDAP_SERVER_ADDR。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SRV_RECORD_NAME。
tls_skip_verify
mc-cmd
Optional
指定 on 可在不验证的情况下信任 AD/LDAP server 的 TLS 证书。 如果 AD/LDAP server 的 TLS 证书由不受信任的证书颁发机构签名 (例如自签名),则可能需要此选项。
默认值为 off
该参数对应环境变量 MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.8 - mc idp ldap policy attach
描述
mc idp ldap policy attach 命令将一个或多个策略附加到实体。
以下示例将策略
userpolicy附加到myminio部署中的用户bobfisher:
该命令的语法如下:
-
将
ALIAS替换为 MinIO 部署的 alias,用于配置 AD/LDAP 集成。 -
将
POLICYNAME替换为要附加到实体的策略。 你可以列出多个要附加到实体的策略。 -
必须使用
--user或--group标志之一。 在命令中每个标志只能使用一次。 不能在同一命令中同时使用这两个标志。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,其中包含要附加策略的实体。
例如:
示例
以下示例将两个策略 policy1 和 policy2 附加到 myminio 部署中的 projectb 组:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.9 - mc ilm restore
语法
mc ilm restore 命令会为归档在远程层上的对象创建一个临时副本。 默认情况下,该副本会在 1 天后自动过期。
使用此命令可让应用程序通过 MinIO 部署访问分层对象(例如“热层”)。 归档对象会保留在远程层,而临时副本会成为该对象的 HEAD。
新增: mc
RELEASE.2023-04-12T02-21-51Z
使用 mc stat 可显示已恢复对象是从本地临时副本读取还是从远程层读取。 当前正在从远程层恢复的对象会显示状态 Ongoing : true。
以下命令将远程层上一个已转储对象的副本恢复到 myminio MinIO 部署:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要恢复的归档对象对应的 MinIO alias、存储桶和路径。
--days
mc-cmd
Optional
MinIO 使已恢复归档对象副本过期前的天数。
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--recursive, r
mc-cmd
Optional
恢复指定前缀下的所有对象。
--versions
mc-cmd
Optional
恢复远程层上该对象的所有版本。
--version-id, vid
mc-cmd
Optional
恢复远程层上该对象的指定版本。
全局参数
此命令支持 全局标志 中的任意选项。
示例
恢复归档对象
以下命令恢复一个已归档到远程层的对象:
恢复指定版本的归档对象
以下命令恢复一个已归档到远程层的指定对象版本:
恢复存储桶前缀下的所有归档对象
以下命令恢复远程层上指定前缀下归档的所有对象:
行为
已恢复对象自动过期
MinIO 会在指定天数后自动使已恢复对象副本过期(默认:1 天)。
已恢复对象会成为 HEAD
无论该对象命名空间的版本控制历史如何,已恢复的对象副本都会成为 HEAD。 在本地副本存在期间,这可能导致应用程序返回“过时”数据。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.10 - mc ilm rule add
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule rm 替代 mc ilm add。
语法
mc ilm rule add 命令用于向存储桶添加对象生命周期管理规则。
该命令支持添加 迁移(分层) 和 过期 两类生命周期管理规则。
以下命令将新的生命周期管理规则添加到 myminio 部署上的 mydata 存储桶:
已配置规则的效果如下:
- 删除超过 90 天的对象
- 对象变为非当前版本后 30 天删除
- 如果对象没有其他剩余版本,则删除
DeleteMarker墓碑。 - 将超过 30 天的对象迁移到
COLDTIER远程层。 - 对象变为非当前版本后 7 天迁移到
COLDTIER远程层。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署上用于添加对象生命周期管理规则的 alias 和存储桶。
例如:
--prefix
mc-cmd
Optional
将管理规则限定到特定对象前缀。
例如:
该命令会创建一条规则:对于 myminio ALIAS 上 mydata 存储桶中具有 meetingnotes/ 前缀的对象,在 90 天后过期。
--tags
mc-cmd
Optional
一个或多个以 & 分隔的键值对,用于描述对象标签,以筛选生命周期配置规则适用的对象。
此选项与以下选项互斥:
--expire-all-object-versions
mc-cmd
Optional
新增: mc
RELEASE.2024-02-24T01-33-20Z
使对象的当前版本和非当前版本全部过期。 与 --expire-days 选项结合使用,以指定扫描器进程在多少天后删除对象的所有版本。
在 scanner 处理该命令后,部署中将不再保留该对象的任何版本。
变更: MinIO
RELEASE.2024-05-01T01-11-10Z
此标志 仅 适用于最新版本 不是 删除标记的对象。
--expire-days
mc-cmd
Optional
对象创建后保留的天数。 达到指定天数后,MinIO 会将对象标记为待删除。 使用整数指定天数,例如 30 表示 30 天。
对于启用版本控制的存储桶,过期规则仅适用于对象的 当前 版本。 使用 --noncurrent-expire-days 或 --expire-all-object-versions 标志,可将过期行为应用于对象的非当前版本。
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
与以下选项互斥:
--expire-delete-marker
mc-cmd
Optional
指定该选项后,MinIO 会移除没有剩余对象版本的对象删除标记。 具体来说,删除标记是该对象唯一剩余的“版本”。
此选项与以下选项互斥:
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
--transition-days
mc-cmd
Optional
对象创建后经过多少个日历日,MinIO 将对象标记为可迁移。 MinIO 会将对象迁移到由 --transition-tier 指定的远程层。 使用整数指定天数,例如 30 表示 30 天。 如果远程层是另一个 MinIO 部署,可将该值设为 0,使新对象立即具备迁移到远程层的资格。
对于启用版本控制的存储桶,迁移规则仅适用于对象的 当前 版本。 使用 --noncurrent-transition-days 选项可将迁移行为应用于对象的非当前版本。
需要同时指定 --transition-tier。
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
关于对象迁移的完整文档,请参见 对象迁移(”Tiering”)。
--transition-tier
mc-cmd
Optional
MinIO transition objects 的目标远程层。 指定由 mc ilm tier add 创建的现有远程层。
当指定 --transition-days 时,此项为必需。
--noncurrent-expire-days
mc-cmd
Optional
对象版本变为 非当前 后(即该对象已有其他版本成为 HEAD)保留的天数。 达到指定天数后,MinIO 会将非当前对象版本标记为待删除。
此选项与 S3 NoncurrentVersionExpiration 操作行为一致。
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
--noncurrent-transition-days
mc-cmd
Optional
对象在成为非当前版本后(即被同一对象的更新版本替换)经过多少天,MinIO 将该对象版本标记为可迁移。 当系统主机日期时间超过该日历日期时,MinIO 会将对象迁移到 --transition-tier 指定的远程层。
此选项对非版本化存储桶无效。 需要同时指定 --noncurrent-transition-tier。
此选项与 S3 NoncurrentVersionTransition 操作行为一致。
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
--noncurrent-transition-tier
mc-cmd
Optional
MinIO transitions noncurrent objects versions 的目标远程层。 指定由 mc ilm tier add 创建的远程层。
--noncurrent-expire-newer
mc-cmd
Optional
要保留的非当前对象版本最大数量,按从新到旧排序。
使用此标志可按先进先出方式保留文件的一定数量历史版本。 在保留达到最大非当前版本数后,MinIO 会将其余更旧的非当前对象版本标记为可过期。
下表基于 --noncurrent-expire-newer 3 展示对象版本数量及其过期资格:
v5(当前版本) |
当前版本不受 ILM 规则影响。 |
v4 |
保留 |
v3 |
保留 |
v2 |
保留 |
v1 |
标记为过期 |
MinIO 会保留当前版本 v5。 MinIO 还会从最新版本开始,保留接下来的 3 个非当前版本。 这意味着 MinIO 会将 v4、v3 和 v2 作为要保留的三个非当前版本。
v1 是第四个非当前版本,超出非当前版本保留上限,因此 MinIO 会将 v1 标记为过期。
更新此标志的数值只会影响尚未标记的对象版本。 对于已标记为过期的版本,即使增加保留数量也不会改变。
MinIO 使用 scanner process 根据所有已配置的生命周期管理规则检查对象。 在高 IO 负载或系统资源受限时,扫描变慢可能导致生命周期管理规则应用延迟。 更多信息请参见 生命周期管理对象扫描器。
--size-gt
mc-cmd
Optional
新增: mc
RELEASE.2023-12-02T02-03-28Z
选择大于指定值的对象。 以数字加单位输入该值,例如 5GiB 表示 5 gibibytes。
有效单位包括:
| 后缀 | 单位大小 |
|---|---|
k |
KB(千字节,1000 字节) |
m |
MB(兆字节,1000 KB) |
g |
GB(吉字节,1000 MB) |
t |
TB(太字节,1000 GB) |
ki |
KiB(kibibyte,1024 字节) |
mi |
MiB(mebibyte,1024 KiB) |
gi |
GiB(gibibyte,1024 MiB) |
ti |
TiB(tebibyte,1024 GiB) |
--size-lt
mc-cmd
Optional
新增: mc
RELEASE.2023-12-02T02-03-28Z
选择小于指定值的对象。 以数字加单位输入该值,例如 1M 表示 1 megabyte。
有效单位包括:
| 后缀 | 单位大小 |
|---|---|
k |
KB(千字节,1000 字节) |
m |
MB(兆字节,1000 KB) |
g |
GB(吉字节,1000 MB) |
t |
TB(太字节,1000 GB) |
ki |
KiB(kibibyte,1024 字节) |
mi |
MiB(mebibyte,1024 KiB) |
gi |
GiB(gibibyte,1024 MiB) |
ti |
TiB(tebibyte,1024 GiB) |
全局标志
此命令支持 全局标志 中的任意选项。
示例
在指定天数后过期存储桶全部内容
将 mc ilm rule add 与 --expire-all-object-versions 和 --expire-days 标志配合使用,可在对象创建后经过指定天数后,将存储桶中的所有当前版本和非当前版本内容标记为过期:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶的路径。 - 将
DAYS替换为每个对象过期前的天数。 例如,指定30表示对象在创建 30 天后过期。
将某前缀下的非当前对象版本迁移到不同层
将 mc ilm rule add 与 --prefix 和 --transition-tier 配合使用,可将对象较旧的非当前版本迁移到不同存储层。
该命令会检查 myminio 部署上 mybucket 存储桶中前缀为 doc/ 的内容。
- 前缀下超过 90 天的当前对象会移动到
MINIOTIER-1存储层。 - 前缀下超过 45 天的非当前对象会移动到
MINIOTIER-2存储层。 MINIOTIER-1和MINIOTIER-2均已通过mc admin tier add创建。
让某前缀下所有对象过期,并让当前版本比非当前版本保留更久
将 mc ilm rule add 命令与 --prefix、--expire-days 和 --noncurrent-expire-days 配合使用,可让对象的当前版本与非当前版本在不同时间过期。
该命令会检查 myminio 部署上 mybucket 存储桶中前缀为 doc/ 的内容。
- 当前对象在 300 天后过期。
- 非当前对象在 100 天后过期。
迁移前缀 /doc 下大于 1MiB 的非当前版本
将 mc ilm rule add 命令与 --prefix、--size-gt 和 --noncurrent-expire-days 配合使用,可让对象的当前版本与非当前版本在不同时间过期。
该命令会检查 myminio 部署上 mybucket 存储桶中前缀为 doc/ 的内容。
该命令会选择以下对象:
- 大于 1MiB 且超过 90 天的当前对象。
- 大于 1MiB 且超过 45 天的非当前对象。
所选对象会迁移到 MINIOTIER-1。
移除删除标记
以下命令会移除删除标记仅为对象唯一剩余版本的对象的删除标记。
说明
若要删除最新版本为删除标记的对象的所有版本,包括删除标记本身,可考虑使用 batch expiration。
所需权限
有关添加规则所需权限,请参见父命令中的 required permissions。
行为
生命周期管理对象扫描器
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。在高 IO 负载或 系统资源受限时,扫描变慢可能导致生命周期管理 规则应用延迟。更多信息请参见 生命周期管理对象扫描器。
过期与迁移
MinIO 支持在同一个存储桶或存储桶前缀中同时指定过期和迁移规则。 无论对象的迁移状态如何,MinIO 都可以对其执行过期规则。 使用 mc ilm rule ls 查看当前已配置的对象生命周期 管理规则,以评估过期与迁移规则之间可能的相互影响。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.11 - mc ilm tier add
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm tier add 替代了 mc admin tier add。
描述
mc ilm tier add 命令在受支持的存储服务上创建一个新的远程存储层。
完整列表请参见 对象转换。
支持的 S3 服务
mc ilm tier add 仅 支持以下 S3 兼容服务作为对象分层的远程目标:
- MinIO
- Amazon S3
- Google Cloud Storage
- Azure Blob Storage
权限
在为对象转换生命周期管理规则创建远程层的集群上,MinIO 需要以下管理权限:
例如,以下策略授予在集群中任意存储桶上配置对象转换生命周期管理规则的权限:
语法
以下示例在 myminio 部署上创建一个名为 WARM-MINIO-TIER 的新远程层。 该命令为位于主机名 https://warm-minio.com 的远程 MinIO 部署创建一个层。
myminio 部署上的生命周期管理规则可以使用该新层,将对象转换到远程位置 mybucket 存储桶中的 myprefix/ 前缀下。
命令语法如下:
注意: 每个受支持的存储供应商使用不同的认证方式。 用于认证的标志因存储供应商而异。 详见下方 TIER_TYPE。
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
该命令接受以下参数:
TIER_TYPE
mc-cmd
Required
MinIO 将对象转换到的云服务提供商存储后端(”Tier”)。 指定以下受支持值之一:
|
使用远程 MinIO 部署作为新 Tier 的存储后端。 还需要指定以下参数: |
|
使用 AWS S3 作为新 Tier 的存储后端。 还需要指定以下参数: |
|
使用 Azure Blob Storage 作为新 Tier 的存储后端。 还需要指定以下参数: |
|
使用 GCP Cloud Storage 作为新 Tier 的存储后端。 还需要指定以下参数: |
TARGET
mc-cmd
Required
命令在该已配置 MinIO 部署的 alias 上创建新的远程层。 随后你可以使用 mc ilm rule add 并指定该新远程层来创建新规则。
TIER_NAME
mc-cmd
Required
与新远程层关联的名称。 该名称 必须 在 MinIO 集群所有已配置层中唯一。
你 必须 使用全大写指定 tier,例如 WARM_TIER。
--endpoint
mc-cmd
Optional
S3 或 MinIO 存储的 URL endpoint。 URL endpoint 必须 解析到 TIER_TYPE 指定的提供方。
对 s3 或 minio tier 类型为必需,对 azure 为可选。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--access-key
mc-cmd
Optional
远程 S3 或 minio tier 类型中某个用户的 access key。 该用户必须具有对远程存储桶或存储桶前缀执行 read/write/list/delete 操作的权限。
当 TIER_TYPE 为 s3 或 minio 时必需。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--secret-key
mc-cmd
Optional
远程 s3 或 minio tier 类型中某个用户的 secret key。
当 TIER_TYPE 为 s3 或 minio 时必需。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--account-name
mc-cmd
Optional
用作远程存储资源的 Storage Account。
当 TIER_TYPE 为 azure 时必需。 对 TIER_TYPE 的任何其他取值,该选项均无效。
MinIO 不 支持更改与 Azure 远程 tier 关联的存储账户名。 Azure 存储后端绑定到存储账户,因此更改该值会更换存储后端,并导致无法访问已转换到原账户/后端的任何对象。
--account-key
mc-cmd
Optional
与远程 Azure tier 关联的 --account-name 对应的共享 account key。
该 account key 必须绑定具备所需 权限 的 Azure 策略。
当 TIER_TYPE 为 azure 时必需。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--credentials-file
mc-cmd
Optional
远程 Google Cloud Storage tier 中用户使用的 credential file。 该用户必须具有对远程存储桶或存储桶前缀执行 read/write/list/delete 操作的权限。
当 TIER_TYPE 为 gcs 时必需。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--bucket
mc-cmd
Required
MinIO 将对象转换到的远程 tier 存储桶。
对于 azure 远程 tier,该值对应 Container name
--prefix
mc-cmd
Optional
MinIO 将对象转换到指定 --bucket 的前缀路径。
省略此字段可将对象转换到存储桶根路径。
--storage-class
mc-cmd
Optional
MinIO 应用于转换到远程存储桶对象的 storage class(在 Microsoft Azure 中称为 “access tier”)。
应用于 MinIO 转换到远程存储桶对象的 storage class。 MinIO 分层行为依赖远程存储在请求后立即返回对象(毫秒到秒级)。 因此 MinIO 无法 支持需要 rehydration、等待周期或手动干预的远程存储。
选择与 TIER_TYPE 对应的选项卡,查看各层支持的值:
STANDARD推荐REDUCED
更多信息请参见 纠删码存储类。
STANDARDSTANDARD-IAONEZONE-IA
更多信息请参见 使用 Amazon S3 存储类。
STANDARDNEARLINECOLDLINE
更多信息请参见 GCS 存储类。
HotCool
更多信息请参见 Blob 数据的 Hot、Cool 和 Archive 访问层。
若省略,对象将使用远程存储桶定义的默认存储类。
--region
mc-cmd
Optional
指定 TIER_TYPE 的 S3 后端区域,例如 us-west-1。
该选项仅在 TIER_TYPE 为 s3 或 minio 时生效。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--use-aws-role
mc-cmd
Optional
使用本地配置的 AWS Role 的访问权限。
该选项仅在 TIER_TYPE 为 s3 或 minio 时生效。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--aws-role-arn
mc-cmd
Optional
转换对象时要使用的 AWS S3 角色名称。
该选项仅在 TIER_TYPE 为 s3 且 源端是 Amazon EKS 上的 MinIO pod 时生效。
--aws-web-identity-file
mc-cmd
Optional
指定转换对象时使用的 web identity token 文件。
该选项仅在 TIER_TYPE 为 s3 且 源端是 Amazon EKS 上的 MinIO pod 时生效。
--azure-sp-tenant-id
mc-cmd
Optional
用于登录 Azure 存储的 service principal account 的 Tenant ID。
该选项仅在 TIER_TYPE 为 azure 且使用 service principal 身份登录时生效。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--azure-sp-client-id
mc-cmd
Optional
用于登录 Azure 存储的 service principal account 的 Client ID。
该选项仅在 TIER_TYPE 为 azure 且使用 service principal 身份登录时生效。 对 TIER_TYPE 的任何其他取值,该选项均无效。
--azure-sp-client-secret
mc-cmd
Optional
用于登录 Azure 存储的 service principal account 的 client secret。
该选项仅在 TIER_TYPE 为 azure 且使用 service principal 身份登录时生效。 对 TIER_TYPE 的任何其他取值,该选项均无效。
全局标志
此命令支持 全局标志 中的任意选项。
示例
配置一个 Tier 以将对象转换到 MinIO 部署
以下示例在本地部署上创建一个新层,已配置规则可使用该层将对象转换到独立的远程 MinIO 部署。
该命令在 myminio 部署上为 minio 类型远程存储创建一个名为 WARM-MINIO-TIER 的新层。
- 远程 MinIO 存储位于
https://warm-minio.com。 - 命令中包含了一个对该存储桶及前缀具备 read、write、list 和 delete 权限用户的凭据。
- 该层会将对象转换到远程 MinIO 存储上的
mybucket存储桶与myprefix前缀。
配置一个 Tier 以将对象转换到 Azure Blob Storage 位置
以下示例在本地部署上创建一个新层,已配置规则可使用该层将对象转换到 Azure Blob Storage。
该命令在 myminio 部署上为 azure 类型远程存储创建一个名为 AZTIER 的新层。
- 使用提供的 account name 和 key 访问远程 Azure 存储。
- 该层会将对象转换到 Azure 存储上的
myazurebucket存储桶与myazureprefix前缀。
配置一个 Tier 以将对象转换到 Google Cloud Storage
以下示例在本地部署上创建一个新层,已配置规则可使用该层将对象转换到 Google Cloud Storage。
该命令在 myminio 部署上为 gcs 类型远程存储创建一个名为 GCSTIER 的新层。
- 使用提供的 credentials file 访问远程 GCS 存储。
- 该层会将对象转换到 GCS 存储上的
mygcsbucket存储桶与mygcsprefix前缀。
配置一个 Tier 以将对象转换到 Amazon Simple Storage Service (S3)
以下示例在本地部署上创建一个新层,已配置规则可使用该层将对象转换到 S3 上的 STANDARD 存储。
该命令在 myminio 部署上为 s3 类型远程存储创建一个名为 S3TIER 的新层。
- S3 存储位于提供的 endpoint。
- 使用提供的 access key 和 secret key 访问远程 S3 存储。
- 该层会将对象转换到 GCS 存储上的
mys3bucket存储桶与mys3prefix前缀。 - 该层使用位于
us-west-2S3 区域的 S3STANDARD存储类。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关添加 tier 所需的权限,请参见父命令中的 required permissions。
4.12 - mc legalhold clear
语法
mc legalhold clear 命令会移除一个或多个对象当前的 legal hold 设置。
移除对象的 legal hold 不会 移除对象上已有的其他 GOVERNANCE 模式 和 COMPLIANCE 模式 保留设置。
以下命令会移除 myminio MinIO 部署中 mydata 存储桶内 所有对象的 legal hold:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO alias 以及要移除 legal hold 的对象路径(可为单个或多个对象)。例如:
--recursive, r
mc-cmd
Optional
移除 ALIAS 指定存储桶或存储桶前缀下 所有对象的 legal hold。
--rewind
mc-cmd
Optional
指示 mc legalhold clear 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc legalhold clear 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
全局标志
此命令支持 全局标志 中的任意选项。
示例
获取对象的 Legal Hold 状态
使用 mc legalhold clear 获取对象的 legal hold 状态。 包含 --recursive 可返回存储桶内容的 legal hold 状态:
- 将
ALIAS替换为 S3 兼容主机的 alias。 - 将
PATH替换为 S3 兼容主机上的 存储桶或对象路径。若指定的是存储桶或存储桶前缀路径,请包含--recursive选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.13 - mc license info
描述
mc license info 命令用于显示 MinIO 部署的许可证状态信息。 具体来说,用于确认该部署使用的是 AGPLv3 开源许可证,还是 MinIO Commercial License。
你必须在 MinIO MinIO SUBNET 中注册部署,才能激活商业许可证。
例如,对于未注册的部署,该命令会返回以下信息:
使用 mc license register 将你的部署关联到 SUBNET 账户。 如果你尚未注册 SUBNET,请参阅 Registration 页面。
示例
显示别名为 minio1 的部署当前许可证
如果部署使用的是已过期的 MinIO Commercial License,该命令会输出错误信息。
语法
该命令的语法如下:
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
--airgap
mc-cmd
Optional
在运行 minio client 的客户端机器无法通过网络访问 SUBNET 的环境中使用(例如 airgapped、受防火墙限制或类似配置),以显示如何将部署注册到 SUBNET 的说明。
如果部署处于 airgapped 环境,但本地设备具备网络访问能力,则无需使用 --airgap 标志。
全局选项
此命令支持 全局标志 中的任意选项。
4.14 - mc replicate add
变更: RELEASE.2022-12-24T15-21-38Z
mc replicate add 替代了 mc admin bucket remote add 命令。
MinIO 会根据给定的文件路径或资源位置(例如 IP 或 DNS 地址)自动创建远程目标。 定义远程目标的用户不再需要为远程存储桶确定 ARN。
语法
mc replicate add 命令会为 MinIO 部署中的存储桶创建一条新的 服务端复制 规则。
远程存储桶 必须 位于与本地部署运行相同 MinIO 版本的 MinIO 部署上。
说明
mc mirror 仅同步对象的当前版本,而 mc replicate 会同步对象的所有版本、版本信息和元数据。
创建规则后,MinIO 部署会自动开始将新对象同步到远程 MinIO 部署。 你也可以选择配置对现有对象、删除操作和已完全删除对象的同步。
以下命令为 myminio MinIO 部署上的 mydata 存储桶添加一条新的复制规则:
该复制规则会将带版本的删除操作、删除标记和现有对象同步到远程 MinIO 部署。
变更: mc
RELEASE.2024-03-03T00-13-08Z
你可以在 --remote-bucket 参数中使用已配置的 ALIAS。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要在其上创建复制规则的存储桶或存储桶前缀的完整路径。 例如:
--remote-bucket
mc-cmd
Required
指定远程位置的凭证、目标部署和存储桶。 该值可以是 IP 地址、URL 或 alias/bucket。
例如,基于 URL 的目标可能如下所示:
基于 alias 的目标可能如下所示:
--bandwidth
mc-cmd
Optional
将带宽速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将带宽速率限制为不超过 1 GiB/s,可使用以下参数:
若未指定,MinIO 不会限制带宽速率。
--disable
mc-cmd
Optional
以“disabled”状态创建复制规则。 在使用 mc replicate update 将其启用之前,MinIO 不会按该规则开始复制对象。
在复制禁用期间创建的对象,在启用规则后不会立即具备复制资格。 你必须在传给 mc replicate update --replicate 的复制功能列表中包含 "existing-objects",以显式启用现有对象复制。 更多信息请参见 现有对象的复制。
--disable-proxy
mc-cmd
Optional
在定义存储桶之间的 active-active 复制时,不使用代理。
默认情况下,MinIO 使用代理。
--healthcheck-seconds
mc-cmd
Optional
两次远程存储桶健康检查之间的时间间隔(秒)。
若未指定,MinIO 使用 60 秒间隔。
--id
mc-cmd
Optional
为复制规则指定唯一 ID。 如果未指定,MinIO 会自动生成一个 ID。
--limit-download
mc-cmd
Optional
将下载速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将下载速率限制为不超过 1 GiB/s,可使用以下参数:
若未指定,MinIO 使用不限速的下载速率。
--limit-upload
mc-cmd
Optional
将上传速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将上传速率限制为不超过 1 GiB/s,可使用以下参数:
若未指定,MinIO 使用不限速的上传速率。
--path
mc-cmd
Optional
为远程存储桶启用 path-style 查找支持。
有效值包括:
on- 使用路径查找来定位远程存储桶off- 使用资源定位符风格(如域名或 IP 地址)查找来定位远程存储桶auto- 由 MinIO 自动识别用于定位远程存储桶的正确查找类型
未定义时,MinIO 使用 auto 值。
--priority
mc-cmd
Optional
指定复制规则的整数优先级。 该值 必须 在源存储桶的所有其他规则中保持唯一。 值越高表示优先级 越高。
默认值为 0。
--region
mc-cmd
Optional
要将内容复制到的目标存储桶区域。
--replicate
mc-cmd
Optional
指定一个由逗号分隔的值列表,以启用扩展复制功能。
-
delete- 指示 MinIO 将 DELETE 操作 复制到目标存储桶。 -
delete-marker- 指示 MinIO 将删除标记复制到目标存储桶。 -
existing-objects- 指示 MinIO 复制在启用复制前创建的对象,或在复制暂停期间创建的对象。 -
metadata-sync- 指示 MinIO 为每个对象复制元数据。 仅适用于 active-active 复制场景。省略此值会使 MinIO 停止将仅元数据变更回传到源端。
若未指定,MinIO 会同步所有选项。
--storage-class
mc-cmd
Optional
指定应用到复制对象上的 MinIO storage class。
--sync
mc-cmd
Optional
为该远程目标启用同步复制。
默认情况下,MinIO 使用异步复制。
--tags
mc-cmd
Optional
指定一个或多个以和号 & 分隔的键值对标签,MinIO 用其筛选要复制的对象。 例如:
MinIO 会将复制规则应用到标签集合 包含指定复制标签的任何对象。
全局参数
此命令支持 全局标志 中的任意选项。
示例
配置存储桶复制
以下 mc replicate add 命令会创建一个复制配置,将所有新对象、现有对象、删除操作和删除标记同步到远程目标:
- 将
myminio/mybucket替换为ALIAS及要创建复制配置的完整存储桶路径。 - 将
--remote-bucket的值替换为远程目标的 URL 或路径。 如果使用文件路径格式的位置,请使用--path on选项。 --replicate参数会指示 MinIO 将所有删除操作、删除标记和现有对象复制到远程端。 关于复制行为的更多信息,请参见 删除操作的复制 和 现有对象的复制。
为历史数据记录配置存储桶复制
以下 mc replicate add 命令会创建一个新的存储桶复制配置,将所有新对象和现有对象同步到远程目标:
- 将
myminio/mybucket替换为ALIAS及要创建复制配置的完整存储桶路径。 - 将
--remote-bucket的值替换为远程目标的位置。 如果使用文件路径格式的位置,请使用--path on选项。 --replicate参数会指示 MinIO 将所有现有对象复制到远程端。 关于复制行为的更多信息,请参见 现有对象的复制。
生成的远程副本表示远程端对象的历史记录,源端的删除操作不会影响该远程副本。
行为
服务端复制要求源端和目标端均为 MinIO
MinIO 服务端复制仅适用于 MinIO 部署之间。 源端和目标端部署都 必须 运行 MinIO。
若要在任意兼容 S3 的服务之间配置复制,请使用 mc mirror。
在源存储桶和目标存储桶上启用版本控制
MinIO 依赖版本控制提供的不可变性保护,在源端与复制目标之间同步对象。
在开始此流程前,使用 mc version enable 命令在源存储桶和目标存储桶 两端 启用版本控制:
所需权限
MinIO 强烈建议专门创建用于支持存储桶复制操作的用户。 关于向 MinIO 部署添加用户和策略的更完整文档,请参见 mc admin user 和 mc admin policy。
以下策略提供在部署上配置并启用复制所需的权限。
"EnableRemoteBucketConfiguration"语句授予创建远程目标以支持复制的权限。"EnableReplicationRuleConfiguration"语句授予在存储桶上创建复制规则的权限。"arn:aws:s3:::*资源将复制权限应用到源部署上的 任意 存储桶。 你可以按需将用户策略限制到特定存储桶。
使用 mc admin policy create 将该策略添加到每个作为复制源的部署。 使用 mc admin user add 在部署上创建用户,并使用 mc admin policy attach 将策略关联到该新用户。
以下策略提供将复制数据同步 到 该部署所需的权限。
"EnableReplicationOnBucket"语句授予远程目标检索存储桶级配置的权限,以支持在 MinIO 部署中 所有 存储桶上的复制操作。 若要将策略限制到特定存储桶,请在Resource数组中按"arn:aws:s3:::bucketName"形式指定这些存储桶。"EnableReplicatingDataIntoBucket"语句授予远程目标将数据同步到 MinIO 部署中 任意 存储桶的权限。 若要将策略限制到特定存储桶,请在Resource数组中按"arn:aws:s3:::bucketName/*"形式指定这些存储桶。
使用 mc admin policy create 将该策略添加到每个作为复制目标的部署。 使用 mc admin user add 在部署上创建用户,并使用 mc admin policy attach 将策略关联到该新用户。
现有对象复制
从 mc RELEASE.2021-06-13T17-48-22Z 和 minio RELEASE.2021-06-07T21-40-51Z 开始,MinIO 支持自动复制存储桶中的现有对象。 MinIO 的现有对象复制实现了类似 AWS Replicating existing objects between S3 buckets 的能力,而无需联系技术支持的额外开销。
- 若要在创建新复制规则时启用现有对象复制,请在传给
mc replicate add --replicate的复制功能列表中包含"existing-objects"。 - 若要为已有复制规则启用现有对象复制,请使用
mc replicate add --replicate将"existing-objects"添加到现有复制功能列表中。 编辑复制规则时,你必须指定 所有 期望的复制功能。
有关此行为的更完整文档,请参见 现有对象的复制。
元数据变更同步
MinIO 支持 双向 active-active 复制配置,即在两个 MinIO 部署上的存储桶之间同步新增和修改后的对象。 从 mc RELEASE.2021-05-18T03-39-44Z 开始,MinIO 默认会将复制对象的仅元数据变更同步回“源”部署。 在该更新之前,MinIO 不支持同步复制对象的仅元数据变更。
启用元数据同步后,MinIO 会重置对象的 复制状态 以表明其具备复制资格。 具体而言,当应用对状态为 REPLICA 的对象执行仅元数据更新时,MinIO 会将对象标记为 PENDING 并使其具备复制资格。
若要禁用元数据同步,请使用 mc replicate update --replicate 命令,并在复制功能列表中省略 replica-metadata-sync。
删除操作复制
MinIO 支持将删除操作复制到目标存储桶。 具体来说,MinIO 可以同时复制 Delete Markers 以及 特定版本对象的删除:
- 对对象执行删除操作时,MinIO 复制也会在目标存储桶创建删除标记。
- 对对象版本执行删除操作时,MinIO 复制也会删除目标存储桶中的对应版本。
对于因 生命周期管理过期规则 被删除的对象,MinIO 不会 进行复制。 MinIO 仅复制由客户端显式触发的删除操作。
MinIO 要求使用 mc replicate add --replicate 参数显式启用删除操作复制。 本流程包含启用删除操作和删除标记复制所需的参数。 有关此行为的更完整文档,请参见 删除操作的复制。
加密对象复制
MinIO 支持复制使用自动 Server-Side Encryption (SSE-S3) 加密的对象。 要复制加密对象,源存储桶和目标存储桶都 必须 启用自动 SSE-S3。
作为复制流程的一部分,MinIO 会在源存储桶上 解密 对象,并传输未加密对象。 目标 MinIO 部署随后会使用目标存储桶的 SSE-S3 配置重新加密该对象。 MinIO 强烈建议 在源端和目标端部署上都 启用 TLS,以确保对象在传输过程中的安全。
MinIO 不 支持复制客户端侧加密对象(SSE-C)。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.15 - mc retention set
语法
mc retention set 命令用于为存储桶中的一个或多个对象配置 Write-Once Read-Many (WORM) locking 设置。 你还可以为存储桶设置默认对象锁定设置,使未显式配置对象锁定的所有对象继承该存储桶默认值。
要在 legal hold 下锁定对象, 请使用 mc legalhold set。
mc retention set 要求 指定存储桶已启用对象锁定。 你 只能 在创建存储桶时启用对象锁定。有关启用对象锁定创建存储桶的文档,请参见 mc mb --with-lock。
以下命令会在 myminio MinIO 部署中的 mydata 存储桶上, 设置默认 30 天的 GOVERNANCE 对象锁:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc retention set --version-id 与多个其他参数互斥。 更多信息请参见参考文档。
参数
MODE
mc-cmd
Required
设置 ALIAS 的锁定模式。 指定以下支持值之一:
governancecompliance
有关支持模式的更多信息,请参见 AWS S3 文档 Object Lock Overview。
需要指定 VALIDITY。
VALIDITY
mc-cmd
Required
指定对象在创建后保持在 MODE 中的持续时间。
-
按天计时,指定格式为
Nd的字符串。例如,30d表示对象创建后 30 天。 -
按年计时,指定格式为
Ny的字符串。例如,1y表示对象创建后 1 年。
ALIAS
mc-cmd
Required
需要设置对象锁定配置的对象或对象集合的完整路径。 指定 MinIO 或兼容 S3 服务的 alias 以及存储桶完整路径。 例如:
- 如果
ALIAS指定的是存储桶或存储桶前缀,请包含--recursive以将对象锁定设置应用到 存储桶内容。 mc retention set默认仅应用到对象的最新版本。 使用--version-id或--versions可分别将对象锁定设置 应用于指定版本或对象的所有版本。
--bypass
mc-cmd
Optional
允许具有 s3:BypassGovernanceRetention 权限的用户 修改对象。需要 governance 保留 MODE
--default
mc-cmd
Optional
使用 MODE 和 VALIDITY, 为 ALIAS 指定的存储桶设置默认对象锁定设置。 在该存储桶中创建的任何对象都会继承默认对象锁定设置, 除非使用 mc retention set 显式覆盖。
如果指定 --default, mc retention set 会忽略所有其他标志。
--recursive, --r
mc-cmd
Optional
递归将对象锁定设置应用到 ALIAS 路径下的所有对象。
与 --version-id 互斥。
--rewind
mc-cmd
Optional
指示 mc retention set 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, --vid
mc-cmd
Optional
指示 mc retention set 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下任一标志互斥:
--versions
mc-cmd
Optional
指示 mc retention set 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 结合使用, 可将保留设置应用到特定时间点存在的所有对象版本。
全局标志
此命令支持 全局标志 中的任意选项。
示例
设置存储桶默认保留设置
将 mc retention set 与 --recursive 和 --default 结合使用, 以设置存储桶默认保留设置。
- 将
MODE替换为要启用的保留模式。 MinIO 支持 AWS S3 保留模式governance和compliance。 - 将
DURATION替换为对象锁定应持续生效的时长。 例如,要将保留期设置为 30 天,请指定30d。 - 将
ALIAS替换为已配置的兼容 S3 主机的alias。 - 将
PATH替换为存储桶路径。
要使用此命令,存储桶 必须 启用对象锁定。 只能在创建存储桶时启用对象锁定。有关创建已启用对象锁定的存储桶的更多信息, 请参阅
mc mb --with-lock。
为已版本化对象设置对象锁定配置
将 mc retention set 与 --version-id 结合使用, 可将保留设置应用到特定对象版本:
将 mc retention set 与 --versions 结合使用, 可将保留设置应用到特定对象版本:
要使用此命令,存储桶 必须 启用对象锁定。 只能在创建存储桶时启用对象锁定。有关创建已启用对象锁定的存储桶的更多信息, 请参阅
mc mb --with-lock。
行为
对象版本的保留
对于启用了 versioning 的存储桶,mc retention set 默认对目标对象(一个或多个)的 最新 版本执行操作。 mc retention set 包含若干特定选项,在 显式 指定时, 可指示命令对特定对象版本 或 对象的所有版本执行操作:
要让 mc retention set 对对象的特定版本执行操作, 请包含 --version-id 参数:
要让 mc retention set 对对象的 所有 版本执行操作, 请包含 --versions 参数:
与 legal hold 的交互
锁定对象会阻止对该对象进行任何修改或删除, 与 COMPLIANCE 对象锁定模式类似。 对象可以同时具有基于保留的锁和 legal hold 锁。
legal hold 锁会 覆盖 任何保留锁定,这意味着处于 legal hold 下的对象 即使保留期到期也会保持锁定。对处于 legal hold 下对象的保留设置进行设置、 修改或清除,在 legal hold 到期或被显式禁用之前均不会生效。
有关对象 legal hold 的更多信息,请参见 mc legalhold。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.16 - mc share download
语法
mc share download 命令会生成一个临时的预签名 URL,并集成访问凭证, 用于从 MinIO 存储桶下载对象。该临时 URL 会在可配置的时间限制后过期。
- 应用程序可以通过执行
GET从该 URL 获取对象。 - 用户可以在浏览器中打开该 URL 下载对象。
有关可共享对象 URL 的更多信息,请参阅 Amazon S3 关于 Pre-Signed URLs.
以下命令会为 myminio MinIO 部署中的 mydata 存储桶生成一个新的预签名下载 URL:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要为其生成下载 URL 的对象完整路径。例如:
你可以在同一个或不同的 MinIO 部署上指定多个对象。例如:
如果指定的是存储桶路径或存储桶前缀路径,则 必须 同时指定 --recursive 参数。例如:
--expire, E
mc-cmd
Optional
为所有生成的 URL 设置过期时间限制。
指定一个格式为 ##h##m##s 的字符串。例如:12h34m56s 表示 URL 生成后 12 小时 34 分 56 秒过期。
默认为 168h,即 168 小时(7 天)。
--recursive, r
mc-cmd
Optional
递归地为 mc share download ALIAS 存储桶或存储桶前缀中的所有对象生成 URL。
如果任一 ALIAS 指向存储桶路径或存储桶前缀路径,则此参数为必需。
--version-id, vid
mc-cmd
Optional
指示 mc share download 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
全局标志
此命令支持 全局标志 中的任意选项。
示例
生成用于下载对象的 URL
使用 mc share download 为对象生成支持 GET 请求的 URL:
使用 mc share download 并结合 --recursive 选项,可为存储桶中的每个对象生成一个 URL。 每个 URL 都支持对其关联对象执行 GET 请求:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.17 - mc support callhome
描述
mc support callhome 命令用于启用或禁用将部署诊断信息发送到 MinIO SUBNET。
所有 mc support 命令都需要有效的 SUBNET 订阅。
启用后,MinIO 会将诊断信息发送到 SUBNET。
无论注册状态如何,MinIO 默认禁用此功能。 你必须显式启用 callhome 功能,信息上传才会开始。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support callhome enable
mc-cmd
开始将部署的诊断信息、日志或两者同时发送到 SUBNET。
说明
SUBNET 不再支持 --logs 和 --diag 标志,并将在未来版本中移除。
mc support callhome disable
mc-cmd
停止将部署的诊断信息、日志或两者同时发送到 SUBNET。
说明
SUBNET 不再支持 --logs 和 --diag 标志,并将在未来版本中移除。
mc support callhome status
mc-cmd
输出某个部署当前是否将诊断信息、日志或两者同时发送到 SUBNET。
说明
SUBNET 不再支持 --diag 标志,并将在未来版本中移除。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
--diag
mc-cmd
Optional
说明
SUBNET 不再支持此选项,并将在未来版本中移除。
每 24 小时向 SUBNET 发送部署诊断信息,或停止发送。
示例
启用 callhome 上报
为已注册到 SUBNET 且 alias 为 minio1 的部署启用向 SUBNET 发送诊断信息。
禁用 callhome 上报
为已注册到 SUBNET 且 alias 为 minio1 的部署禁用向 SUBNET 发送诊断信息。
显示当前 callhome 设置
显示别名为 minio1 的部署是否向 SUBNET 发送信息。
全局标志
此命令支持 全局标志 中的任意选项。
4.18 - mc support top api
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support top api 命令用于汇总 MinIO 部署服务器上的实时 API 事件。
以下命令显示 alias myminio 上当前正在进行的 S3 API 调用。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令应在其上运行的 alias、前缀或对象完整路径。 该路径至少必须包含一个 ALIAS。
--name
mc-cmd
Optional
输出与输入字符串匹配的当前 API 调用摘要。
--path
mc-cmd
Optional
输出指定路径的当前 API 调用摘要。
--node
mc-cmd
Optional
输出匹配服务器上的当前 API 调用摘要。
--errors, -e
mc-cmd
Optional
输出返回错误的当前 API 调用摘要。
全局参数
此命令支持 全局标志 中的任意选项。
示例
显示当前所有正在进行的 S3 API 调用
以下命令显示 myminio 部署中所有正在进行的 S3 API 调用:
显示当前正在进行的 s3.PutObject 调用
以下命令显示 myminio 部署中所有正在进行的 s3.PutObject 调用:
4.19 - mc tag set
语法
mc tag set 命令可为存储桶或对象设置一个或多个标签。
MinIO 支持为对象最多添加 10 个自定义标签。
以下命令为 myminio MinIO 部署中的 mydata 存储桶设置标签:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc tag set --version-id 与多个参数互斥。更多信息请参阅参考文档。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要应用标签的对象完整路径(例如存储桶和对象路径)。例如:
TAGS
mc-cmd
Required
使用与号(&)分隔的键值对(KEY=VALUE)列表,其中每一对表示要分配给对象的一个标签。例如:
--exclude-folders
mc-cmd
Optional
新增: RELEASE.2024-01-11T05-49-32Z
与 --recursive 一起使用时,mc tag set 将 不会 遍历子前缀。 标签仅应用于指定路径下的对象。 需要 --recursive。
以下示例将 destination=international 标签应用到 vacation-photos/cancun/ 下的对象,但不应用到 vacation-photos/cancun/ocean/ 或其他前缀。
例如,上述命令会将标签添加到 vacation-photos/cancun/pretty-beach.jpg,但不会添加到 vacation-photos/cancun/ocean/tropical-fish.jpg。
--recursive, r
mc-cmd
Optional
新增: RELEASE.2023-05-04T18-10-16Z
递归地将标签应用到 ALIAS 指定路径下的所有对象。
--rewind
mc-cmd
Optional
指示 mc tag set 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--versions
mc-cmd
Optional
指示 mc tag set 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 一起使用,可将标签应用到某个特定时间点存在的所有对象版本。
--version-id, --vid
mc-cmd
Optional
指示 mc tag set 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下参数互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
将标签应用到存储桶或对象
使用 mc tag set 将标签应用到存储桶或对象:
- 将
ALIAS替换为 MinIO 部署的 alias。 - 将
PATH替换为 MinIO 部署中存储桶 或对象的路径。 - 将
TAGS替换为一个或多个用与号分隔(&)的键值对, 每个键值对表示一个标签及其对应值。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.20 - mc version enable
语法
mc version enable 命令用于为指定存储桶启用版本控制。
以下命令为 myminio MinIO 部署中的 mybucket 存储桶启用版本控制:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias 与要启用版本控制的存储桶完整路径。例如:
--exclude-folders
mc-cmd
Optional
在指定存储桶中,对所有文件夹(名称以 / 结尾的对象)禁用版本控制。
--excluded-prefixes
mc-cmd
Optional
对匹配前缀列表的对象禁用版本控制,最多支持 10 个前缀。 前缀列表会匹配前缀或名称中包含指定字符串的所有对象,类似 prefix* 形式的正则表达式。 如果仅按前缀匹配对象,请使用 prefix/*。
例如,以下命令将前缀或名称中包含 _test 或 _temp 的对象排除在版本控制之外:
全局标志
此命令支持 全局标志 中的任意选项。
示例
启用存储桶版本控制
使用 mc version enable 为存储桶启用版本控制:
行为
现有数据的存储桶版本控制
在包含现有数据的存储桶上启用版本控制后,会立即为每个未版本化对象创建值为 NULL 的版本 ID。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.21 - Silo 客户端设置
本页面介绍 MinIO Client 的设置。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
设置
主机凭证
使用此设置可为 mc 命令添加一个临时别名。 例如,可用于脚本场景。
该临时别名使用 AWS s3v4 signature。
此设置没有对应的配置项。
使用 mc alias set 配置 alias。
示例
静态凭证
Security Token Service (STS) 凭证
STS 服务
新增: mc
RELEASE.2023-11-06T04-19-23Z
使用此设置可添加一个用于 mc 命令的 STS endpoint。
变更: mc
RELEASE.2023-12-02T02-03-28Z
支持按 alias 添加多个环境变量。
Web Token Identity
新增: mc
RELEASE.2023-11-06T04-19-23Z
使用此设置可添加一个用于 mc 命令的 Web Token Identity。
变更: mc
RELEASE.2023-12-02T02-03-28Z
支持按 alias 添加多个环境变量。
配置目录
指定 MinIO Client 应使用的配置目录路径。
MC_CONFIG_DIR
envvar
此设置没有对应的配置项。
进度条
禁用 MinIO Client 进度条。
MC_QUIET
envvar
此设置没有对应的配置项。
Pager
新增: mc
RELEASE.2024-04-29T09-56-05Z
在 CLI 中禁用 MinIO Client 的分页器功能。 使用该设置后,输出将改为直接打印到原始 STDOUT。
MC_DISABLE_PAGER
envvar
此设置没有对应的配置项。
颜色主题
禁用 MinIO Client 输出使用的颜色主题。
MC_NO_COLOR
envvar
此设置没有对应的配置项。
JSON
启用将输出格式化为 JSON lines。
MC_JSON
envvar
此设置没有对应的配置项。
调试
启用调试输出。
MC_DEBUG
envvar
此设置没有对应的配置项。
禁用 SSL
禁用 SSL 证书校验。
MC_INSECURE
envvar
此设置没有对应的配置项。
限制下载带宽
限制 MinIO Client 在某些命令中使用的下载带宽。
MC_LIMIT_DOWNLOAD
envvar
此设置没有对应的配置项。
若未指定,MinIO Client 使用全部可用带宽。
将客户端侧下载速率限制为不超过指定值(KiB/s、MiB/s 或 GiB/s)。该设置仅影响运行 MinIO Client 的本地设备发起的下载。支持的单位包括:
- B 表示 bytes
- K 表示 kilobytes
- M 表示 megabytes
- G 表示 gigabytes
- Ki 表示 kibibytes
- Mi 表示 mibibytes
- Gi 表示 gibibytes
例如,要将下载速率限制为不超过 1 GiB/s,可在 Linux 系统上使用以下命令:
在非 Linux 系统上,请参考你的操作系统文档使用等效命令。
限制上传带宽
限制 MinIO Client 在某些命令中使用的上传带宽。
MC_LIMIT_UPLOAD
envvar
此设置没有对应的配置项。
若未指定,MinIO Client 使用全部可用带宽。
将客户端侧上传速率限制为不超过指定值(KiB/s、MiB/s 或 GiB/s)。该设置仅影响运行 MinIO Client 的本地设备发起的上传。支持的单位包括:
- B 表示 bytes
- K 表示 kilobytes
- M 表示 megabytes
- G 表示 gigabytes
- Ki 表示 kibibytes
- Mi 表示 mibibytes
- Gi 表示 gibibytes
例如,要将上传速率限制为不超过 1 GiB/s,可在 Linux 系统上使用以下命令:
在非 Linux 系统上,请参考你的操作系统文档使用等效命令。
SSE-KMS 加密
使用服务端管理密钥通过 SSE-KMS 对选项进行加密和解密。
此设置没有对应的配置项。
SSE-S3 加密
使用服务端管理密钥通过 SSE-KMS 对选项进行加密和解密。
此设置没有对应的配置项。
4.22 - mc alias
说明
mc alias 命令提供了一个便捷接口,用于管理 mc 可连接并执行操作的 S3 兼容主机列表。
重要
对 S3 兼容服务执行操作的 mc 命令 必须 为该服务指定一个别名。
子命令
mc alias 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
4.23 - mc alias remove
语法
mc alias remove 从本地 mc 配置中移除一个已存在的别名。
以下命令会从主机上移除 MinIO 部署的 myminio alias:
mc alias remove 命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必填 要从本地 mc 配置中移除的别名。
全局参数
此命令支持 全局标志 中的任意选项。
示例
从 mc 配置中移除别名
使用 mc alias remove 从 mc 配置中移除一个已存在的别名:
以下命令会移除 myminio 别名。
将 ALIAS 替换为要移除的别名名称。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.24 - mc anonymous get
语法
mc anonymous get 命令用于获取存储桶的匿名(即未认证或公共)访问 策略。
配置了匿名策略的存储桶允许客户端在无需 身份验证 的情况下访问存储桶内容, 并执行与指定策略一致的操作。
要获取分配给存储桶的 JSON 策略,请使用 mc anonymous get-json 命令。
以下命令检索 myminio MinIO 部署上 mydata 存储桶的匿名访问策略:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 命令要检索其匿名存储桶策略的存储桶或存储桶前缀完整路径。
指定 MinIO 或其他 S3 兼容服务的 别名,以及存储桶或存储桶前缀的 完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
获取存储桶匿名策略
使用 mc anonymous get 获取存储桶的匿名策略:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.25 - mc batch describe
变更: MinIO
RELEASE.2022-10-09T21-10-59Z or later
语法
mc batch describe 命令会输出指定作业 ID 的作业定义。
必须指定作业 ID。 要查找作业 ID,请使用 mc batch list。
以下命令会输出标识为 KwSysDpxcBU9FNhGkn2dCf 的作业定义。
此命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
用于查找作业 ID 的 MinIO 部署 alias。
JOBID
mc-cmd
Required
要描述的作业的唯一标识符。 要查找作业 ID,请使用 mc batch list。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示进行中批处理作业的定义
以下命令会输出 alias myminio 上特定作业的完整作业定义:
- 将
myminio替换为应运行该作业的 MinIO 部署的alias。 - 将
KwSysDpxcBU9FNhGkn2dCf替换为要定义的作业 ID。
上述命令的输出类似如下:
注意,此示例已截断。 输出结果是指定作业的完整作业定义。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
权限
你必须具有 admin:DescribeBatchJobs 权限,才能描述该部署上的作业。
4.26 - mc encrypt info
语法
mc encrypt info 命令返回存储桶当前的默认加密设置。
以下命令返回 myminio MinIO 部署上 mydata 存储桶的默认加密设置。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
要检索其默认 SSE 模式的存储桶完整路径。 指定 MinIO 部署的 alias 作为 ALIAS 路径前缀。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
获取存储桶的自动服务端加密设置
- 将
ALIAS替换为要为其配置存储桶自动服务端加密的 MinIO 部署 alias。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.27 - mc event ls
语法
mc event ls 命令列出某个存储桶的所有事件通知触发器。
别名 mc event list 与 mc event ls 功能等效。
以下命令列出 myminio MinIO 部署中 mydata 存储桶、指定 bucket notification target 的所有已配置事件通知:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
命令要列出事件通知的 S3 服务 alias 和存储桶。 例如:
ARN
mc-cmd
Required
存储桶资源的 Amazon Resource Name (ARN)。
MinIO 服务器在启动时会为每个已配置的通知目标输出一个 ARN。 更多信息请参见 存储桶通知。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶上的事件通知
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.28 - mc idp ldap accesskey edit
说明
mc idp ldap accesskey edit 在本地服务器上修改指定的 access key。
以下示例在
minio部署上修改 access keymykey的 secret:
命令语法如下:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署的 alias。 -
将
KEY替换为要删除的 access key。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
KEY
mc-cmd
Required
要删除的已配置 access key。
--description
mc-cmd
Optional
为服务账户添加描述。 例如,可说明该 access key 的用途。
--expiry
mc-cmd
Optional
access key 的过期日期。 请输入 YYYY-MM-DD 格式的日期。
例如,要让凭证在 2024 年 12 月 31 日后过期,输入 2024-12-31。
与 --expiry-duration 互斥。
--expiry-duration
mc-cmd
Optional
access key 保持有效的时长,格式为 #d#h#s。
例如,7d、24h、5d12h30s 都是有效字符串。
与 --expiry 互斥。
--name
mc-cmd
Optional
账号的人类可读名称。
--policy
mc-cmd
Optional
账号使用的 JSON 格式策略文件路径。
如果未指定,账号将使用与已认证用户相同的策略。
--secret-key
mc-cmd
Optional
账号使用的 secret。
示例
修改 access key 的 secret
在 minio 部署上修改 access key mykey 的 secret。
修改 access key 的过期时长
在 minio 部署上修改 access key mykey 的过期时长。
全局参数
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.29 - mc idp ldap disable
描述
mc idp ldap disable 命令用于禁用当前已配置的 AD/LDAP 提供程序。
以下示例会在 myminio 部署上禁用 AD/LDAP 配置。
该命令具有以下语法:
-
将
ALIAS替换为 MinIO 部署的 alias,以禁用 AD/LDAP 集成。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要禁用 AD/LDAP 集成的 MinIO 部署的 alias。
例如:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.30 - mc idp ldap policy detach
描述
mc idp ldap policy detach 命令可从实体分离一个或多个策略。
以下示例从 myminio 部署中的用户 bobfisher 分离策略 userpolicy。
该命令具有以下语法:
-
将
ALIAS替换为 MinIO 部署的 alias,用于配置 AD/LDAP 集成。 -
将
POLICYNAME替换为要从实体分离的策略。 你可以列出多个要从实体分离的策略。 -
必须在
--user或--group标志中二选一。 每个命令中只能使用一次该标志。 不能在同一命令中同时使用这两个标志。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
包含待分离策略实体的 MinIO 部署 alias。
例如:
示例
以下示例从 myminio 部署中的 projectb 组分离两个策略 policy1 和 policy2:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.31 - mc ilm rule
变更: RELEASE.2022-12-24T15-21-38Z
以下命令已移至 mc ilm rule 下的子命令:
描述
mc ilm rule 命令及其子命令用于配置 MinIO 生命周期管理中对象在各存储层之间转换所使用的规则。
在使用此命令创建规则前,请先使用 mc ilm tier 及其子命令创建对象将要迁移到的其他对象存储位置对应的一个或多个存储层。
有关更多信息,请参阅 lifecycle management 概述。
子命令
mc ilm rule 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
权限
MinIO 要求具备以下权限,且权限范围应限定为创建生命周期管理规则的一个或多个存储桶。
例如,以下策略提供了在集群任意存储桶上配置对象转换生命周期管理规则的权限:
转换权限
对象转换生命周期管理规则在远端存储层上需要额外权限。具体而言, MinIO 要求远端存储层凭证提供读取、写入、列举和删除权限。
例如,如果远端存储层使用基于 AWS IAM 策略的访问控制, 则以下策略提供了对象迁入和迁出远端存储层所需的必要权限:
请根据 MinIO 分层写入对象的目标存储桶修改 Resource。
有关如何配置用户和权限以支持 MinIO 分层的完整信息,请参阅受支持分层目标的文档:
4.32 - mc ilm rule edit
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule edit 替代 mc ilm edit。
语法
mc ilm rule edit 命令用于修改 MinIO 存储桶上现有的对象生命周期管理规则。
以下命令用于修改 myminio 部署上 mydata 存储桶的现有生命周期管理规则:
该命令按如下方式修改指定规则:
- 删除超过 90 天的对象。
- 如果对象没有其他剩余版本,则删除
DeleteMarker墓碑标记。 - 将超过 30 天的对象迁移到
COLDTIER远程层。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要修改对象生命周期管理规则的 MinIO 部署中,存储桶的 alias 和完整路径。 例如:
--id
mc-cmd
Required
规则的唯一 ID。使用 mc ilm rule ls 列出存储桶规则,并获取要修改规则的 id。
--disable
mc-cmd
Optional
停用该规则,但保留该规则以供后续使用。 当规则被禁用时,对象不会迁移或过期。
--enable
mc-cmd
Optional
启用规则以迁移或使对象过期。
--prefix
mc-cmd
Optional
将管理规则限制为特定的存储桶前缀。
例如:
该命令会修改一条规则:对于 myminio ALIAS 中 mydata 存储桶内前缀为 meetingnotes/ 的任意对象,在 90 天后过期。
--expire-all-object-versions
mc-cmd
Optional
新增: mc
RELEASE.2024-02-24T01-33-20Z
使对象的所有当前版本和非当前版本都过期。 与 --expire-days 选项结合使用,可指定扫描器进程在多少天后删除对象的所有版本。
在 scanner 处理该命令后,部署中不会保留该对象的任何版本。
新增: MinIO
RELEASE.2024-05-01T01-11-10Z
该标志 仅 适用于最新版本 不 是 delete marker 的对象。
--expire-days
mc-cmd
Optional
对象创建后保留的天数。达到指定天数后,MinIO 会将对象标记为待删除。
使用该选项时请谨慎,其行为可能导致已上传对象立即过期。任何在指定过期日期 之后 创建的对象都会自动满足过期条件。同样地,若指定的日历日期 早于 当前系统主机时间, 该规则覆盖的所有对象都会被标记为删除。指定日历日期过后,请考虑立即移除使用该选项的 ILM 规则。
对于启用版本控制的存储桶,过期规则仅适用于 当前 对象版本。使用 --noncurrent-expire-days 选项 可将过期行为应用于非当前对象版本。
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟 生命周期管理规则的生效。更多信息请参阅 生命周期管理对象扫描器。
与以下选项互斥:
--expire-delete-marker
mc-cmd
Optional
指定该选项可让 MinIO 删除没有剩余对象版本的对象的 delete marker。 具体来说,delete marker 是给定对象 唯一 剩余的“版本”。
该选项与以下选项互斥:
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟 生命周期管理规则的生效。更多信息请参阅 生命周期管理对象扫描器 和 对象删除。
--noncurrent-expire-days
mc-cmd
Optional
对象版本变为 non-current(即该对象的另一个版本成为当前 HEAD)后保留的天数。 达到指定天数后,MinIO 会将非当前对象版本标记为待删除。
该选项的行为与 S3 NoncurrentVersionExpiration 操作一致。
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟 生命周期管理规则的生效。更多信息请参阅 生命周期管理对象扫描器。
--noncurrent-expire-newer
mc-cmd
Optional
在应用过期前要保留的对象 non-current 版本数量。 超出指定数量的较旧 non-current 版本会过期。
默认情况下,当过期规则生效时,MinIO 不保留任何 non-current 版本。
--noncurrent-transition-days
mc-cmd
Optional
对象处于 non-current 状态(即被该对象更新版本替换)后经过多少天, MinIO 将该对象版本标记为可迁移。系统主机时间到达该日历日期后, MinIO 会将对象迁移到 --transition-tier 指定的 远程存储层。
该选项对未启用版本控制的存储桶无效。需要指定 --noncurrent-transition-tier。
该选项的行为与 S3 NoncurrentVersionTransition 操作一致。
如果远程层是另一个 MinIO 部署,可将值设置为 0,使新对象立即满足迁移到远程层的条件。
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟 生命周期管理规则的生效。更多信息请参阅 生命周期管理对象扫描器。
--noncurrent-transition-tier
mc-cmd
Optional
MinIO transitions noncurrent objects versions 所使用的远程存储层。 指定一个通过 mc ilm tier add 创建的远程存储层。
MinIO 不会 自动将对象从先前指定的远程层迁移到新的远程层。 MinIO 会继续将存储在旧远程层上的对象请求路由到旧远程层。
--tags
mc-cmd
Optional
一个或多个以 & 分隔的键值对,用于描述要应用生命周期配置规则的对象标签。
该选项与以下选项互斥:
--transition-days
mc-cmd
Optional
对象创建后经过多少个日历天,MinIO 会将对象标记为可迁移。 MinIO 会将对象迁移到 --transition-tier 指定的远程存储层。 以整数指定天数,例如 30 表示 30 天。 如果远程层是另一个 MinIO 部署,可将值设置为 0,使新对象立即满足迁移到远程层的条件。
对于启用版本控制的存储桶,迁移规则仅适用于 当前 对象版本。使用 --noncurrent-transition-days 选项 可将迁移行为应用于非当前对象版本。
需要指定 --transition-tier。
MinIO 使用 scanner process 根据所有已配置的 生命周期管理规则检查对象。高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟 生命周期管理规则的生效。更多信息请参阅 生命周期管理对象扫描器。
--transition-tier
mc-cmd
Optional
MinIO transition objects 所使用的远程存储层。 指定一个通过 mc ilm tier add 创建的远程存储层。
如果指定 --transition-days,则该选项必填。
MinIO 不会 自动将对象从先前指定的远程层迁移到新的远程层。 MinIO 会继续将存储在旧远程层上的对象请求路由到旧远程层。
全局参数
此命令支持 全局标志 中的任意选项。
示例
修改现有生命周期管理规则
使用带有 --id 的 mc ilm rule edit 修改现有对象过期规则:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶的路径。 - 将
RULEID替换为对象生命周期管理规则的唯一 ID。 使用mc ilm rule ls查找RULEID。 - 指定任意附加标志以新增或修改生命周期管理规则。 例如,指定
--transition-days以覆盖该规则现有的迁移天数值。
禁用生命周期管理规则
使用带有 --disable 的 mc ilm rule edit 停止使用现有管理规则。
- 将
RULEID替换为对象生命周期管理规则的唯一 ID。 使用mc ilm rule ls查找RULEID。 - 将
myminio替换为规则所在部署的 ALIAS。 - 将
mybucket替换为规则对应的存储桶。
所需权限
有关编辑规则所需的权限,请参阅父命令中的 required permissions。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.33 - mc ilm tier check
描述
mc ilm tier check 命令用于显示某个部署上远程层的配置。
语法
该命令具有以下语法:
以下示例显示 myminio 部署上名为 WARM-TIER 的现有远程层配置。
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
该命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,且目标层存在于该部署上。
TIER_NAME
mc-cmd
Required
要显示的现有远程层名称。
必须 使用全大写指定该层,例如 WARM_TIER。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示现有层的配置
以下示例显示 myminio 部署上 WARM-TIER 层的配置。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关查看层所需的权限,请参阅父命令中的 required permissions。
4.34 - mc legalhold info
语法
mc legalhold info 命令返回一个或多个对象的当前 legal hold 设置。
mc legalhold 要求 指定的存储桶已启用对象锁定。 你 只能 在创建存储桶时启用对象锁定。有关创建启用对象锁定的存储桶,请参阅 mc mb --with-lock 文档。
以下命令检索 myminio MinIO 部署中 mydata 存储桶内对象的当前 legal hold 状态:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO alias 以及要为其启用 legal hold 的对象路径(或多个对象路径)。例如:
--recursive, r
mc-cmd
Optional
返回 ALIAS 中存储桶或存储桶前缀下全部对象的 legal hold 状态。
--rewind
mc-cmd
Optional
指示 mc legalhold info 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc legalhold info 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
全局参数
此命令支持 全局标志 中的任意选项。
示例
获取对象的 Legal Hold 状态
使用 mc legalhold info 获取对象的 legal hold 状态。 添加 --recursive 以返回存储桶内容的 legal hold 状态:
- 将
ALIAS替换为 S3 兼容主机的 alias。 - 将
PATH替换为 S3 兼容主机上的存储桶或对象路径。 如果指定的是存储桶路径或存储桶前缀,请包含--recursive选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.35 - mc license register
重要
mc license register 需要 MinIO Client RELEASE.2023-11-20T16-30-59Z 或更高版本。 虽非强制要求,但最佳实践是保持 MinIO 客户端版本 与 MinIO 服务端版本一致。
描述
mc license register 命令会将你的部署与 MinIO SUBNET 账户关联。
注册后,你可以使用 mc support diag 命令将部署健康报告直接上传到 SUBNET。
以下示例将
minioalias 注册到 MinIO SUBNET:
命令语法如下:
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
--airgap
mc-cmd
Optional
用于无法访问 SUBNET 网络的环境(例如 airgapped、受防火墙限制或类似配置)。
说明请参见 airgap 示例。
如果部署处于 airgapped 环境,但你运行 minio client 的本地设备可以访问网络,则无需使用 --airgap 标志。
--api-key
mc-cmd
SUBNET 上账户的 API key。
对应环境变量 MC_SUBNET_API_KEY。
获取 API key 的步骤:
- 登录 MinIO SUBNET
- 进入 Deployments 选项卡
- 在页面顶部、账户统计信息框右侧,选择 API Key 按钮
- 选择 key 字段右侧的复制按钮,将 key 值复制到剪贴板
--license
mc-cmd
Optional
用于注册部署的 license 文件路径。
你必须先从 MinIO SUBNET 下载该账户的 license 文件。
- 登录 MinIO SUBNET
- 进入 Deployments 选项卡
- 在页面顶部、账户统计信息框右侧,选择 License 按钮
- 选择 license 字段右侧的复制按钮,将 key 值复制到剪贴板,或 选择 Download 按钮将 license 的 txt 文件保存到本地
--name
mc-cmd
Optional
指定一个不同于 alias 的名称,用于在 SUBNET 中关联该 MinIO 部署。
使用 --name <value>,将 <value> 替换为你希望在 SUBNET 上为该部署使用的名称。
示例
使用部署名称注册部署
将 alias 为 minio1 的 MinIO 部署注册到 SUBNET,并使用 minio1 作为部署名称:
如果尚未注册,系统会提示输入该部署的 SUBNET 凭证。
使用账户的 License 文件注册部署
将 alias 为 minio5 的新 MinIO 部署注册到 SUBNET,并使用为该账户下载的 license 文件:
如果尚未下载,你可以从 SUBNET 下载 license 文件。
- 登录 MinIO SUBNET
- 进入 Deployments 选项卡
- 在页面顶部、账户统计信息框右侧,选择 License 按钮
- 选择 Download 按钮将 license 的 txt 文件保存到本地
使用不同的部署名称注册部署
将 alias 为 minio2 的 MinIO 部署注册到 SUBNET,并使用 second-deployment 作为名称:
在无法直接访问互联网时注册部署
将 alias 为 minio3 的 MinIO 部署注册到 SUBNET;该部署由于防火墙、airgap 或类似原因无法直接访问互联网。
变更: mc
RELEASE.2022-07-29T19-17-16Z
airgap 注册流程适用于 RELEASE.2022-07-29T19-17-16Z 或更高版本的 MinIO 客户端。 早期版本的 MinIO 客户端 无法注册 airgapped 部署。
-
运行命令,返回带有 token 的注册链接
-
在 Web 浏览器中打开复制的注册链接,并登录 SUBNET
-
选择部署 License 编号右侧的 ? 按钮
-
在弹窗中选择下载链接,并将 key 保存到你有访问权限的路径
-
在命令行中运行以下命令
将
<path-to-file>替换为你从 SUBNET 下载的文件路径。
语法
命令语法如下:
全局标志
此命令支持 全局标志 中的任意选项。
行为
自动更新 License
新增: RELEASE.2023-01-18T04-36-38Z
注册到 MinIO SUBNET 后,MinIO 会每月自动检查并更新 license。
在 airgapped 或其他服务器无法直接访问互联网的环境中,使用带文件路径的 mc license update 来更新注册。
4.36 - mc replicate backlog
变更: mc.RELEASE.2023-07-18T21-05-38Z
mc replicate diff 已重命名为 mc replicate backlog。 功能未发生变化。
描述
mc replicate backlog 显示尚未复制的新建或已删除对象列表。
你可以列出特定远程目标的对象复制状态。 为此,你必须具有该远程目标的 ARN。 你可以使用 检索为存储桶配置的远程目标 查找 ARN。
语法
以下命令显示 myminio 别名下 notes 存储桶中 teamorange/projects 前缀里尚未复制到特定远程目标存储桶的新建或已删除对象。 该远程目标的 ARN 为 arn:minio:replication::3bb8c736-4014-42c5-b3cb-d64e3ebaa75e:notes。
如果存在尚未复制的新建或已删除对象,命令输出类似如下:
在输出中,PUT 对应新建对象。 已删除对象或版本会显示为 DEL。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
指向别名、前缀或对象的路径。
arn
mc-cmd
Optional
远程存储桶的 ARN,用于检查尚未复制的新建或已删除对象。
指定后,该命令返回尚未复制到远程目标的所有新建或已删除对象列表。 未指定时,该命令返回源部署上尚未复制到任何远程目标的新建或已删除对象列表。
全局标志
此命令支持 全局标志 中的任意选项。
示例
查看某个前缀下对象的未复制版本
显示某个前缀下未复制的 PUT 和 DELETE 操作:
- 将
myminio/mybucket替换为ALIAS以及 需要创建复制配置的完整存储桶路径。 - 将
path/to/prefix替换为请求要使用的前缀或对象。
如果存在未复制对象,输出会返回一个操作列表,列出在该前缀下创建或删除对象且尚未复制到远程目标的操作:
查看特定远程目标上的未复制对象
以下 mc replicate backlog 命令显示特定远程目标在某个 alias/bucket/prefix 路径上的未复制对象:
- 将
myminio/mybucket替换为ALIAS以及 需要显示未复制对象的完整存储桶路径。 - 将
path/to/prefix替换为所需的前缀或对象路径。 - 将
<remote-arn>替换为特定远程目标的资源编号。
如果存在未复制对象,输出会返回一个操作列表,列出创建或删除对象且尚未复制到远程目标的操作:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.37 - mc retention info
语法
mc retention info 命令用于为对象或存储桶中的对象配置 Write-Once Read-Many (WORM) locking 设置。 你还可以为存储桶设置默认对象锁定设置,未显式配置对象锁定的对象会继承该存储桶默认值。
如需基于 legal hold 锁定对象, 请使用 mc legalhold set。
mc retention info 要求 指定存储桶已启用对象锁定。 你 只能 在创建存储桶时启用对象锁定。有关创建启用对象锁定的存储桶,请参见 mc mb --with-lock 文档。
以下命令返回 myminio MinIO 部署中 mydata 存储桶的默认对象锁定配置:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc retention info --version-id 与多个其他参数互斥。 更多信息请参见参考文档。
参数
ALIAS
mc-cmd
Required
要检索对象锁定配置的对象完整路径。 将已配置的 S3 兼容服务的 alias 作为 ALIAS 存储桶路径前缀。 例如:
-
如果
ALIAS指定的是存储桶或存储桶前缀,请添加--recursive,以返回该存储桶或前缀下所有对象的对象锁定设置。 -
如果
ALIAS存储桶已启用版本控制,mc retention info默认仅作用于对象的最新版本。 使用--version-id或--versions可返回特定版本或对象全部版本的对象锁定设置。
--default
mc-cmd
Optional
返回 ALIAS 指定存储桶的默认对象锁定设置。
如果指定 --default, mc retention info 会忽略所有其他标志。
--recursive, r
mc-cmd
Optional
递归返回指定 ALIAS 路径下所有对象的对象锁定设置。
与 --version-id 互斥。
--rewind
mc-cmd
Optional
指示 mc retention info 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc retention info 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下任一标志互斥:
--versions
mc-cmd
Optional
指示 mc retention info 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
同时使用 --versions 和 --rewind,可检索某个特定时间点存在的所有对象版本的 保留设置。
全局标志
此命令支持 全局标志 中的任意选项。
示例
检索单个或多个对象的对象锁定设置
将 mc retention info 与 --recursive 一起使用,以检索存储桶中所有对象的保留设置:
要使用此命令,存储桶 必须 启用对象锁定。 只能在创建存储桶时启用对象锁定。有关创建已启用对象锁定的存储桶的更多信息, 请参阅
mc mb --with-lock。
检索存储桶的默认对象锁定设置
将 mc retention info 与 --default 一起使用,以检索存储桶的默认对象锁定设置:
要使用此命令,存储桶 必须 启用对象锁定。 只能在创建存储桶时启用对象锁定。有关创建已启用对象锁定的存储桶的更多信息, 请参阅
mc mb --with-lock。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.38 - mc share upload
语法
mc share upload 命令会生成一个临时的预签名 URL,并集成用于将对象上传到 MinIO 存储桶的访问凭证。该临时 URL 会在可配置的时间限制后过期。
应用程序可以通过该 URL 执行 PUT 以上传对象。
有关可共享对象 URL 的更多信息,请参阅 Amazon S3 文档中的 Pre-Signed URLs。
以下命令会为 myminio MinIO 部署上的 mydata 存储桶生成一个新的预签名上传 URL:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required MinIO 部署的 alias 以及要为其生成上传 URL 的对象完整路径。例如:
你可以在同一个或不同的 MinIO 部署上指定多个对象。例如:
如果指定的是存储桶路径或存储桶前缀路径,则你 必须 同时指定 --recursive 参数。例如:
--content-type, T
mc-cmd
Optional 将上传限制为仅接受带有特定 Content-Type 头的请求。
指定一个字符串作为可接受的 Content-Type 值。 例如,video/mp4。
配置后,使用该生成 URL 的客户端必须包含指定类型的 Content-Type 头。 MinIO 会拒绝未携带正确 Content-Type 头的请求。
Content types 也称为 media types。
--expire, E
mc-cmd
Optional 为所有生成的 URL 设置过期时限。
指定格式为 ##h##m##s 的字符串。例如: 12h34m56s 表示在 URL 生成后 12 小时 34 分 56 秒过期。
默认值为 168h,即 168 小时(7 天)。
--recursive, r
mc-cmd
Optional 修改 CURL URL 以支持将对象上传到存储桶或存储桶前缀。 如果任意 ALIAS 指定的是存储桶路径或存储桶前缀路径,则该选项为必需。修改后的 CURL 输出如下所示:
将 <FILE> 替换为要上传的文件路径。
将 <NAME> 替换为上传后的对象名称。 该名称可以包含 prefixes。
全局参数
此命令支持 全局标志 中的任意选项。
示例
生成用于上传对象的 URL
使用 mc share upload 生成一个支持 POST 请求的 URL, 用于将文件上传到 MinIO 部署上的特定对象位置:
使用 mc share upload 并结合 --recursive 与 --expire 选项,生成一个临时 URL, 该 URL 支持 POST 请求,用于将文件上传到 MinIO 部署上的存储桶:
- 将
ALIAS替换为 MinIO 部署的 alias。 - 将
PATH替换为 MinIO 部署中的存储桶或存储桶前缀路径。 - 将
DURATION替换为 URL 过期前的时长。 例如,要设置 30 天过期时间,指定30d。
该命令会返回一个用于向指定存储桶前缀上传对象的 CURL 命令。
- 将返回的 CURL 命令中的
<FILE>字符串替换为要上传的文件路径。 - 将返回的 CURL 命令中的
<NAME>字符串替换为存储桶中的对象名称。 该名称可以包含 prefixes。
你可以使用 shell 脚本循环将文件系统目录中的内容递归上传到兼容 S3 的服务:
此示例会将 ~/Documents/photos/ 目录中的每个文件上传到 mybucket 存储桶下的 photos 前缀。 对于如何遍历目录中的文件,请遵循你所选脚本语言文档中的最佳实践。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.39 - mc support diag
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
用于创建诊断报告的命令会随版本演进而变化。
| MinIO Client Release | 命令 | 说明 |
|---|---|---|
| RELEASE.2022-02-13T23-26-13Z | mc support diag |
命令移动到 mc support |
| RELEASE.2020-11-17T00-39-14Z | mc admin subnet health |
命令改为 SUBNET 子命令 |
| RELEASE.2020-10-03T02-54-56Z | mc admin health |
命令重命名为 health |
| Original Command | mc admin obd |
命令重命名为 mc admin health |
描述
mc support diag 命令用于为 MinIO 部署生成健康报告。
对于已注册到 MinIO 订阅网络(SUBNET)的部署,该命令会生成并上传健康报告以供分析。 你也可以启用 callhome,将每 24 小时生成并上传报告的流程自动化。
生成的健康报告供 MinIO Engineering 通过 SUBNET 使用,可能包含内部或私有数据点。 在将健康报告发送给第三方或发布到公开论坛之前,请谨慎检查。
MinIO 建议在集群首次创建时执行健康诊断,并在出现故障场景时再次执行。
使用 mc support diag 命令触发诊断测试。 对于已注册 SUBNET 的集群,该命令会将结果作为 SUBNET 健康报告的一部分上传。
对于 airgapped、受防火墙限制或其他无法从部署直接访问网络的环境,可以使用 --airgap 标志将报告保存到本地。 保存后,你可以手动将测试结果上传到 SUBNET。
示例输出
gzip 压缩输出包含所请求的健康信息。
示例
为集群生成健康数据并自动上传到 SUBNET
为别名为 minio1 的 MinIO 集群生成健康数据,并自动传输到 SUBNET。
仅在使用商业许可证(Commerical License)的部署中才会自动上传数据。
为集群生成健康数据并手动上传
为别名为 minio2 的 MinIO 部署生成诊断报告,并保存以便手动上传到 SUBNET:
- 运行命令下载
.gzip文件 - 登录 https://subnet.min.io 并选择 Deployments 页面
- 选择该报告对应的部署
- 点击 Upload 按钮
- 拖放文件,或浏览到
.gzip文件所在位置进行上传
使用严格匿名化将数据上传到 SUBNET
为别名为 myminio 的 MinIO 集群生成健康数据,并对包括主机名在内的所有敏感数据进行匿名化。
语法
该命令语法如下:
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
--airgap
mc-cmd
Optional
用于无法访问 SUBNET 网络的环境(例如 airgapped、受防火墙限制或类似配置)。 该参数会生成诊断报告并将其保存到运行命令时所在的位置。
你必须手动将报告上传到 SUBNET。
说明请参见 airgap 示例。
如果部署本身是 airgapped,但运行 minio client 的本地设备具备网络访问能力,则无需使用 --airgap 标志。
--anonymize
mc-cmd
新增: mc
RELEASE.2023-11-10T21-37-17Z
MinIO 会对上传到 SUBNET 的数据做匿名化处理。 从 mc RELEASE.2023-11-10T21-37-17Z 开始,MinIO 不会 匿名化主机名。 这是默认的 standard 匿名化模式。
可用值为 =strict 或 =standard。
若要匿名化包括主机名在内的全部数据,请将该参数设置为 strict 模式。
--api-key
mc-cmd
Optional
使用账户在 SUBNET 中的 API key 值。
仅在 airgapped 环境且 MinIO 尚未为该部署保存 API key 时才需要提供此值。
全局标志
此命令支持 全局标志 中的任意选项。
4.40 - mc support top locks
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support top locks 命令列出 MinIO 部署中最旧的 10 个 锁。
该命令输出锁的存在时长、锁类型、所有者和资源。 输出类似如下:
以下命令显示 alias myminio 上当前进行中的 S3 API 调用。
该命令使用以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令应在其上运行的 alias 或前缀的完整路径。
--stale
mc-cmd
Optional
仅返回陈旧锁。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示 myminio 部署中最旧的 10 个锁
显示 myminio 部署中的陈旧锁
以下命令显示 myminio 部署中所有进行中的 s3.PutObject 调用:
4.41 - mc tag list
语法
mc tag list 命令列出存储桶或对象上的所有标签。
以下命令列出 myminio MinIO 部署中 mydata 存储桶的标签:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc tag list --version-id 与多个参数互斥。更多信息请参见参考文档。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要列出全部标签的对象完整路径 (例如存储桶和对象路径)。例如:
--recursive, r
mc-cmd
Optional
新增: RELEASE.2023-05-04T18-10-16Z
递归列出 ALIAS 指定路径下所有对象的标签。
--rewind
mc-cmd
Optional
指示 mc tag list 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--versions
mc-cmd
Optional
指示 mc tag list 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 组合使用,可列出特定时间点存在的 所有对象版本的标签。
--version-id, vid
mc-cmd
Optional
指示 mc tag list 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下参数互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶或对象的标签
使用 mc tag list 列出存储桶或对象的标签:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.42 - mc version info
语法
mc version info 命令返回指定存储桶的版本控制状态。
以下命令返回 myminio MinIO 部署中 mybucket 存储桶的版本控制状态:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
要获取其版本控制状态的存储桶的完整路径。 例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
获取存储桶版本控制状态
使用 mc version info 获取存储桶的版本控制状态:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.43 - mc alias set
语法
mc alias set 命令用于在本地 mc 配置中添加或更新别名。
以下命令为运行在 URL https://myminio.example.net 的 MinIO 部署 myminio 添加一个 alias。mc 使用指定的用户名和密码对该 MinIO 部署进行身份验证:
如果 myminio 别名已存在,该命令会使用新的 URL、access key 和 secret key 覆盖该别名。
mc alias set 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必填 与 S3 兼容服务关联的名称。 别名区分大小写,且必须满足以下要求:
- 只能包含 ASCII 小写字母(
a-z)、大写字母(A-Z)、数字([0-9])、连字符(-)或下划线(_)。 - 长度为 2 个或更多字符。
- 首字符必须是字母。
变更: RELEASE.2024-01-11T05-49-32Z
别名也可以是单个字母(a-z 或 A-Z)。
部分有效别名示例如下:
myminioTest-1Aa
URL
mc-cmd
必填 S3 兼容服务端点的 URL。例如:
https://minio.example.net
ACCESSKEY
mc-cmd
必填
用于对 S3 服务进行身份验证的 access key。
SECRETKEY
mc-cmd
必填
用于对 S3 服务进行身份验证的 secret key。
--api
mc-cmd
可选
指定连接到 S3 兼容服务时使用的签名计算方法。支持以下值:
S3v4(默认)S3v2
说明
AWS 将 AWS Signature V2 视为 deprecated。 mc alias set 保留该选项,仅用于仍依赖 Signature V2 的 S3 存储桶或服务。
除非 S3 兼容服务明确要求,否则请使用 S3v4。 MinIO server 不依赖也不要求 S3v2,且并非所有 API 操作都可在 S3v2 上使用。
--path
mc-cmd
可选
指定服务端使用的存储桶路径查找设置。支持以下值:
"auto"(默认)"on""off"
全局标志
此命令支持 全局标志 中的任意选项。
示例
为 MinIO 部署添加或更新别名
使用 mc alias set 添加一个供 mc 使用的 S3 兼容服务:
以下命令创建一个新的别名 myminio,指向位于 https://minio.example.net 的 MinIO 部署。该别名使用 miniouser 和 miniopassword 凭据对该部署执行操作。
如果 myminio 别名已存在, mc alias set 命令会使用指定参数覆盖该别名。
- 将
ALIAS替换为与 MinIO 服务关联的名称。 - 将
HOSTNAME替换为 MinIO 部署中任意节点的 URL。你也可以指定 用于管理 MinIO 部署连接的负载均衡器或反向代理 URL。 - 将
ACCESSKEY和SECRETKEY替换为 MinIO 部署中某个用户的凭据。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需凭据与访问控制
mc alias set 要求为 S3 兼容主机指定 access key 及对应的 secret key。mc 的功能受指定凭据关联策略的限制。例如,如果 指定凭据对某个存储桶没有读写权限,mc 就无法对该存储桶执行读写操作。
有关 MinIO 访问控制的更多信息,请参阅 Access Management。
有关 S3 访问控制的更完整文档,请参阅 Amazon S3 Security.
对于其他所有 S3 兼容服务,请参考对应服务的文档。
证书
MinIO Client 会获取对端证书、计算公钥指纹,并询问用户是否接受该部署的证书。
如果被信任,MinIO Client 会自动将证书颁发机构添加到:
- Linux 和其他类 Unix 系统上的
~/.mc/certs/CAs/。 - Windows 系统上的
C:\Users\[username]\mc\certs\CAs\。
4.44 - mc anonymous
说明
mc anonymous 命令支持为存储桶及其内容设置或移除匿名 policies。 配置了匿名策略的存储桶允许公开访问,客户端无需进行 authentication 即可执行策略授予的任意操作。
子命令
mc anonymous 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
4.45 - mc anonymous list
语法
mc anonymous list 检索存储桶的所有匿名(即未经身份验证或公开)访问策略。
具有匿名策略的存储桶允许客户端在无需 身份验证 的情况下访问存储桶内容, 并执行与指定策略一致的操作。
以下命令列出 myminio MinIO 部署中 mydata 存储桶的所有匿名访问策略:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 要检索其匿名存储桶策略的存储桶或存储桶前缀完整路径。
指定 MinIO 或其他 S3 兼容服务的 alias,以及 存储桶或存储桶前缀的完整路径。 例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶的匿名策略
使用 mc anonymous list 列出存储桶的匿名策略:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.46 - mc batch generate
变更: MinIO
RELEASE.2022-10-09T21-10-59Z or later
语法
mc batch generate 命令会为指定作业类型创建一个基础的 YAML 格式模板文件。
MinIO 创建该文件后,请在你偏好的文本编辑器中打开并进一步自定义。 每个批处理文件中只能定义一个作业任务定义。
请参阅 job types 了解可生成的受支持作业。
以下命令会为 myminio 别名下 mybucket 存储桶上的 replicate 作业创建一个基础 YAML 文件。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
用于生成 YAML 模板文件的 alias。 指定的 alias 不会限制你可使用该生成文件的部署位置。
例如:
JOBTYPE
mc-cmd
Required
要生成 YAML 文档的作业类型。
支持以下取值:
全局标志
此命令支持 全局标志 中的任意选项。
示例
为 Replicate 作业类型生成 yaml 文件
以下命令会为 replicate 类型批处理作业生成 YAML 蓝图,并将文件命名为 replicate,扩展名为 .yaml:
-
将
alias替换为用于生成 yaml 文件的alias。 -
将
replicate替换为要生成 yaml 文件的作业类型。mc batch支持replicate和keyrotate作业类型。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
作业类型
mc batch 当前支持以下作业任务类型:
-
在两个 MinIO 部署之间复制对象。 以批处理作业形式提供与 bucket replication 类似的功能,而不是持续扫描功能。
-
说明
新增: MinIO
RELEASE.2023-04-07T05-28-58Z
为 MinIO 部署中静态对象的 sse-s3 或 sse-kms 密钥执行轮换。
-
说明
新增: MinIO
RELEASE.2023-12-02T10-51-33Z
依据与 对象自动过期 类似的语义使对象过期。
replicate
你可以将以下示例配置作为构建自定义复制批处理作业的起点:
有关各个键更完整的文档,请参阅 复制批处理作业参考。
keyrotate
你可以将以下示例配置作为构建自定义密钥轮换批处理作业的起点:
有关各个键更完整的文档,请参阅 密钥轮换批处理作业参考。
expire
你可以将以下示例配置作为构建自定义过期批处理作业的起点:
有关各个键更完整的文档,请参阅 expire 批处理作业参考。
4.47 - mc encrypt set
语法
mc encrypt set 加密命令用于设置或更新存储桶默认的 服务端加密(SSE)模式。MinIO 会使用指定的 SSE 模式 自动加密写入该存储桶的对象。
mc encrypt set 仅支持 SSE-KMS 和 SSE-S3。
以下命令为 myminio MinIO 部署上的 mydata 存储桶设置默认的 SSE-KMS 加密密钥:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ENCRYPTION
mc-cmd
指定作为默认 SSE 模式的服务端加密类型。 支持以下取值:
sse-kms- 使用KMSKEY中指定的密钥 对对象加密。MinIO 必须能够访问外部 KMS 上指定的密钥,才能成功加密 或解密受 SSE-KMS 保护的对象。sse-s3- 使用MINIO_KMS_KES_KEY_NAME指定的密钥 对对象加密。MinIO 必须能够访问外部 KMS 上指定的密钥,才能成功加密 或解密受 SSE-S3 保护的对象。
KMSKEY
mc-cmd
指定用于执行 SSE 对象加密的 KMS Master Key。该选项仅在 ENCRYPTION 为 sse-kms 时生效。
省略该选项可让 MinIO 使用 MINIO_KMS_KES_KEY_NAME.
ALIAS
mc-cmd
要设置默认 SSE 模式的存储桶完整路径。将 MinIO 部署的 alias 作为 TARGET 路径前缀。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
启用自动服务端存储桶加密
- 将
ENCRYPTION替换为sse-kms或sse-s3,具体取决于 所需的加密模式。 - 将
KMSKEY替换为已配置 root KMS 中的加密密钥名称。 该参数对sse-s3无效。 - 将
TARGET替换为要配置自动服务端存储桶加密的 MinIO 部署 alias。
行为
mc encrypt set 不会对 MinIO 服务端当前的加密状态作任何假设。 如果指定了服务端无法支持的默认加密设置,可能导致非预期行为。
设置或修改默认服务端加密设置时,不会 自动加密或解密存储桶中已有内容。 如果存储桶内容 必须 保持一致的加密状态,请使用 mc mv 命令并结合 --enc-kms、--enc-s3 或 --enc-c 指定迁移内容使用的加密类型。 这会在更改存储桶默认设置 之前,手动修改存储桶内容的加密设置或加密状态。
4.48 - mc event rm
语法
mc event rm 命令用于从存储桶中移除事件通知触发器。
mc event remove 命令与 mc event rm 功能等效。
以下命令会在 myminio MinIO 部署的 mydata 存储桶上, 移除指定 bucket notification target 的已配置事件通知:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
用于移除事件通知的 S3 服务 alias 和存储桶。 例如:
ARN
mc-cmd
Required
通知目标的 Amazon Resource Name (ARN)。
MinIO 服务器在启动时会为每个已配置的通知目标输出一个 ARN。 更多信息请参见 存储桶通知。
可在存储桶上运行 mc event ls 获取 ARN。
--event
mc-cmd
Optional
添加事件时指定的事件类型。 这些条目 必须 与添加事件时使用的值一致。 如果没有事件与事件类型列表匹配,命令将返回 no notification configuration matched 错误。
使用逗号 , 分隔可指定多个事件。 支持的事件类型请参见 支持的存储桶事件。
默认移除 ALIAS 存储桶中、与 ARN 通知目标关联且对所有事件类型触发的事件。
可通过在存储桶上运行 mc event ls 获取所使用的事件类型。 使用下表将命令输出中的事件类型转换为 mc event rm 命令所需的条目:
mv event ls 的输出 |
要使用的事件类型 |
|---|---|
s3:objectAccessed |
get |
s3:objectCreated |
put |
s3:objectRemoved |
delete |
例如,如果 mc event ls 返回如下内容:
使用以下命令移除该事件:
事件类型的顺序无关紧要,只需包含与该事件中已有类型相同的条目即可。
--force
mc-cmd
Optional
移除 ALIAS 存储桶中与 ARN 通知目标关联的所有事件。
--prefix
mc-cmd
Optional
命令移除存储桶通知时使用的存储桶前缀。
例如,若 ALIAS 为 play/mybucket,且 --prefix 为 photos,则命令仅移除 play/mybucket/photos.
--suffix
mc-cmd
Optional
命令移除存储桶通知时使用的存储桶后缀。
例如,若 ALIAS 为 play/mybucket,且 --suffix 为 .jpg,则命令仅移除 play/mybucket/*.jpg.
全局标志
此命令支持 全局标志 中的任意选项。
示例
从存储桶中移除事件通知
以下命令会移除某个存储桶上的所有事件通知触发器。 该命令假设 MinIO 部署中至少配置了一个 bucket notification target:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.49 - mc idp ldap accesskey enable
描述
mc idp ldap accesskey enable 在本地服务器上启用指定的 access key。
以下示例启用
minio部署中的 access keymykey:
该命令具有以下语法:
-
将
ALIAS替换为配置了 AD/LDAP 集成的 MinIO 部署的 alias。 -
将
KEY替换为要启用的 access key。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
配置了 AD/LDAP 的 MinIO 部署的 alias。
例如:
KEY
mc-cmd
Required
要启用的已配置 access key。
示例
启用 minio 部署中的 access key mykey。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.50 - mc idp ldap enable
描述
mc idp ldap enable 命令用于启用当前已配置的 AD/LDAP 提供程序。
以下示例在 myminio 部署上启用 AD/LDAP 配置。
该命令具有以下语法:
-
将
ALIAS替换为 MinIO 部署的 alias,以启用 AD/LDAP 集成。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要启用 AD/LDAP 集成的 MinIO 部署的 alias。
例如:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.51 - mc idp ldap policy entities
说明
mc idp ldap policy entities 命令显示用户、组和/或策略的映射关系列表。
以下示例列出 myminio 部署中某个特定策略、一组用户组以及部分用户的所有映射关系。
具体包括:
- 映射到
finteam-policy策略的用户。 - 分配给
uid=bobfisher,ou=people,ou=hwengg,dc=min,dc=io用户的策略。 - 分配给
cn=projectb,ou=groups,ou=swengg,dc=min,dc=io组的策略。
命令语法如下:
-
将
ALIAS替换为 MinIO 部署的 alias,用于配置 AD/LDAP 集成。 -
在命令中可按需多次使用
--user、--group和/或--policy标志。 -
对于每个标志,输出会列出映射到指定策略、用户或组的实体。
-
省略所有标志将返回所有策略的映射关系列表。
-
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要显示实体映射关系的 MinIO 部署 alias。
例如:
--group
mc-cmd
Optional
返回与指定组关联的用户和策略列表。 重复此标志可返回多个组的列表。
--policies
mc-cmd
Optional
返回与指定策略关联的用户和组列表。 重复此标志可返回多个策略的列表。
--user
mc-cmd
Optional
返回该用户所属的组列表,以及与每个组关联的策略。 输出仅包含已分配策略的组。
重复此标志可返回多个用户的列表。
示例
以下示例列出 myminio 部署中映射到两个策略 policy1 和 policy2 的实体,以及映射到 projectb 组的实体:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.52 - mc ilm rule export
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule export 替代 mc ilm export。
语法
mc ilm rule export 命令用于导出 MinIO 存储桶的对象生命周期管理配置。
mc ilm rule export 命令默认输出到 STDOUT。 你可以将内容输出到 .json 文件中进行归档,或使用 mc ilm rule import 导入。
以下命令将 myminio 部署上 mydata 存储桶的生命周期管理配置 导出到 mydata-lifecycle-config.json 文件:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要导出对象生命周期管理规则的 MinIO 部署中存储桶的 alias 和完整路径。 例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
导出存储桶生命周期管理配置
以下命令将存储桶生命周期管理配置导出到 bucket-lifecycle.json 文件:
-
将
ALIAS替换为 MinIO 部署的 alias 以及要导出对象生命周期管理规则的存储桶:myminio/mydata -
将
file.json替换为用于导出生命周期管理规则的文件名。
所需权限
有关导出规则所需的权限,请参阅父命令中的 required permissions。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.53 - mc ilm tier
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm tier replaces mc admin tier.
说明
mc ilm tier 命令及其子命令用于为 MinIO 的 生命周期管理:对象过渡(“分层”) 配置受支持的远程 S3 兼容服务。
使用此命令创建一个或多个层后,可使用 mc ilm rule 及其子命令创建将对象迁移到其他存储的规则。
有关更多信息,请参阅 生命周期管理 概述。
子命令
mc ilm tier 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
所需权限
要为对象过渡创建层,MinIO 要求在集群上具有以下管理权限:
例如,以下策略提供了足够的权限,可为集群中的任意存储桶配置对象过渡生命周期管理规则:
过渡权限
对象过渡生命周期管理规则要求远程存储层具备额外权限。 具体而言,MinIO 要求远程层凭证提供读取、写入、列出和删除权限。
例如,如果远程存储层使用基于 AWS IAM 策略的访问控制,则以下策略提供了对象迁入和迁出远程层所需的权限:
请将 Resource 修改为 MinIO 用于对象分层的目标存储桶。
避免在远程层启用版本控制
MinIO 强烈建议不要为远程层启用存储桶版本控制。 如果远程层存储桶启用了版本控制,则每个源对象版本都会过渡为远程层中的一个 唯一对象。
如果你的环境要求远程层启用版本控制,则还必须允许 s3:DeleteObjectVersion 权限。
有关如何配置用户和权限以支持 MinIO 分层的更完整信息,请参阅受支持分层目标的相关文档:
4.54 - mc ilm tier info
描述
mc ilm tier info 命令可输出某个层级或某个部署上所有层级的统计信息。
所需权限
MinIO 要求具备以下权限,且权限范围限定为你要创建生命周期管理规则的一个或多个存储桶。
此外,在为对象转换生命周期管理规则创建远程层级时,MinIO 还要求在对应集群上具备以下管理权限:
例如,以下策略授予在集群中任意存储桶上配置对象转换生命周期管理规则的权限:
语法
该命令的语法如下:
以下示例输出 myminio 部署上名为 WARM-TIER 的现有远程层级的配置信息。
该命令的语法如下:
参数
该命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,且目标层级存在于该部署上。
TIER_NAME
mc-cmd
Optional
要显示的现有远程层级名称。
你 必须 使用全大写指定层级,例如 WARM_TIER。
如果未指定,MinIO 会列出该部署上所有现有层级的统计信息。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示现有层级的统计信息
以下示例显示 myminio 部署上 WARM-TIER 层级的统计信息。
显示部署上所有现有层级的统计信息
以下示例显示 myminio 部署上所有现有层级的统计信息。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关查看层级所需的权限,请参阅父命令中的 required permissions。
4.55 - mc legalhold set
语法
mc legalhold set 命令可在单个或多个对象上启用 legal hold 的一次写入多次读取(WORM)对象锁定。
mc legalhold 要求 指定的存储桶已 启用对象锁定。你 只能 在创建存储桶时启用对象锁定。 有关创建已启用对象锁定的存储桶,请参见 mc mb --with-lock 文档。
以下命令会在 myminio MinIO 部署中,对 mydata 存储桶内所有现有对象启用 legalhold WORM 锁定:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 别名,以及要启用 legal hold 的对象路径(可为单个或多个对象)。 例如:
--recursive, r
mc-cmd
Optional
将 legal hold 应用于 ALIAS 指定存储桶或存储桶前缀下的 所有现有对象。
--recursive 仅作用于现有对象
若要为后续新建对象启用 legal hold,请在有新对象创建后周期性重复执行 mc legalhold 命令。
--rewind
mc-cmd
Optional
指示 mc legalhold set 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc legalhold set 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
全局标志
此命令支持 全局标志 中的任意选项。
示例
使用 mc legalhold set 为对象启用 legal hold:
- 将
ALIAS替换为 S3 兼容主机的 alias。 - 将
PATH替换为 S3 兼容主机上的存储桶或对象路径。 如果指定的是存储桶或存储桶前缀路径,请包含--recursive选项。
行为
Legal Hold 需要显式移除
Legal hold 没有期限,并会对被锁定对象强制执行完全不可变。 只有具备 s3:PutObjectLegalHold 权限的特权用户才能设置或解除 legal hold。
Legal Hold 与其他保留模式互补
Legal hold 与 GOVERNANCE 模式 和 COMPLIANCE 模式 保留设置互补。若对象同时受 legal hold 和 GOVERNANCE/COMPLIANCE 保留规则约束,则在 legal hold 被解除且规则到期之前, 该对象会一直保持 WORM 锁定。
对于 GOVERNANCE 锁定对象,legal hold 会阻止对象被修改, 即使 用户具备绕过保留策略所需的权限也是如此。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.56 - mc license update
描述
使用 mc license update 命令为部署替换许可证密钥。
对于已在 MinIO SUBNET 注册的部署,MinIO 每月会自动检查并更新许可证。
示例
更新别名为 minio1 的部署许可证密钥
语法
该命令具有以下语法:
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
LICENSE-FILE-WITH-PATH
mc-cmd
Optional
用于更新部署许可证的密钥文件路径(相对于当前工作目录)和文件名。
从 SUBNET 下载 API key:
- 登录 MinIO SUBNET
- 转到 Deployments 选项卡
- 在页面顶部、账户统计信息框右侧,选择 API Key 按钮
- 选择 key 字段右侧的复制按钮,将 key 值复制到剪贴板
--airgap
mc-cmd
Optional
在无法通过网络访问 SUBNET 的环境中使用(例如 airgapped、firewalled 或类似配置)。
如果部署是 airgapped,但你使用 minio client 的本地设备有网络访问能力,则无需使用 --airgap 标志。
全局标志
此命令支持 全局标志 中的任意选项。
4.57 - mc replicate ls
变更: RELEASE.2022-12-24T15-21-38Z
mc replicate ls 替代 mc admin bucket remote ls 命令。
语法
mc replicate ls 命令列出 MinIO 存储桶上的所有 复制规则。
mc replicate list 命令与 mc replicate ls 功能等价。
以下命令列出 myminio MinIO 部署中 mydata 存储桶的所有已启用复制规则:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要列出复制规则的 存储桶或存储桶前缀的完整路径。例如:
--status
mc-cmd
Optional
按状态筛选存储桶上的复制规则。 指定以下值之一:
enabled- 仅显示已启用的复制规则。disabled- 仅显示已禁用的复制规则。
如果省略,mc replicate ls 默认显示所有复制规则。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出现有复制规则
使用 mc replicate ls 列出存储桶复制规则:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.58 - mc retention clear
语法
mc retention clear 命令可移除存储桶中一个或多个对象的 Write-Once Read-Many (WORM) locking 设置。 你还可以移除存储桶的默认对象锁定设置。
要更改处于 legal hold 状态的对象的 保留状态,请使用 mc legalhold clear。
以下命令会移除 myminio MinIO 部署中 mydata 存储桶的默认对象锁定配置:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc retention clear --version-id 与多个其他参数互斥。更多信息请参阅 参考文档。
参数
ALIAS
mc-cmd
Required
要清除对象锁定配置的对象或对象集合的完整路径。将已配置的 S3 兼容服务 alias 作为 ALIAS 存储桶路径前缀。例如:
-
如果
ALIAS指定的是存储桶或存储桶前缀,请添加--recursive,以清除存储桶内容的对象锁定设置。 -
如果
ALIAS存储桶已启用版本控制,mc retention clear默认仅作用于最新对象版本。使用
--version-id或--versions,可清除某个特定版本或对象所有版本的 对象锁定设置。
--default
mc-cmd
Optional
清除 ALIAS 指定存储桶的默认对象锁定设置。
如果指定 --default, mc retention clear 会忽略所有其他 flag。
--recursive, r
mc-cmd
Optional
递归清除指定 ALIAS 路径下所有对象的对象锁定设置。
与 --version-id 互斥。
--rewind
mc-cmd
Optional
指示 mc retention clear 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc retention clear 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下任一 flag 互斥:
--versions
mc-cmd
Optional
指示 mc retention clear 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 组合使用,可移除在特定时间点存在的 所有对象版本的保留设置。
全局标志
此命令支持 全局标志 中的任意选项。
示例
清除单个或多个对象的对象锁定设置
将 mc retention clear 与 --recursive 配合使用,可清除存储桶中所有对象的 保留设置:
要使用此命令,存储桶 必须 启用对象锁定。 只能在创建存储桶时启用对象锁定。有关创建已启用对象锁定的存储桶的更多信息, 请参阅
mc mb --with-lock。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.59 - mc share ls
语法
mc share ls 命令会显示由 mc share upload 或 mc share download 生成的所有未过期预签名 URL。
mc share list 命令与 mc share ls 的功能等效。
应用程序可以执行 PUT 以从该 URL 获取对象。
有关可共享对象 URL 的更多信息,请参阅 Amazon S3 文档中的 Pre-Signed URLs.
以下命令分别列出 myminio MinIO 部署中 mydata 存储桶的 所有上传和下载预签名 URL:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
download
mc-cmd
必需 列出所有未过期的预签名下载(GET)URL。
与 mc share ls upload 互斥。
upload
mc-cmd
必需 列出所有未过期的预签名上传(PUT)URL。
与 mc share ls download 互斥。
ALIAS
mc-cmd
必需 MinIO 部署的 alias 以及对象的完整路径, 用于列出该对象的未过期预签名 URL。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出已生成的下载和上传 URL
使用 mc share ls download 生成一个 URL, 该 URL 支持 POST 请求,用于将文件上传到 S3 兼容主机上的 特定对象位置:
使用 mc share ls upload 生成一个 URL, 该 URL 支持 POST 请求,用于将文件上传到 S3 兼容主机上的 特定对象位置:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.60 - mc support inspect
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
描述
mc support inspect 命令会收集指定路径下与对象相关的数据和元数据。
对于每个指定对象,MinIO 会从存储其 纠删码分片 的各个后端驱动器汇总这些数据。 该命令会生成一个加密 zip 文件,其中包含所有匹配文件及其对应的 host+drive+path。
如果诊断 MinIO SUBNET 问题需要这些信息,MinIO Engineering 会提供相应命令。 生成的报告用于 MinIO Engineering 通过 SUBNET 进行分析,且可能包含与对象相关的内部或私有数据点。 将报告发送给第三方或发布到公共论坛前请谨慎评估。
变更: RELEASE.2023-01-11T03-14-16Z
该文件会上传到 MinIO,供工程团队用于支持工作。 如果文件上传失败(例如在 airgapped 环境中),则会保存到当前工作目录。
变更: RELEASE.2022-12-12T19-27-27Z
在写入 zip 归档时,MinIO 还会对归档内文件名的 zip 索引进行加密。
变更: RELEASE.2024-10-29T15-34-59Z
Inspect 现在会生成唯一文件名,以区分不同的 inspect 文件。 文件名会体现被检查的路径。
重要
mc support inspect 要求 MinIO 部署端服务版本为 2021 年 10 月或之后。
通配符
使用 Bash shell 时,该命令支持对前缀或对象进行通配符 * 模式匹配。 对于非 Bash shell,会显示提示消息,说明通配符模式仅在 Bash 中受支持。
该命令会收集 ALIAS/bucket/path/ 下与对象相关的所有 xl.meta。
示例
下载对象元数据
可下载某个对象的元数据。 元数据存储在 xl.meta 二进制文件中。
以下命令从 minio1 部署中的 mybucket/myobject 下载 xl.meta。
该文件会从所有驱动器下载,并打包为 zip 归档文件。
xl.meta 文件内容不可直接人工阅读。 可将 xl.meta 文件内容转换为 JSON 格式。
递归下载某个前缀下的所有对象
以下命令会递归下载某个前缀下找到的所有对象。
注意
该操作的开销可能较高。 请谨慎执行。
语法
该命令语法如下:
参数
--legacy
mc-cmd
Optional
使用旧版检查数据导出方式,该方式默认不加密数据。
TARGET
mc-cmd
Required
要检查的位置或对象路径。 该路径应包含 MinIO 部署的 alias <alias>,并在需要时包含前缀和/或对象名称。
全局标志
此命令支持 全局标志 中的任意选项。
4.61 - mc support top disk
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support top disk 命令显示当前驱动器统计信息。
以下命令显示 alias myminio 上当前正在进行的 S3 API 调用。
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
--count, -c
mc-cmd
Optional
显示统计信息,最多显示到指定数量的驱动器。
如果未提供值,该命令最多返回 10 个驱动器的统计信息。
全局标志
此命令支持 全局标志 中的任意选项。
4.62 - mc tag remove
语法
mc tag remove 命令用于移除存储桶或对象上的所有标签。
以下命令会移除 myminio MinIO 部署中 mydata 存储桶的标签:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc tag remove --version-id 与多个参数互斥。有关更多信息,请参阅参考文档。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要移除全部标签的对象完整路径 (例如存储桶和对象路径)。例如:
--recursive, r
mc-cmd
Optional
新增: RELEASE.2023-05-04T18-10-16Z
递归移除指定 ALIAS 下所有对象的全部标签。
--rewind
mc-cmd
Optional
指示 mc tag remove 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--versions
mc-cmd
Optional
指示 mc tag remove 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
结合使用 --versions 和 --rewind,可移除某个特定时间点存在的所有对象版本上的标签。
--version-id, vid
mc-cmd
Optional
指示 mc tag remove 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下参数互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
移除存储桶或对象上的标签
使用 mc tag remove 移除存储桶或对象上的标签:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.63 - mc version suspend
语法
mc version suspend 命令用于禁用指定存储桶上的版本控制。
以下命令会为 myminio MinIO 部署中的 mybucket 存储桶禁用版本控制:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
要禁用版本控制的存储桶完整路径。 例如:
全局参数
此命令支持 全局标志 中的任意选项。
示例
禁用存储桶版本控制
使用 mc version suspend 为存储桶禁用版本控制:
行为
现有数据下的存储桶版本控制
在包含现有版本化数据的存储桶上禁用版本控制时,不会 删除任何已版本化对象。 应用程序在禁用存储桶版本控制后仍可继续访问版本化数据。 使用 mc rm --versions ALIAS/BUCKET/OBJECT 删除某个对象及其所有版本。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.64 - mc alias import
语法
mc alias import 命令从 JSON 文档中导入别名配置。
你可以使用 mc alias export 生成导入所需的 JSON。
mc alias import 命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
分配给导入配置的别名名称。
PATH
mc-cmd
Required
表示待导入别名配置的 JSON 对象的完整路径。
与 STDIN 参数互斥。
STDIN
mc-cmd
Required
指定命令使用标准输入(STDIN)作为导入 JSON 对象的来源。
与 PATH 参数互斥。
全局标志
此命令支持 全局标志 中的任意选项。
行为
JSON 格式
JSON 对象 必须 采用以下格式:
你可以使用 mc alias export 命令从本地主机配置中导出现有别名。 或者,你也可以从 mc configuration file 中手动提取所需的 JSON 字段。
示例
使用标准输入导入别名
以下示例为 play.min.io 沙箱导入一个自定义别名。 你可以修改该示例,改为使用你已创建或已验证存在于该沙箱上的用户凭据:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.65 - mc anonymous links
语法
mc anonymous links 获取用于匿名(即未认证或公开)访问存储桶的 HTTP URL。
配置了匿名策略的存储桶允许客户端在无需 认证 的情况下访问存储桶内容, 并执行与指定策略一致的操作。
以下命令获取 myminio MinIO 部署上 mydata 存储桶的 HTTP URL:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 需要获取匿名存储桶策略的存储桶或存储桶前缀的完整路径。
指定 MinIO 或其他 S3 兼容服务的 alias,以及 存储桶或 存储桶前缀的完整路径。例如:
--recursive
mc-cmd
可选 递归获取 HTTP 链接。
全局参数
此命令支持 全局标志 中的任意选项。
示例
列出存储桶的匿名策略
使用 mc anonymous links 列出存储桶的匿名策略:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.66 - mc batch
描述
mc batch 命令允许您在 MinIO 部署上运行一个或多个作业任务。
子命令
mc batch 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
4.67 - mc batch list
变更: MinIO
RELEASE.2022-10-09T21-10-59Z or later
语法
mc batch list 命令会输出部署中当前正在进行的批处理作业列表。
以下命令会输出 myminio alias 上当前正在进行的所有作业列表。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
要列出进行中作业的目标部署的 alias。
--type
mc-cmd
Optional
仅列出指定类型的批处理作业。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出所有 replicate 类型的批处理作业
以下命令列出 alias myminio 所对应部署上的 replicate 类型作业:
上述命令的输出类似如下:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
权限
你必须具有 admin:ListBatchJobs 权限,才能列出该部署上的作业。
4.68 - mc idp ldap accesskey info
描述
mc idp ldap accesskey info 输出指定访问密钥(一个或多个)的信息。
此命令适用于 AD/LDAP 用户在通过 MinIO 完成身份验证后创建的 访问密钥。
使用 mc idp ldap accesskey create 命令创建 AD/LDAP 服务账户。
MinIO 支持使用 AssumeRoleWithLDAPIdentity 通过 Security Token Service 生成临时访问密钥。
以下示例输出
minio部署中访问密钥mykey的详细信息:
该命令具有以下语法:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署的 alias。 -
将
KEY替换为要删除的访问密钥。 你可以使用空格分隔多个访问密钥,以列出多个密钥。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
KEY
mc-cmd
Required
要输出其信息的已配置访问密钥。
你可以使用空格分隔多个访问密钥,以列出多个密钥。
示例
输出 minio 部署中访问密钥 mykey 和 mykey2 的信息。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.69 - mc idp ldap info
描述
mc idp ldap info 命令输出指定 MinIO 部署上 AD/LDAP 提供程序的当前配置。
以下示例输出 myminio 部署上的 AD/LDAP 配置设置。
该命令具有以下语法:
-
将
ALIAS替换为 MinIO 部署的 alias,以获取 AD/LDAP 集成信息。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要输出当前 AD/LDAP 配置的 MinIO 部署 alias。
例如:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.70 - mc ilm rule import
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule import 替代 mc ilm import。
语法
mc ilm rule import 命令导入对象生命周期管理配置, 并将其应用到 MinIO 存储桶。
mc ilm rule import 命令默认从 STDIN 导入。 你可以从 .json 文件输入内容,例如由 mc ilm rule export 生成的文件。
以下命令从 mydata-lifecycle-config.json 导入生命周期管理配置, 并将其应用到 myminio 部署中的 mydata 存储桶:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署上用于导入对象生命周期管理规则的存储桶的 alias 和完整路径。 例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
导入存储桶生命周期管理配置
以下命令从 bucket-lifecycle.json 文件导入 存储桶生命周期管理配置:
-
将
ALIAS替换为 MinIO 部署的 alias 以及要导入对象生命周期管理规则的存储桶:myminio/mydata -
将
file.json替换为用于导入生命周期管理规则的文件名。
所需权限
有关导入规则所需的权限,请参阅父命令中的 required permissions。
行为
导入配置会覆盖现有规则
mc ilm rule import 会使用导入的 JSON 配置中定义的规则 替换当前的存储桶生命周期管理规则。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.71 - mc ilm tier ls
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm tier ls replaces mc admin tier ls.
描述
mc ilm tier ls 命令显示某个部署上已配置的远程层级。
mc ilm tier list 命令与 mc ilm tier ls 功能等效。
语法
该命令的语法如下:
以下示例输出 myminio 部署上现有远程层级的列表。
该命令的语法如下:
参数
该命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,且目标层级存在于该部署上。
全局标志
此命令支持 全局标志 中的任意选项。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关查看层级所需的权限,请参阅父命令中的 required permissions。
4.72 - mc replicate update
变更: RELEASE.2022-12-24T15-21-38Z
mc replicate update 替代了 mc admin bucket remote update 命令。
变更: RELEASE.2022-11-07T23-47-39Z
mc replicate update 替代了 mc replicate edit 命令。
语法
mc replicate update 命令用于修改现有的 存储桶复制规则。
以下命令会修改 myminio MinIO 部署中 mydata 存储桶的一条现有复制规则:
新的复制配置会将所有版本化删除操作、删除标记创建以及现有对象 同步到远端 MinIO 部署。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要修改复制规则的 MinIO 部署 alias 以及存储桶或存储桶前缀的完整路径。 例如:
--id
mc-cmd
Required
指定已配置复制规则的唯一 ID。 使用 mc replicate ls 命令列出存储桶的复制规则。
--bandwidth
mc-cmd
Optional
将带宽速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将带宽速率限制为不超过 1 GiB/s,可使用:
如果未指定,MinIO 不限制带宽速率。
--healthcheck-seconds
mc-cmd
Optional
远端存储桶健康状态检查之间的时间间隔(秒)。
如果未指定,MinIO 使用 60 秒间隔。
--limit-download
mc-cmd
Optional
将下载速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将下载速率限制为不超过 1 GiB/s,可使用:
如果未指定,MinIO 使用不限速下载。
--limit-upload
mc-cmd
Optional
将上传速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将上传速率限制为不超过 1 GiB/s,可使用:
如果未指定,MinIO 使用不限速上传。
--path
mc-cmd
Optional
为远端存储桶启用 path-style 查找支持。
有效值包括:
on- 使用路径查找来定位远端存储桶off- 使用资源定位符样式(如域名或 IP 地址)查找来定位远端存储桶auto- 让 MinIO 自动识别用于定位远端存储桶的正确查找类型
未定义时,MinIO 使用 auto 值。
--priority
mc-cmd
Optional
指定复制规则的整数优先级。 该值 必须 在源存储桶的所有其他规则中唯一。 数值越高,优先级越 高。
--proxy
mc-cmd
Optional
在存储桶之间定义 active-active 复制时,是否使用代理。
有效值包括:
enable- 在 active-active 复制中启用代理。disable- 在 active-active 复制中禁用代理。
默认情况下,MinIO 默认为 enable。
--remote-bucket
mc-cmd
Optional
指定远端位置的凭据、目标部署和存储桶。 值可以是 alias 与存储桶,也可以是基于位置(IP 或 URL)或基于路径的形式。
例如,基于 URL 的目标可能如下:
基于 alias 的目标可能如下:
--replicate
mc-cmd
Optional
指定由逗号分隔的以下值列表,以启用扩展复制功能:
-
delete- 指示 MinIO 将 DELETE operations 复制到目标存储桶。 -
delete-marker- 指示 MinIO 将删除标记复制到目标存储桶。 -
replica-metadata-sync- 指示 MinIO 将已复制对象上仅元数据的变更同步回源端。 该功能仅影响 双向 active-active 复制配置。省略此值会使 MinIO 停止将仅元数据变更复制回源端。
-
existing-objects- 指示 MinIO 复制在配置或启用复制之前已创建的对象。 默认情况下,MinIO 不会 将现有对象同步到远端目标。更多信息参见 现有对象的复制。
--state
mc-cmd
Optional
启用或禁用复制规则。 指定以下值之一:
"enable"- 启用复制规则。"disable"- 禁用复制规则。
在复制被禁用期间创建的对象,在重新启用规则后不会立即具备复制资格。 你必须在传给 mc replicate update --replicate 的复制功能列表中包含 "existing-objects",以显式启用现有对象复制。
更多信息参见 现有对象的复制。
--storage-class
mc-cmd
Optional
指定要应用到已复制对象上的 MinIO storage class。
--sync
mc-cmd
Optional
为此远端目标启用同步复制。
默认情况下,MinIO 使用异步复制。
--tags
mc-cmd
Optional
指定一个或多个以与号 & 分隔的键值对标签,MinIO 使用这些标签来筛选待复制对象。例如:
MinIO 会将复制规则应用到标签集中 包含指定复制标签的任何对象。
全局标志
此命令支持 全局标志 中的任意选项。
示例
修改现有复制规则
使用 mc replicate update 修改现有复制规则。
- 将
ALIAS替换为 MinIO 部署的alias。 - 将
PATH替换为该规则所在存储桶或存储桶前缀的路径。 - 将
ID替换为要修改规则的唯一标识符。 使用mc replicate ls获取该存储桶上的复制规则列表及其对应标识符。
说明
修改复制配置规则不会影响已经复制的对象。 例如,修改 --tags 过滤器不会删除不满足过滤条件的已复制对象。
更新现有复制规则的凭据
使用 mc replicate update 修改现有复制规则。
禁用或启用现有复制规则
使用带 --state 标志的 mc replicate update 来禁用或启用复制规则。
- 将
ALIAS替换为 MinIO 部署的alias。 - 将
PATH替换为该规则所在存储桶或存储桶前缀的路径。 - 将
ID替换为要修改规则的唯一标识符。 使用mc replicate ls获取该存储桶上的复制规则列表及其对应标识符。 - 在
--state标志中指定"disable"或"enable",以禁用或启用复制规则。
行为
所需权限
MinIO 强烈建议创建专门用于支持存储桶复制操作的用户。 有关向 MinIO 部署添加用户和策略的更完整文档,请参见 mc admin user 和 mc admin policy。
以下策略提供在部署上配置并启用复制所需的权限。
"EnableRemoteBucketConfiguration"语句授予创建远端目标以支持复制的权限。"EnableReplicationRuleConfiguration"语句授予在存储桶上创建复制规则的权限。"arn:aws:s3:::*资源将复制权限应用到源部署上的 任意 存储桶。你可以按需将用户策略限制到特定存储桶。
使用 mc admin policy create 将该策略添加到每个作为复制源的部署。使用 mc admin user add 在部署上创建用户,并使用 mc admin policy attach 将该策略关联到该新用户。
以下策略提供将复制数据同步 到 该部署所需的权限。
"EnableReplicationOnBucket"语句授予远端目标检索存储桶级配置的权限,以支持对 MinIO 部署中 所有 存储桶执行复制操作。 若要将策略限制到特定存储桶,可在Resource数组中以"arn:aws:s3:::bucketName"形式指定这些存储桶。"EnableReplicatingDataIntoBucket"语句授予远端目标将数据同步到 MinIO 部署中 任意 存储桶的权限。 若要将策略限制到特定存储桶,可在Resource数组中以"arn:aws:s3:::bucketName/*"形式指定这些存储桶。
使用 mc admin policy create 将该策略添加到每个作为复制目标的部署。使用 mc admin user add 在部署上创建用户,并使用 mc admin policy attach 将该策略关联到该新用户。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.73 - mc support perf
变更: RELEASE.2022-07-24T02-25-13Z
mc support perf 替代 mc admin speedtest 命令。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
描述
使用 mc support perf 命令可检查 S3 API(读/写)、网络 IO 和存储(磁盘读/写)的性能。
测试结果可为部署在 S3 GET 和 PUT 请求下的性能提供总体参考,并识别潜在瓶颈。 如需更完整的性能测试,建议结合预发应用环境中的负载测试与 MinIO WARP S3 基准测试工具。
mc support perf 包含以下子命令
-
测量 MinIO 部署中磁盘的速度。
mc support perf drive在测试期间会临时暂停 S3 API 调用。 命令运行期间,传入请求会保存在队列中。 命令完成或结束后,MinIO 会处理排队请求并恢复正常运行。 -
测量集群中对象读写速度。
-
测量所有节点的网络吞吐量。
mc support perf net在测试期间会临时暂停 S3 API 调用。 命令运行期间,传入请求会保存在队列中。 命令完成或结束后,MinIO 会处理排队请求并恢复正常运行。 -
测量到客户端的网络吞吐量。
-
测量站点复制操作的速度。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
示例
测量对象速度
在别名 minio1 上,测量某个对象的 S3 读写性能。 MinIO 会自动调优并发度,以获得最大吞吐量和 IOPS(Input/Output Per Second)。
在指定时长内测量指定大小对象的速度
在别名 minio1 上,对大小为 128MiB 的对象运行 20 秒的 S3 读写性能测试。 MinIO 会自动调优并发度以获得最大吞吐量。
使用默认规格测试所有节点上的全部磁盘速度
在别名为 minio1 的集群上,对所有节点上的所有磁盘执行读写性能测量。 该命令未指定 blocksize,因此使用默认值 4MiB。
使用自定义规格测试磁盘速度
在别名为 minio1 的集群上执行磁盘读写性能测量,指定 blocksize 为 64KiB,且每个磁盘读写数据量为 2GiB。
测试网络吞吐量
在别名为 minio1 的集群上运行网络吞吐量测试。
测试站点复制速度
测试站点 minio1 到其他已配置对等站点的站点复制操作速度。
语法
mc support perf drive
mc-cmd
测量集群中磁盘的读写速度。
mc support perf object
mc-cmd
测量集群中对象读写的 S3 性能。
mc support perf net
mc-cmd
测量集群中所有节点的网络吞吐量。
mc support perf client
mc-cmd
测量运行 MinIO Client 的本地设备到服务器的网络吞吐量。
mc support perf site-replication
mc-cmd
测量从指定 ALIAS 到其他已配置对等站点的站点复制操作速度。
参数
--airgap
mc-cmd
Optional
用于无法通过网络访问 SUBNET 的环境(例如 airgapped、受防火墙限制或类似配置)。
如果部署本身是 airgapped,但你使用 minio client 的本地设备可以访问网络,则无需使用 --airgap 标志。
--size
mc-cmd
Optional
适用于 object 命令。
指定上传和下载性能测试所使用的对象大小。
未指定时,默认值为 64MiB。
使用 --size <value>,其中 <value> 为数字加存储单位 KiB、MiB 或 GiB。
--concurrent
mc-cmd
Optional
指定每台服务器用于测试的并发请求数。
未指定时,默认值为 32。
使用 --concurrent <value>,其中 <value> 为数字。
--verbose, -v
mc-cmd
Optional
在输出中显示每台服务器的统计信息。
--filesize
mc-cmd
Optional
适用于 drive 命令。
指定每个磁盘读取或写入的数据总量。
未指定时,默认值为 1GiB。
使用 --filesize <value>,其中 <value> 为数字和存储单位 KiB、MiB 或 GiB。
--blocksize
mc-cmd
Optional
适用于 drive 命令。
指定读写块大小。
未指定时,默认值为 4MiB。
使用 --filesize <value>,其中 <value> 为数字和存储单位,使用标准存储单位缩写。
--serial
mc-cmd
Optional
逐个对磁盘执行性能测试。
ALIAS
mc-cmd
Required
适用于 drive、object、net 和 client 命令。
MinIO 部署的 alias。
--duration
mc-cmd
Required
适用于 client 命令。
执行测试的时长(秒)。 时间不能为 0 或负数。
全局标志
此命令支持 全局标志 中的任意选项。
4.74 - mc support top net
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support top net 命令用于显示实时网络指标。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
--interval
mc-cmd
Optional
两次指标请求之间的间隔(秒)。
默认情况下,命令每秒请求一次指标。
全局参数
此命令支持 全局标志 中的任意选项。
4.75 - mc alias export
新增: mc.RELEASE.2023-11-15T22-45-58Z
语法
mc alias export 命令从现有的 configuration 中导出别名配置。
该命令将结果输出到 STDOUT,你可以将输出保存为文件,或 按需进一步修改输出内容。
使用 mc alias import 命令导入生成的 JSON 配置。
以下命令从现有主机导出别名配置并输出到文件:
该命令会将内容输出到标准输出(STDOUT)。 你也可以将输出通过管道传递给所选工具执行后续操作。
mc alias export 命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要导出的别名名称。
全局标志
此命令支持 全局标志 中的任意选项。
行为
JSON 格式
该命令输出一个符合以下结构的 JSON 对象:
你可以使用 mc alias import 导入该 JSON 文档。
示例
导出并转换别名
以下示例导出 play.min.io 沙箱的别名。 随后使用 jq 工具转换该配置,并基于修改后的配置创建新别名:
备份别名配置
以下命令将别名配置导出为 JSON 文件。 然后你可以按你偏好的流程备份该文件。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.76 - mc anonymous get-json
语法
mc anonymous get-json 命令用于获取存储桶的匿名(即未经身份验证或公开)访问 policies。
配置了匿名策略的存储桶允许客户端在无需 authentication 的情况下访问存储桶内容,并执行与指定策略一致的操作。
以下命令检索 myminio MinIO 部署上 mydata 存储桶的 JSON 格式匿名策略:
该命令使用以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 要获取匿名存储桶策略的存储桶或存储桶前缀的完整路径。
指定 MinIO 或其他 S3 兼容服务的 alias,以及 存储桶或存储桶前缀的完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
获取存储桶的匿名策略
使用 mc anonymous get-json 获取存储桶的匿名策略:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.77 - mc batch start
变更: MinIO
RELEASE.2022-10-09T21-10-59Z or later
语法
mc batch start 命令根据批处理作业 YAML 文件启动一个批处理作业。
批处理作业会运行一次直到完成(或达到文件中指定的最大重试次数)。 若要在完成后再次运行该批处理作业,必须重新启动它。
以下命令会在 myminio 别名的 mybucket 存储桶上,为 replicate 作业创建一个基础 YAML 文件。
上述命令的输出类似如下:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
用于启动批处理作业的 alias。
例如:
JOBFILE
mc-cmd
Required
YAML 定义的批处理作业。 作业可按需包含任意数量的任务;没有预定义的限制。
全局标志
此命令支持 全局标志 中的任意选项。
示例
启动批处理作业
以下命令会在 alias myminio 对应的部署上,启动 replication.yaml 文件中定义的一批作业:
- 将
myminio替换为应运行该作业的 MinIO 部署alias。 - 将
./replication.yaml替换为描述批处理作业的 YAML 格式文件。 使用相对于当前位置的文件路径。
上述命令的输出类似如下:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
权限
要启动作业,必须在该部署上具有 admin:StartBatchJob 权限。
4.78 - mc cat
语法
mc cat 命令将文件或对象的内容连接到另一个文件或对象。 你也可以使用该命令将指定文件或对象的内容输出到 STDOUT。 cat 的功能与 cat 类似。
以下命令将 MinIO 部署中某个对象的内容输出到 STDOUT:
mc cat 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
你也可以将 mc cat 用于本地文件系统,以获得与 cat 命令行工具类似的结果。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias 以及对象的完整路径。例如:
你可以指定同一或不同 MinIO 部署中的多个对象。例如:
对于本地文件系统上的对象,请指定该对象的完整路径。例如:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--offset
mc-cmd
Optional
指定一个整数,表示命令输出的字节偏移位置。
与 --part-number 标志互斥。
--part-number
mc-cmd
Optional
下载分段上传中的指定分段编号。 指定要下载的分段编号整数值。
--rewind
mc-cmd
Optional
指示 mc cat 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--tail
mc-cmd
Optional
指定一个整数,表示命令从该字节数开始裁剪输出。
与 --part-number 标志互斥。
--version-id, vid
mc-cmd
Optional
指示 mc cat 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--zip
mc-cmd
Optional
将源端 zip 文件中的内容提取到远端。 要求源 ALIAS 为 MinIO 部署。
全局标志
此命令支持 全局标志 中的任意选项。
示例
查看 S3 对象
使用 mc cat 返回对象:
按时间点查看 S3 对象
使用 mc cat --rewind 返回过去某个特定时间点的对象:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为对象在 S3 兼容主机上的路径。 - 将
DURATION替换为命令返回对象时对应的 过去时间点。例如,指定30d可返回当前日期前 30 天的对象版本。
需要版本控制
要使用此功能,mc cat 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
查看 S3 对象的指定版本
使用 mc cat --version-id 返回对象的特定版本:
需要版本控制
要使用此功能,mc cat 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
下载特定分段
使用 mc cat --part-number 下载分段上传中的特定分段:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为对象在 S3 兼容主机上的路径。 - 将
#替换为要下载的分段编号整数值。 例如,要下载一个 16 段分段文件中的第 3 段,使用--part-number=3。
如果使用了 --offset 或 --tail 标志,则不能使用 --part-number 标志。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.79 - mc idp ldap accesskey ls
描述
mc idp ldap accesskey ls 用于显示 LDAP 访问密钥对列表。
mc idp ldap accesskey ls 也称为 mc idp ldap accesskey list。
此命令适用于 AD/LDAP 用户在通过 MinIO 完成身份验证后创建的 访问密钥。
使用 mc idp ldap accesskey create 命令创建 AD/LDAP 服务账户。
MinIO 支持使用 AssumeRoleWithLDAPIdentity 通过 Security Token Service 生成临时访问密钥。
该命令的语法如下:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署 alias。 -
将
DN替换为用户的 distinguished name 字符串。 你可以用空格分隔多个 distinguished name。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
--all
mc-cmd
Optional
新增: mc
RELEASE.2024-07-31T15-58-33Z
列出所有 LDAP 用户的全部访问密钥。
--self
mc-cmd
Optional
新增: mc
RELEASE.2024-07-31T15-58-33Z
列出当前已认证用户的访问密钥。
--svcacc-only
mc-cmd
Optional
仅输出服务账户访问密钥。
与 --temp-only 互斥。
--temp-only
mc-cmd
Optional
仅输出临时访问密钥。
与 --svcacc-only 互斥。
--users-only
mc-cmd
Optional
仅输出用户 distinguished name。
示例
列出所有访问密钥
要返回所有访问密钥列表,你必须先以 admin 用户完成认证。 认证完成后,以下命令会返回 minio 部署上的全部 AD/LDAP 访问密钥。
说明
如果用户没有 admin:ListUsers 权限,该命令仅返回已认证用户的访问密钥列表。
列出用户 Distinguished Name
要返回某个部署的 DN 列表,你必须先以具有 admin:ListUsers 权限的用户完成认证。 认证完成后,以下命令会输出 minio 部署上的 AD/LDAP distinguished name。
列出临时访问密钥
要返回某个部署的全部临时访问密钥列表,你必须先以具有 admin:ListUsers 权限的用户完成认证。 认证完成后,以下命令会输出 distinguished name 及其关联临时访问密钥的列表。
列出某个用户的访问密钥
以下命令返回 minio 部署上用户 bobfisher 的 AD/LDAP 访问密钥。
列出多个用户的访问密钥
以下命令返回 minio 部署上用户 bobfisher 和 cody3 的 AD/LDAP 访问密钥。
列出已认证用户的访问密钥
以下命令返回 minio 部署上当前已认证用户的 AD/LDAP 访问密钥。
说明
如果已认证用户具有 admin:ListUsers 权限,则该命令会返回部署上所有用户及其访问密钥列表。
全局参数
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.80 - mc idp ldap ls
说明
mc idp ldap ls 命令列出 AD/LDAP 提供方当前已有的配置集合。
mc idp ldap ls 也称为 mc idp ldap list。
以下示例列出 myminio 部署的 AD/LDAP 配置设置。
该命令的语法如下:
-
将
ALIAS替换为 MinIO 部署的 alias,以列出 AD/LDAP 集成配置。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要输出其当前 AD/LDAP 配置的 MinIO 部署的 alias。
例如:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.81 - mc ilm rule ls
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule ls 替代了 mc ilm ls。
变更: RELEASE.2023-05-26T23-31-54Z
mc ilm rule ls --json 的输出在 updateAt 中包含策略修改时间。
语法
mc ilm rule ls 命令以表格格式汇总 MinIO 存储桶上配置的所有对象生命周期管理规则。
mc ilm rule list 命令与 mc ilm rule ls 的功能等效。
以下命令列出 myminio MinIO 部署中 mydata 存储桶的所有生命周期管理规则:
命令输出可能类似如下:
mc ilm rule ls 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要列出对象生命周期管理规则的 MinIO 部署中,存储桶对应的 alias 和完整路径。 例如:
--expiry
mc-cmd
Optional
mc ilm rule ls 仅返回与生命周期规则过期相关的字段。
与 --transition 互斥。
--transition
mc-cmd
Optional
mc ilm rule ls 仅返回与生命周期规则转移相关的字段。
与 --expiry 互斥。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶生命周期管理规则
使用 mc ilm rule ls 列出存储桶的生命周期管理规则:
显示策略修改时间
使用带有 --json 的 mc ilm rule ls 显示存储桶策略上次更新时间。
JSON 输出中的 updateAt 属性包含该策略更新的日期和时间。
输出类似如下:
所需权限
有关列出规则所需的权限,请参阅父命令中的 required permissions。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.82 - mc ilm tier rm
描述
mc ilm tier rm 命令用于移除尚未用于转换任何对象的远程层。
mc ilm tier remove 命令与 mc ilm tier rm 具有等效功能。
说明
一旦某个层已经转换过对象,则无法将其移除。
所需权限
MinIO 要求具备以下权限,且权限范围限定为你要创建生命周期管理规则的一个或多个存储桶。
MinIO 还要求在集群上具备以下管理权限,该集群用于为对象转换生命周期管理规则创建远程层:
例如,以下策略提供了在集群中任意存储桶上配置对象转换生命周期管理规则的权限:
语法
该命令具有以下语法:
以下示例在 myminio 部署上移除名为 WARM-TIER 的现有远程层。 没有对象被转换到 WARM-TIER 层。
该命令具有以下语法:
参数
该命令接受以下参数:
TARGET
mc-cmd
Required
目标层所在的已配置 MinIO 部署的 alias。
TIER_NAME
mc-cmd
Required
要移除的现有远程层名称。
你 必须 使用全大写指定该层,例如 WARM_TIER。
不能有任何对象已转换到该层。
全局标志
此命令支持 全局标志 中的任意选项。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关移除层所需的权限,请参阅父命令中的 required permissions。
4.83 - mc replicate resync
语法
mc replicate resync 命令会将指定 MinIO 存储桶中的所有对象, 重新同步到远端 replication 目标。
此命令 要求 先使用 mc replicate add 命令配置远端存储桶目标。 执行 mc replicate resync 时,必须指定由此生成的远端 ARN。
此命令支持使用 active-active 复制的远端作为“备份”来源来重建 MinIO 部署。 有关 active-active 复制的更多信息,请参阅以下教程:
以下命令将 myminio MinIO 部署中 mydata 存储桶的内容, 重新同步到与指定 --remote-bucket 关联的远端 MinIO 部署:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及 MinIO 用作复制源的存储桶或存储桶前缀的完整路径。 例如,以下命令使用与 primary 别名关联的 MinIO 部署上的 data 存储桶启动复制。
start
mc-cmd
Required
使用指定的 bucket 作为源, 并使用 --remote-bucket 作为远端目标, 启动重新同步过程。
与 mc replicate resync status 互斥。
status
mc-cmd
Required
返回指定 bucket 到所有远端目标的重新同步状态。
包含 --remote-bucket 参数可将状态输出过滤为仅显示指定远端目标。
--remote-bucket
mc-cmd
Required
指定目标部署和存储桶的 ARN。
可通过 mc replicate ls 配合 --json 选项获取 ARN。 rule.Destination.Bucket 字段包含任意给定复制规则的 ARN。
older-than
mc-cmd
Optional
指定一个以天为单位的时长,MinIO 仅会重新同步早于该时长的对象。
仅可与 mc replicate resync start 一起使用。
全局标志
此命令支持 全局标志 中的任意选项。
示例
从源存储桶重新同步远端复制目标
以下 mc replicate resync 命令会将指定源存储桶中的所有对象重新同步到远端目标, 不考虑其复制状态:
- 将
primary/data替换为ALIAS对应的完整存储桶路径,用于创建复制配置。 - 将
--remote-bucket的值替换为远端目标的 ARN。 使用mc replicate ls列出所有已配置的远端复制目标。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.84 - mc support profile
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
描述
mc support profile 为你的部署运行系统性能剖析。 剖析结果可帮助了解给定节点上运行的 MinIO 服务端进程状态。
生成的报告供 MinIO Engineering 使用。 你可以将报告上传到 MinIO SUBNET。 若由你自己或第三方独立使用这些剖析结果进行诊断和修复,风险自担。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
示例
获取 CPU 剖析
此命令从别名为 minio1 的 MinIO 部署中获取 CPU 剖析数据。 剖析按默认时长运行 10 秒。
并发获取 CPU、内存和 block 剖析
此命令从别名 minio2 获取 CPU、内存和 block 使用情况的剖析数据。 剖析按默认时长运行 10 秒。
并发获取 CPU、内存和 block 剖析(持续 10 分钟)
此命令从别名 minio3 获取 CPU、内存和 block 的剖析数据。 剖析运行 10 分钟(600 秒)。
语法
mc support profile 命令语法如下:
参数
--duration
mc-cmd
Optional
按指定时长运行剖析,单位为秒。
使用 --type <value>,其中 <value> 为剖析运行的秒数。
如果未指定,命令将收集 10 秒的数据。
--type
mc-cmd
Optional
指定要收集数据的剖析类型。
使用 --type <value>,其中 <value> 为一个或多个以逗号分隔的数据类型。
有效类型包括:
cpucpuiomemblockmutextracethreadsgoroutines
如果未指定,命令将收集 CPU、memory、block、mutex、threads 和 goroutines 的数据。
重要
除非 MinIO Support 明确要求,否则不要使用 cpuio 或 trace 数据类型。 这些剖析会消耗大量资源,在缺乏指导时使用可能导致集群性能下降。
--airgap
mc-cmd
Optional
在无法网络访问 SUBNET 的环境中使用(例如 airgapped、firewalled 或类似配置)。
如果部署是 airgapped,但你运行 minio client 的本地设备具有网络访问能力,则无需使用 --airgap 标志。
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
全局标志
此命令支持 全局标志 中的任意选项。
4.85 - mc support top rpc
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
语法
mc support top rpc 命令显示远程过程调用(RPC)的指标。
以下命令显示 alias myminio 部署当前的远程过程调用指标。
输出会返回如下信息:server、连接数、ping 时延、距离上次 ping(pong)的时间、重连次数、string in、string out、messages in 和 messages out。
输出类似如下:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
--airgap
mc-cmd
Optional
用于无法通过网络访问 SUBNET 的环境。
--in
mc-cmd
Optional
回放先前保存的 JSON 文件。 指定要回放的 JSON 文件路径,例如由此前运行该命令生成的文件。
--interval
mc-cmd
Optional
指标请求之间的间隔时间(秒)。
默认情况下,命令每秒请求一次指标。
-n
mc-cmd
Optional
在退出前要运行的请求次数。 使用 0 表示无限运行。
如果未指定,命令不会自动退出。
--nodes
mc-cmd
Optional
以逗号分隔的节点列表,用于指定从哪些节点收集指标。
全局标志
此命令支持 全局标志 中的任意选项。
4.86 - mc anonymous set-json
语法
mc anonymous set-json 命令使用 IAM JSON 策略文档,为存储桶设置匿名(即未认证或公开)访问策略。
配置了匿名策略的存储桶允许客户端在无需 authentication 的情况下访问存储桶内容, 并执行与指定策略一致的操作。
以下命令将 JSON 格式的匿名策略应用到 myminio MinIO 部署上的 mydata 存储桶:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
POLICY
mc-cmd
必需 要分配给指定 ALIAS 的 JSON 格式策略文件路径。
ALIAS
mc-cmd
必需 存储桶或存储桶前缀的完整路径,命令会将指定的 POLICY 应用到该路径。
指定 MinIO 或其他 S3 兼容服务的 alias,以及 存储桶或存储桶前缀的完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
为存储桶设置匿名策略
使用 mc anonymous set-json 为存储桶设置匿名策略:
移除存储桶的匿名策略
使用 mc anonymous set 清除存储桶的匿名策略:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.87 - mc batch status
变更: MinIO
RELEASE.2022-10-09T21-10-59Z or later
语法
mc batch status 命令会输出 MinIO 服务器上作业事件的汇总信息。
变更: mc
RELEASE.2024-07-03T20-17-25Z
Batch status 会显示活动且正在进行的作业,或前 3(三)天内已完成的任意批处理作业的汇总信息。
以下命令会输出 myminio alias 上当前正在运行、JobID 为 KwSysDpxcBU9FNhGkn2dCf 的指定作业状态。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
要显示批处理作业状态的 alias。
JOBID
mc-cmd
Optional
要汇总的作业的唯一标识符。 要查找作业 ID,请使用 mc batch list。
如果未指定,则该命令返回当前活动的批处理作业的汇总信息。
全局标志
此命令支持 全局标志 中的任意选项。
示例
汇总活动复制作业的事件
以下命令会为 alias myminio 对应部署上的活动作业提供实时汇总:
- 将
myminio替换为应运行该作业的 MinIO 部署的alias。
上述命令的输出如下所示:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.88 - mc cp
语法
mc cp 命令用于在 MinIO 部署与本地文件系统之间复制对象, 其中源端可以是 MinIO 或 本地文件系统。
你也可以将 mc cp 用于本地文件系统,达到与 cp 命令行工具 类似的效果。
说明
mc cp 仅复制对象的最新版本或指定版本,不包含任何版本信息或修改日期。 要复制所有版本、版本信息及相关元数据,请使用 mc replicate add 或 mc admin replicate。
以下命令将文件从本地文件系统目录复制到 myminio MinIO 部署中的 mydata 存储桶:
mc cp 命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
SOURCE
mc-cmd
Required
要复制的对象。
如需从 MinIO 复制对象,请指定该对象的 alias 和完整路径 (例如存储桶和对象路径)。 例如:
指定多个 SOURCE 路径可将多个对象复制到指定的 TARGET。 mc cp 将最后一个指定的 alias 或文件系统路径视为 TARGET。 例如:
如需从本地文件系统复制对象,请指定该对象的完整路径。 例如:
如果在 SOURCE 中指定的是目录或存储桶, 还必须指定 --recursive 以递归复制该目录或存储桶中的内容。 如果省略 --recursive 参数,cp 仅复制指定目录或存储桶顶层中的对象。
TARGET
mc-cmd
Required
mc cp 复制对象的目标完整路径。
如需将对象复制到 MinIO, 请指定该对象的 alias 和完整路径 (例如存储桶和对象路径)。例如:
如需将对象复制到本地文件系统,请指定该对象的完整 路径。例如:
--attr
mc-cmd
Optional
为对象添加自定义元数据。 以 KEY=VALUE\; 格式指定键值对。 例如,--attr key1=value1\;key2=value2\;key3=value3。
--checksum
mc-cmd
Optional
新增: RELEASE.2024-10-02T08-27-28Z
为上传对象添加校验和。
有效值包括: - MD5 - CRC32 - CRC32C - SHA1 - SHA256
该标志依赖服务端 trailing headers,适用于 AWS 或 MinIO 目标。
--disable-multipart
mc-cmd
Optional
为本次复制会话禁用分片上传。
--enc-kms
mc-cmd
使用客户端管理的密钥,通过服务端 SSE-KMS 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定外部 KMS 上已有的数据密钥。 关于如何创建数据密钥,请参见 |
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-s3
mc-cmd
Optional
使用 KMS 管理的密钥,通过服务端 SSE-S3 加密 对对象进行加密或解密。 指定对象的完整路径,格式为 alias/bucket/prefix/object。
例如:
你可以多次指定该参数,以表示不同的待加密对象:
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--legal-hold
mc-cmd
Optional
为复制后的对象启用无限期的 legal hold 对象锁定。
指定 on。
--limit-download
mc-cmd
Optional
将客户端侧下载速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响下载到运行 MinIO Client 的本地设备的速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将下载速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的下载速率。
--limit-upload
mc-cmd
Optional
将客户端侧上传速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响从运行 MinIO Client 的本地设备发起的上传速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将上传速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的上传速率。
--md5
mc-cmd
Optional
变更: RELEASE.2024-10-02T08-27-28Z
已由 --checksum 标志替代。
强制所有上传计算 MD5 校验和。
--newer-than
mc-cmd
Optional
复制比指定天数更新的对象。 以 #d#hh#mm#ss 格式指定字符串。 例如:--older-than 1d2hh3mm4ss
默认为 0(所有对象)。
--older-than
mc-cmd
Optional
复制早于指定时间限制的对象。 以 #d#hh#mm#ss 格式指定字符串。 例如:--older-than 1d2hh3mm4ss
默认为 0(所有对象)。
--preserve, a
mc-cmd
Optional
在 TARGET 存储桶中保留来自 SOURCE 目录、存储桶和对象的文件系统属性及存储桶策略规则。
--recursive, r
mc-cmd
Optional
将每个 SOURCE 存储桶或目录中的内容递归复制到 TARGET 存储桶。
--retention-duration
mc-cmd
Optional
要应用于复制对象的 WORM retention mode 持续时间。
以 #d#hh#mm#ss 格式的字符串指定持续时间。 例如:--retention-duration "1d2hh3mm4ss"。
需要同时指定 --retention-mode。
--retention-mode
mc-cmd
Optional
在复制对象上启用 object locking mode。 支持以下取值:
GOVERNANCECOMPLIANCE
需要同时指定 --retention-duration。
--rewind
mc-cmd
Optional
指示 mc cp 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 SOURCE 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--storage-class, sc
mc-cmd
Optional
为 TARGET 上的新对象设置存储类。
有关 S3 存储类的更多信息,请参见 https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html。
--tags
mc-cmd
Optional
为复制后的对象应用一个或多个标签。
以 KEY1=VALUE1&KEY2=VALUE2 形式指定由与号分隔的键值对, 其中每一对代表分配给对象的一个标签。
--version-id, vid
mc-cmd
Optional
指示 mc cp 仅对指定的对象版本执行操作。
--version-id 要求指定的 SOURCE 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--zip
mc-cmd
Optional
在复制期间,从 .zip 归档中提取文件。 仅当源归档文件位于 MinIO 部署中时生效。
全局标志
此命令支持 全局标志 中的任意选项。
示例
将对象复制到 S3
使用 mc cp 将对象复制到 S3 兼容主机:
递归复制对象到 S3
使用 mc cp --recursive 将对象递归复制到 S3 兼容主机:
复制对象的时间点版本
使用 mc cp --rewind 复制对象在某个特定时间点的状态。 该命令仅适用于 S3 到 S3 复制。
- 将
DURATION替换为要回溯复制对象的过去时间点。 例如,指定30d可复制当前日期前 30 天的对象版本。 - 将
SRCALIAS替换为源 S3 兼容主机的alias。 - 将
SRCPATH替换为源 S3 兼容主机上对象的路径。 - 将
TGTALIAS替换为目标 S3 兼容主机的alias。 - 将
TGTPATH替换为目标 S3 兼容主机上对象的路径。 省略对象名称可使用SRCPATH的对象名称。
需要版本控制
要使用此功能,mc cp 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
复制对象的特定版本
使用 mc cp --version-id 复制对象的特定版本。 该命令仅适用于 S3 到 S3 复制。
- 将
VERSION替换为要复制的对象版本。 - 将
SRCALIAS替换为源 S3 兼容主机的alias。 - 将
SRCPATH替换为源 S3 兼容主机上对象的路径。 - 将
TGTALIAS替换为目标 S3 兼容主机的alias。 - 将
TGTPATH替换为目标 S3 兼容主机上对象的路径。 省略对象名称可使用SRCPATH的对象名称。
需要版本控制
要使用此功能,mc cp 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
添加 content-type 值
使用 mc cp --attr 添加 content-type 值。 该命令仅适用于 S3 到 S3 复制。
- 将
CONTENT-TYPE替换为所需的 content type(也称为 media type)。 - 将
SRCALIAS替换为源 S3 兼容主机的alias。 - 将
SRCPATH替换为源 S3 兼容主机上对象的路径。 - 将
TGTALIAS替换为目标 S3 兼容主机的alias。 - 将
TGTPATH替换为目标 S3 兼容主机上对象的路径。 省略对象名称可使用SRCPATH的对象名称。
以下示例将 content-type 设置为 application/json:
行为
mc cp 使用 MD5SUM 校验和验证所有到对象存储的复制操作。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.89 - mc idp ldap accesskey rm
描述
mc idp ldap accesskey rm 从本地服务器中删除指定的访问密钥。
mc idp ldap accesskey rm 也称为 mc idp ldap accesskey remove。
此命令适用于 AD/LDAP 用户在通过 MinIO 完成身份验证后创建的 访问密钥。
使用 mc idp ldap accesskey create 命令创建 AD/LDAP 服务账户。
MinIO 支持使用 AssumeRoleWithLDAPIdentity 通过 Security Token Service 生成临时访问密钥。
以下示例从
minio部署中删除访问密钥mykey:
该命令使用以下语法:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署的 alias。 -
将
KEY替换为要删除的访问密钥。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
KEY
mc-cmd
Required
要删除的已配置访问密钥。
示例
从 minio 部署中删除访问密钥 mykey。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.90 - mc idp ldap rm
说明
mc idp ldap rm 命令移除 AD/LDAP 提供方的现有配置。
mc idp ldap rm 也称为 mc idp ldap remove。
以下示例移除 myminio 部署的 AD/LDAP 提供方设置。
该命令的语法如下:
-
将
ALIAS替换为 MinIO 部署的 alias,以移除 AD/LDAP 集成。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要移除其当前 AD/LDAP 配置的 MinIO 部署的 alias。
例如:
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.91 - mc ilm rule rm
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rule rm 替代 mc ilm rm。
语法
mc ilm rule rm 命令用于从 MinIO 存储桶中删除一条对象生命周期管理规则。
以下命令从 myminio MinIO 部署的 mydata 存储桶中删除一条生命周期管理规则:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要删除对象生命周期管理规则的 MinIO 部署上存储桶的 alias 和完整路径。 例如:
--all
mc-cmd
Optional
删除存储桶中的所有规则。 需要同时包含 --force。
与 --id 互斥。
--force
mc-cmd
Optional
指定 --all 时必需。
--id
mc-cmd
Optional
规则的唯一 ID。 使用 mc ilm rule ls 列出存储桶规则,并获取要删除规则的 id。
与 mc ilm rule rm --all 互斥。
全局标志
此命令支持 全局标志 中的任意选项。
示例
删除存储桶生命周期管理规则
使用 mc ilm rule rm 删除存储桶生命周期管理规则:
- 将
RULE替换为生命周期管理规则的唯一标识符。 使用mc ilm rule ls查找要使用的 ID。 - 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶的路径。
所需权限
有关删除规则所需的权限,请参阅父命令中的 required permissions。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.92 - mc ilm tier update
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm tier update 替代 mc admin tier edit。
描述
mc ilm tier update 命令用于修改已配置的远程层。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
支持的 S3 服务
mc ilm tier 仅 支持以下兼容 S3 的服务作为对象分层的远程目标:
- MinIO
- Amazon S3
- Google Cloud Storage
- Azure Blob Storage
所需权限
MinIO 要求在你创建生命周期管理规则的存储桶范围内,具备以下权限。
MinIO 还要求在集群上具备以下管理权限,以便为对象过渡生命周期管理规则创建远程层:
例如,以下策略授予在集群中任意存储桶上配置对象过渡生命周期管理规则的权限:
过渡权限
对象过渡生命周期管理规则在远程存储层上需要额外权限。具体而言,MinIO 要求远程层凭证提供读取、写入、列出和删除权限。
例如,如果远程存储层实现基于 AWS IAM 策略的访问控制,则以下策略提供对象在远程层之间迁入和迁出所需的权限:
请修改 Resource 为 MinIO 执行对象分层所使用的存储桶。
关于配置用户和权限以支持 MinIO 分层的更完整信息,请参阅受支持分层目标的文档:
- Amazon S3 Permissions
- Google Cloud Storage Access Control
- Authorizing access to data in Azure storage
语法
以下示例会更新 myminio 部署上名为 S3TIER 的现有远程层凭证。
运行此命令后,myminio 部署上的生命周期管理规则会使用该层的新凭证将对象过渡到远程位置。 命令中未修改的选项会保留其现有配置。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
该命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias。
TIER_NAME
mc-cmd
Required
命令要修改的远程层名称。 该值对应于创建远程层时指定的 mc ilm tier add TIER_NAME。
--access-key
mc-cmd
Optional
远程 S3 或 MinIO 层上某个用户的 access key。 该用户必须具备在远程存储桶或存储桶前缀上执行 read/write/list/delete 操作的权限。
此选项仅适用于 TIER_TYPE 为 s3 或 minio 的远程存储层。 对其他 TIER_TYPE,此选项无效。
--secret-key
mc-cmd
Optional
远程 s3 或 minio 层上某个用户的 secret key。
此选项仅适用于 TIER_TYPE 为 s3 或 minio 的远程存储层。 对其他 TIER_TYPE,此选项无效。
--use-aws-role
mc-cmd
Optional
使用本地已配置的 AWS Role 的访问权限。
此选项仅在 TIER_TYPE 为 s3 或 minio 时适用。 对其他 TIER_TYPE 值,此选项无效。
--account-key
mc-cmd
Optional
远程 Azure 层上某个用户的 account key。
Azure 层类型必填。
使用此选项轮换与远程层关联的 --account-name 的凭证。
此选项仅适用于 TIER_TYPE 为 azure 的远程存储层。 对其他登录类型,此选项无效。
--az-sp-tenant-id
mc-cmd
Optional
新增: mc
RELEASE.2024-07-03T20-17-25Z
Azure service principal account 的 Directory ID。
此选项仅适用于 TIER_TYPE 为 azure 的远程存储层。 对其他登录类型,此选项无效。
--az-sp-client-id
mc-cmd
Optional
新增: mc
RELEASE.2024-07-03T20-17-25Z
Azure service principal account 的 Client ID。
此选项仅适用于 TIER_TYPE 为 azure 的远程存储层。 对其他登录类型,此选项无效。
--az-sp-client-secret
mc-cmd
Optional
新增: mc
RELEASE.2024-07-03T20-17-25Z
Azure service principal account 的 secret。
此选项仅适用于 TIER_TYPE 为 azure 的远程存储层。 对其他登录类型,此选项无效。
--credentials-file
mc-cmd
Optional
Google Cloud Storage 层类型必填。
远程 GCS 层上某个用户的凭证文件。 该用户必须具备在远程存储桶或存储桶前缀上执行 read/write/list/delete 操作的权限。
此选项仅适用于 TIER_TYPE 为 gcs 的远程存储层。 对其他登录类型,此选项无效。
全局标志
此命令支持 全局标志 中的任意选项。
示例
轮换 S3 远程层凭证
以下示例更新 myminio 部署上名为 S3TIER 的 S3 远程层凭证。
- 将
S3TIER替换为你的 Amazon Simple Storage Solution 层名称。 - 将
ACCESS_KEY替换为你的 S3 存储更新后的 access key。 - 将
SECRET_KEY替换为上面提供的 access key 对应的更新后 secret key。
轮换 Azure Blob Storage 远程层凭证
以下示例更新 myminio 部署上名为 AXTIER 的 Azure 远程层凭证。
- 将
AZTIER替换为你的 Azure 层名称。 - 将
ACCOUNT-KEY替换为你的 Azure 存储更新后的密钥。
轮换 Google Cloud Storage 远程层凭证
以下示例更新 myminio 部署上名为 GCSTIER 的 Google Cloud Storage 远程层凭证。
- 将
GCSTIER替换为你的 Google Cloud Storage 层名称。 - 将
/path/to/credentials.json替换为用于访问远程存储的更新后凭证文件路径。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
所需权限
有关修改层所需的权限,请参阅父命令中的 required permissions。
4.93 - mc replicate rm
变更: RELEASE.2022-12-24T15-21-38Z
mc replicate rm 替代 mc admin bucket remote rm 命令。 删除复制配置时会自动删除其底层远程目标。
语法
mc replicate rm 命令用于从 MinIO 存储桶中删除 replication rule。
mc replicate remove 命令与 mc replicate rm 功能等价。
以下命令从 myminio MinIO 部署中的 mydata 存储桶删除指定 id 的复制规则:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 MinIO 部署的 alias,以及要删除复制规则的 存储桶或存储桶前缀的完整路径。例如:
--id
mc-cmd
必需 指定已配置复制规则的唯一 ID。
如果指定 --all,则可省略此选项
--all
mc-cmd
可选 删除指定存储桶上的所有复制规则。要求同时指定 --force 标志。
--force
mc-cmd
可选 当指定 --all 时必需。
全局标志
此命令支持 全局标志 中的任意选项。
示例
从存储桶中删除一条复制规则
使用 mc replicate rm 删除存储桶复制规则:
- 将
ID替换为要删除的复制规则唯一 ID。 使用mc replicate ls列出该存储桶的所有复制规则。 - 将
ALIAS替换为 MinIO 部署的alias。 - 将
PATH替换为存储桶或存储桶前缀的路径。
从存储桶中删除所有复制规则
使用 mc replicate rm 删除存储桶复制规则:
行为
删除复制规则不会影响已复制对象
删除存储桶的一条或全部复制规则,不会 删除已按这些规则复制的任何对象。
使用此命令或 mc rb 命令可删除远程目标上的已复制对象。 你可以通过 X-Amz-Replication-Status 元数据字段识别已复制对象,其值为 REPLICA。包含来自多个复制源对象的存储桶在删除前可能需要额外的 处理与过滤,以确定对象来源。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.94 - mc support proxy
说明
使用 mc support proxy 命令配置与 MinIO SUBNET 通信时使用的代理。
示例
设置代理 URL
定义部署 minio1 与 SUBNET 通信时使用的代理 URL。 此示例中的代理 URL 为 http://my.proxy。
删除为部署配置的代理 URL
以下命令会删除为别名 minio1 配置的代理 URL。
禁用 callhome 日志
以下命令显示为别名 minio1 配置的代理 URL。
语法
mc support proxy set
mc-cmd
为 MinIO 部署创建与 MinIO SUBNET 通信时使用的代理 URL。
mc support proxy show
mc-cmd
显示当前为与 MinIO SUBNET 通信配置的代理 URL。
mc support proxy remove
mc-cmd
删除为与 MinIO SUBNET 通信配置的代理 URL。
全局标志
此命令支持 全局标志 中的任意选项。
4.95 - mc diff
语法
mc diff 命令用于计算两个文件系统目录或 MinIO 存储桶之间的差异。 mc diff 仅列出缺失的对象或大小不同的对象。mc diff 不会 比较对象内容。
以下命令用于比较本地文件系统中的一个对象与 myminio MinIO 部署中 mydata 存储桶内一个对象之间的差异:
mc diff 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
SOURCE
mc-cmd
必需 要与 TARGET 比较的对象。
对于来自 MinIO 的对象, 指定 alias 以及该对象的完整路径 (例如存储桶和对象路径)。例如:
对于来自本地文件系统的对象,指定该对象的完整路径。例如:
TARGET
mc-cmd
必需 要与 SOURCE 比较的对象。
对于来自 MinIO 的对象, 指定 alias 以及该对象的完整路径 (例如存储桶和对象路径)。例如:
对于来自本地文件系统的对象,指定该对象的完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
以下示例假定 play 别名已存在于 mc 配置文件 中。你可以将 play 替换为 你首选 S3 兼容部署的别名。
有关别名的更多信息,请参阅 mc alias。
行为
输出图例
mc diff 在格式化 diff 输出时使用以下图例:
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.96 - mc idp ldap update
描述
mc idp ldap update 命令用于修改 AD/LDAP 提供程序的现有配置集。
以下示例修改 myminio 部署的两个 AD/LDAP 配置项。
该命令使用以下语法:
-
将
ALIAS替换为要更新 AD/LDAP 集成配置的 MinIO 部署的 alias。 -
将
[CFG_PARAM#]替换为各个 configuration setting 键值对,格式为PARAMETER="value"。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要修改其 AD/LDAP 集成配置的 MinIO 部署的 alias。
例如:
server_addr
mc-cmd
Required
指定 Active Directory / LDAP server 的主机名。例如:
srv_record_name 会自动识别端口
如果你的 AD/LDAP server 使用 DNS SRV Records,则 不要 在 server_addr 的值后追加端口号。 SRV 请求在返回可用服务器列表时会自动包含端口号。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_ADDR。
lookup_bind_dn
mc-cmd
Required
指定 MinIO 在查询 AD/LDAP server 时所使用的 AD/LDAP 账户 Distinguished Name (DN)。 这会启用对 AD/LDAP server 的 Lookup-Bind 认证。
该 DN 账户应为只读访问账号,并具备足够权限以支持执行用户和组查询。
该参数对应环境变量 MINIO_IDENTITY_LDAP_LOOKUP_BIND_DN。
lookup_bind_password
mc-cmd
Required
指定 Lookup-Bind 用户账户的密码。
变更: RELEASE.2023-06-23T20-26-00Z
当通过 mc admin config get 返回此值时,MinIO 会将其脱敏。
该参数对应环境变量 MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD。
user_dn_attributes
mc-cmd
Optional
新增: RELEASE.2024-06-06T09-36-42Z
用户 DN 属性的逗号分隔列表。
一些有效值包括 uid,cn,mail,sshPublicKey。
如果要为 LDAP 用户启用公钥认证,请将 sshPublicKey 作为 DN 属性传入。 随后,用户即可使用传入的 SSH Public Key 登录 SFTP server。
user_dn_search_base_dn
mc-cmd
Required
指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的基础 Distinguished Name (DN)。
多个 DN 之间请使用分号(;)分隔。
例如:
支持 Lookup-Bind 模式。
该参数对应环境变量 MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN。
user_dn_search_filter
mc-cmd
Required
指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的 AD/LDAP 搜索过滤器。
使用 %s 替换字符将客户端指定的用户名插入搜索字符串。例如:
该参数对应环境变量 MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER。
comment
mc-cmd
Optional
指定要附加到 AD/LDAP 配置上的注释。
该参数对应环境变量 MINIO_IDENTITY_LDAP_COMMENT。
enabled
mc-cmd
Optional
设为 false 可禁用 AD/LDAP 配置。
如果设为 false,应用程序将无法生成 STS 凭证, 也无法再使用已配置的提供者向 MinIO 进行身份验证。
默认为 true,即 “enabled”。
group_search_base_dn
mc-cmd
Optional
指定 MinIO 在执行组查询时所使用的组搜索基础 Distinguished Names 列表,多个值之间使用分号(;)分隔。
例如:
该参数对应环境变量 MINIO_IDENTITY_LDAP_GROUP_SEARCH_BASE_DN。
group_search_filter
mc-cmd
Optional
指定用于为已认证用户执行组查询的 AD/LDAP 搜索过滤器。
使用 %s 替换字符将客户端指定的用户名插入搜索字符串。 使用 %d 替换字符将客户端指定用户名对应的 Distinguished Name 插入搜索字符串。
例如:
在提供 AD/LDAP 组搜索过滤器时,应将其配置为仅返回支持认证所需的最少相关组。 返回大量组成员关系的过滤器会增加相关调用和资源的体量。 对大请求体或大响应体敏感的功能可能因此出现意外行为。
该参数对应环境变量 MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER。
server_insecure
mc-cmd
Optional
指定 on 可允许与 AD/LDAP server 建立未加密的连接(非 TLS)。
MinIO 会以明文形式将 AD/LDAP 用户凭证发送到 AD/LDAP server,因此 必须 启用 TLS,才能防止凭证在传输过程中被读取。 启用此选项会带来安全风险,因为任何能够访问网络流量的用户都可能看到未加密的明文 凭证。
默认值为 off。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_INSECURE。
server_starttls
mc-cmd
Optional
指定 on 可启用到 AD/LDAP server 的 StartTLS 连接。
默认值为 off
有关 StartTLS 的更多信息,请参见 LDAP RFC 4511 specification 第 4.14 节。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SERVER_STARTTLS。
srv_record_name
mc-cmd
Optional
新增: RELEASE.2022-12-12T19-27-27Z
指定适当的值,以允许 MinIO 通过 DNS SRV record 请求选择 AD/LDAP server。
启用后,MinIO 会通过以下方式选择 AD/LDAP server:
- 按标准命名约定构造目标 SRV 记录名称。
- 请求可用的 AD/LDAP server 列表。
- 根据优先级和权重选择合适的目标。
下面的配置示例假定 AD/LDAP server 地址设为 example.com,SRV 记录协议为 _tcp。
对于以 _ldap 开头的 SRV 记录名称,指定 ldap。 构造出的 DNS SRV 记录名称类似如下:
对于以 _ldaps 开头的 SRV 记录名称,指定 ldaps。 构造出的 DNS SRV 记录名称类似如下:
如果你的 DNS SRV 记录名称使用了其他 service 或 protocol 名称,请指定 on, 并将完整记录名称作为 LDAP server 地址提供。 例如:_ldapserver._specialtcp.example.com
有关 DNS SRV 记录的更多信息,请参见 DNS SRV Records for LDAP。
DNS SRV 记录配置中的 server 地址
指定的 server 名称 不得 包含端口号。 这与标准 AD/LDAP 配置不同,后者要求提供端口号。
关于如何配置 AD/LDAP server 地址,请参见 server_addr 或 MINIO_IDENTITY_LDAP_SERVER_ADDR。
该参数对应环境变量 MINIO_IDENTITY_LDAP_SRV_RECORD_NAME。
tls_skip_verify
mc-cmd
Optional
指定 on 可在不验证的情况下信任 AD/LDAP server 的 TLS 证书。 如果 AD/LDAP server 的 TLS 证书由不受信任的证书颁发机构签名 (例如自签名),则可能需要此选项。
默认值为 off
该参数对应环境变量 MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.97 - mc replicate status
语法
mc replicate status 命令显示 MinIO 存储桶的 复制状态。 该状态还会列出远程目标路径或位置。
以下命令显示 myminio MinIO 部署上 mydata 存储桶的当前复制状态:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要显示复制状态的存储桶或存储桶前缀的完整路径。 例如:
--limit-download
mc-cmd
Optional
将下载速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将下载速率限制为不超过 1 GiB/s,可使用以下参数:
如果未指定,MinIO 使用不限速的下载速率。
--limit-upload
mc-cmd
Optional
将上传速率限制为不超过指定值,单位可为 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B表示 bytesK表示 kilobytesG表示 gigabytesT表示 terabytesKi表示 kibibytesGi表示 gibibytesTi表示 tebibytes
例如,要将上传速率限制为不超过 1 GiB/s,可使用以下参数:
如果未指定,MinIO 使用不限速的上传速率。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示复制状态
使用 mc replicate status 显示存储桶复制状态:
行为
移除并重新添加的 ARN
变更: mc
RELEASE.2023-03-20T17-17-53Z
该命令的标准输出不会显示此前已从复制配置中移除的 ARN。
如需列出所有 ARN(包括不再属于当前复制配置的 ARN),请使用 --json 标志。 json 输出会持续显示在旧 ARN 下复制的数据。 如果某个 ARN 在同一存储桶上被移除后又重新添加,这些信息会很有价值。
新的 ARN 不会 触发对先前已同步对象的重新复制。
4.98 - mc support top
说明
变更: RELEASE.2022-08-11T00-30-48Z
mc support top 替代 mc admin top 命令。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
描述
mc support top 命令返回分布式 MinIO 部署的统计信息, 类似于 shell 中 top 命令的输出。
说明
mc support top 不支持单节点单驱动 MinIO 部署。
mc support top 具有以下子命令:
有关每个子命令的详细信息,请参阅上方链接的页面。
语法
该命令的语法如下:
4.99 - mc du
语法
mc du 命令用于汇总存储桶和文件夹的磁盘使用量。 你也可以对本地文件系统使用 du,以生成与 du 命令类似的结果。
以下命令打印 myminio MinIO 部署中 mybucket 存储桶的磁盘使用量:
输出类似如下:
mc du 命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias 以及文件夹的完整路径。例如:
你可以在同一个或不同的 MinIO 部署上指定多个存储桶和文件夹。例如:
对于本地文件系统中的文件夹,请指定该文件夹的完整路径。例如:
mc du 完成所需时间取决于目标存储桶和文件夹的大小。大型存储桶可能需要一些时间来生成磁盘使用量摘要。
--depth, d
mc-cmd
Optional
打印命令中指定路径下 N 层及以内所有文件夹的总计值。默认值为 0,仅统计指定路径本身。
--recursive, r
mc-cmd
Optional
递归打印每个存储桶或子文件夹的总计值。
--rewind
mc-cmd
Optional
指示 mc du 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --rewind 与 --versions 一起使用,可显示特定时间点存在的对象版本的磁盘使用量。
--versions
mc-cmd
Optional
指示 mc du 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 一起使用,可显示特定时间点存在的对象版本的磁盘使用量。
全局标志
此命令支持 全局标志 中的任意选项。
示例
查看存储桶或文件夹的磁盘使用量
使用 mc du 打印存储桶或文件夹的磁盘使用量摘要:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶或文件夹的路径。
查看某个时间点的磁盘使用量
使用 mc du --rewind 打印过去某个特定时间点的磁盘使用量摘要:
- 将
DURATION替换为所需的过去时间点。例如,指定30d以显示当前日期前 30 天的磁盘使用量。 - 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶或文件夹的路径。
需要版本控制
要使用此功能,mc du 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
递归查看磁盘使用量
使用 mc du --recursive 递归打印每个文件夹的摘要:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上存储桶或文件夹的路径。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.100 - mc replicate export
语法
mc replicate export 命令将 MinIO 存储桶的 JSON 格式 复制规则 导出到 STDOUT。
以下命令导出 myminio MinIO 部署中 mydata 存储桶的复制配置:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必填 MinIO 部署的 alias,以及要导出复制规则的存储桶或 存储桶前缀的完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
导出现有复制规则
使用 mc replicate export 导出存储桶复制规则:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.101 - mc support upload
Description
mc support upload 将文件从本地文件系统复制到 SUBNET 工单。
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
Syntax
mc support profile 命令具有以下语法:
Parameters
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
FILE
mc-cmd
Required
要上传到 SUBNET 的文件路径。
--comment
mc-cmd
Optional
上传文件时,向 issue 附加一条消息。
--enc
mc-cmd
Optional
对上传内容进行加密。 用于加密的密钥仅 MinIO 可访问。
--issue
mc-cmd
Optional
指定要添加该文件的 issue 编号。 如果未指定,则文件会上传到通用 issue 编号 0。
Global Flags
此命令支持 全局标志 中的任意选项。
Examples
Upload a file to an issue
此命令将本地文件系统中的文件 ./trace.log 上传到别名为 minio1 的部署对应的 SUBNET issue 10001。
Upload a file to an issue with a comment for MinIO Engineers
此命令将本地文件系统中的文件 ./trace.log 上传到别名为 minio1 的部署对应的 SUBNET issue 10001。 该命令还会附加一条关于该文件的注释,供 MinIO Engineers 查看。
4.102 - mc encrypt
描述
mc encrypt 命令用于设置、更新或禁用存储桶默认的服务端加密(SSE)模式。 MinIO 会使用指定的 SSE 模式自动加密对象。
子命令
mc encrypt 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
4.103 - mc replicate import
语法
mc replicate import 命令从 STDIN 为 MinIO 存储桶导入 JSON 格式的 replication rules。
以下命令为 myminio MinIO 部署上的 mydata 存储桶导入复制配置:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需。MinIO 部署的 alias,以及要导入复制规则的存储桶或存储桶前缀的完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
导入现有复制规则
使用 mc replicate import 导入存储桶复制规则:
行为
导入配置会覆盖现有规则
mc replicate import 会将当前存储桶复制规则替换为导入的 JSON 配置中定义的规则。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.104 - mc event
描述
mc event 命令支持添加、删除和列出存储桶事件通知。
MinIO 会自动将触发的事件发送到已配置的通知目标。 MinIO 支持 AMQP (RabbitMQ)、Redis、ElasticSearch、NATS 和 PostgreSQL 等通知目标。 有关更多信息,请参阅 MinIO 存储桶通知。
子命令
mc event 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
4.105 - mc find
语法
mc find 命令支持在 MinIO 部署上搜索对象。 你也可以使用该命令在文件系统上搜索文件。
以下命令会在 myminio MinIO 部署的 mydata 存储桶中, 搜索所有匹配指定模式的对象:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
对于 MinIO 或 S3 兼容主机上的对象,指定 alias 和完整搜索路径(例如存储桶与前缀)。 例如:
对于文件系统上的对象,指定要搜索的完整路径。 例如:
执行 mc find ALIAS 且不带其他参数时,会返回指定路径下 所有 对象或文件的列表,行为类似 mc ls。
--exec
mc-cmd
Optional
对 mc find 返回的每个对象启动一个外部进程。 支持对输出进行 替换格式化。
--ignore
mc-cmd
Optional
排除名称匹配指定 通配符模式 的对象。
--larger
mc-cmd
Optional
匹配所有大于指定大小的对象,大小单位见 units。
--maxdepth
mc-cmd
Optional
将目录遍历限制为指定深度。
--metadata
mc-cmd
Optional
新增: mc
RELEASE.2023-04-12T02-21-51Z
仅用于 MinIO 部署。
返回元数据匹配指定 key=value 的对象。 使用格式 --metadata="KEY=value"。
你可以传入值为空的 key。 在这种情况下,mc find 会匹配不包含该元数据 key 的对象,或该元数据 key 的值为空的对象。
你可以多次使用该选项,以匹配更多元数据 key。 要返回对象,该对象必须在所有元数据 key 上都匹配。
--name
mc-cmd
Optional
返回名称匹配指定 通配符模式 的对象。
--newer-than
mc-cmd
Optional
匹配晚于指定天数的对象。 指定 #d#hh#mm#ss 格式的字符串。 例如:--older-than 1d2hh3mm4ss
变更: RELEASE.2025-02-04T04-57-50Z
日期时间也可以使用 YYYY-MM-DD HH:MM:SS TMZ 格式的绝对时间指定。 例如,mc find --newer-than="2025-01-22 09:57:00 CET" minioalias/mybucket。
--older-than
mc-cmd
Optional
匹配早于指定时间限制的对象。指定 #d#hh#mm#ss 格式的字符串。 例如:--older-than 1d2hh3mm4ss
变更: RELEASE.2025-02-04T04-57-50Z
日期时间也可以使用 YYYY-MM-DD HH:MM:SS TMZ 格式的绝对时间指定。 例如,mc find --newer-than="2025-01-22 09:57:00 CET" minioalias/mybucket。
默认为 0(所有对象)。
--path
mc-cmd
Optional
返回名称匹配指定 通配符模式 的目录内容。
--print
mc-cmd
Optional
将结果打印到 STDOUT。 支持对输出进行 替换格式化。
--regex
mc-cmd
Optional
返回名称匹配指定 PCRE 正则表达式模式的对象 或目录内容。
--tags
mc-cmd
Optional
新增: mc
RELEASE.2023-04-12T02-21-51Z
仅用于 MinIO 部署。
返回标签匹配指定 RE2 RegEx pattern 的对象。 使用格式 --tag="KEY=regexValue"。
你可以传入值为空的 key。 在这种情况下,mc find 会匹配不包含该元数据 key 的对象,或该元数据 key 的值为空的对象。
你可以多次使用该选项,以匹配更多标签。 要返回对象,该对象必须在所有标签上都匹配。
--smaller
mc-cmd
Optional
匹配所有小于指定大小的对象, 大小单位见 units。
--versions
mc-cmd
Optional
在结果中包含对象的所有版本。
--watch
mc-cmd
Optional
持续监控 ALIAS,并返回任何 匹配指定条件的新对象。
全局标志
此命令支持 全局标志 中的任意选项。
示例
在存储桶中查找特定对象
在存储桶中按文件扩展名查找对象
查找所有匹配文件并复制到 S3 服务
将 mc find 与 --exec 选项结合使用,可在本地文件系统中查找 文件,并将其传递给 mc 命令进行进一步处理。以下示例使用 mc cp 将 mc find 的输出复制到 S3 兼容主机。
- 将
FILEPATH替换为要搜索目录的 完整文件路径。 - 将
EXTENSION替换为对象的文件扩展名。 - 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上的存储桶路径。
如需持续监视指定目录并复制新对象, 请添加 --watch 参数:
查找具有匹配标签的对象
说明
标签匹配仅适用于 MinIO 部署。
- 将
key替换为要匹配的标签键名。 - 将
v*替换为要用于匹配的 RE2 正则表达式。 - 将
ALIAS替换为 MinIO 部署的alias。 - 将
BUCKET替换为要搜索的存储桶或前缀。
你可以添加更多 --tags="key=RegExpression" 标志进行匹配。 匹配对象必须满足所有包含的标签条件。
查找具有匹配元数据的对象
说明
元数据匹配仅适用于 MinIO 部署。
- 将
content-type=text/csv替换为要匹配的元数据字段和值的键值对。 - 将
ALIAS替换为 MinIO 部署的alias。 - 将
BUCKET替换为要搜索的存储桶或前缀。
你可以添加更多 --tags="metadata=value" 标志进行匹配。 匹配对象必须满足所有包含的元数据字段条件。
行为
计量单位
mc find --smaller 和 mc find --larger 标志 接受以下不区分大小写的后缀,用于表示指定大小值的单位:
| 后缀 | 单位大小 |
|---|---|
k |
KB(千字节,1000 字节) |
m |
MB(兆字节,1000 千字节) |
g |
GB(吉字节,1000 兆字节) |
t |
TB(太字节,1000 吉字节) |
ki |
KiB(Kibibyte,1024 字节) |
mi |
MiB(Mebibyte,1024 Kibibytes) |
gi |
GiB(Gibibyte,1024 Mebibytes) |
ti |
TiB(Tebibyte,1024 Gibibytes) |
省略后缀时默认单位为 bytes。
替换格式
mc find --exec 和 mc find --print 命令 支持字符串替换,对以下关键字具有特殊解释。
以下关键字同时适用于文件系统和 S3 服务目标:
{}- 替换为完整路径。{base}- 替换为路径的 basename。{dir}- 替换为路径的 dirname。{size}- 替换为路径对应对象的大小。{time}- 替换为路径对应对象的修改时间。
以下关键字仅适用于 S3 服务目标:
{url}- 替换为路径的可共享 URL。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.106 - mc get
新增: mc
RELEASE.2024-02-24T01-33-20Z
语法
mc get 命令将对象从目标 S3 部署下载到本地文件系统。
与 mc cp 或 mc mirror 相比,mc get 为下载文件提供了更简化的接口。 mc get 使用单向下载功能,以牺牲效率为代价,换取相较其他命令更低的功能复杂度。
以下命令将文件 logo.png 从 s3 源下载到本地文件系统路径 ~/images/collateral/。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
SOURCE
mc-cmd
Required
要下载对象的完整路径,包含 alias、存储桶、prefix(如使用)和对象名。
TARGET
mc-cmd
Required
本地文件系统上的目标路径,命令会将下载的文件放置到该路径。
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--version-id, --vid
mc-cmd
Optional
检索对象的特定版本。 传入要检索对象的版本 ID。
全局标志
此命令支持 全局标志 中的任意选项。
示例
从 MinIO 检索对象到本地文件系统
以下命令从别名 myminio 下的存储桶 mybucket 检索文件 myobject.csv,并将其放置到本地文件系统路径 /my/local/folder。
从 MinIO 检索加密对象
以下命令检索一个加密文件,并将其放置到本地文件夹路径。
4.107 - mc head
语法
mc head 命令显示对象的前 n 行, 其中 n 是传递给该命令的参数。
mc head 不会对对象内容执行任何转换或格式化来提升可读性。 你也可以将 mc head 用于本地文件系统,以获得与 head 命令行工具类似的结果。
以下命令返回 myminio MinIO 部署中 mydata 存储桶内某个对象的前 10 行:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要输出的一个或多个对象。
对于 MinIO 上的对象,请指定 alias 和该对象的完整路径 (例如存储桶和对象路径)。例如:
你可以在同一个或不同的 MinIO 部署上指定多个对象。例如:
对于本地文件系统上的对象,请指定该对象的完整路径。 例如:
--lines, n
mc-cmd
Optional
要输出的行数。
默认为 10。
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--rewind
mc-cmd
Optional
指示 mc head 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--version-id, vid
mc-cmd
Optional
指示 mc head 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
全局标志
此命令支持 全局标志 中的任意选项。
示例
查看对象的部分内容
使用 mc head 返回对象的前 10 行:
查看对象在某个时间点的部分内容
使用 mc head --rewind 返回对象在过去特定时间点的前 10 行:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为该对象在 S3 兼容主机上的路径。 - 将
DURATION替换为过去的某个时间点, 命令会返回该时间点对应的对象。例如,指定30d可返回当前日期前 30 天的对象版本。
需要版本控制
要使用此功能,mc head 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
查看对象指定版本的部分内容
使用 mc head --version-id 返回对象特定版本的前 10 行:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为该对象在 S3 兼容主机上的路径。 - 将
VERSION替换为对象版本。 例如,指定30d可返回当前日期前 30 天的对象版本。
需要版本控制
要使用此功能,mc head 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.108 - mc idp ldap
新增: RELEASE.2023-05-26T23-31-54Z
mc idp ldap and its subcommands replace mc admin idp ldap.
描述
mc idp ldap 命令用于管理第三方 Active Directory 或 LDAP 身份与访问管理(IAM)集成 的配置。
mc idp ldap 命令可作为在 设置 AD/LDAP 连接 时使用环境变量的替代方案。它们仅支持 MinIO 部署。
有关如何使用这些命令的教程,请参阅 Active Directory / LDAP 访问管理。
说明
MinIO AD/LDAP 环境变量 会覆盖通过此命令修改或设置的对应配置项。
mc idp ldap 命令包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.109 - mc idp ldap accesskey
新增: RELEASE.2023-10-30T18-43-32Z
说明
mc idp ldap accesskey 命令可用于列出、删除或显示 LDAP 访问密钥对的信息。
mc idp ldap accesskey 命令仅支持 MinIO 部署。
此命令适用于 AD/LDAP 用户在通过 MinIO 完成身份验证后创建的 访问密钥。
使用 mc idp ldap accesskey create 命令创建 AD/LDAP 服务账户。
MinIO 支持使用 AssumeRoleWithLDAPIdentity 通过 Security Token Service 生成临时访问密钥。
mc idp ldap accesskey 命令包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.110 - mc idp ldap accesskey create-with-login
新增: mc
RELEASE.2024-04-18T16-45-29Z
描述
mc idp ldap accesskey create-with-login 使用基于终端的交互式提示与外部 AD/LDAP 服务器进行身份验证,并生成可供 MinIO 使用的访问密钥。
以下示例会提示用户提供其 AD/LDAP 凭证。 然后使用与该 AD/LDAP 用户关联的一个或多个策略生成新的访问密钥对。
该命令的语法如下:
-
将
URL替换为已配置 AD/LDAP 集成的 MinIO 部署的 FQDN。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
URL
mc-cmd
Required
已配置 AD/LDAP 集成的 MinIO 部署的 FQDN。
例如:
--access-key
mc-cmd
Optional
成功完成身份验证后要使用的访问密钥。 省略此项则由 MinIO 随机生成一个值。
访问密钥不能包含 =(等号)或 ,(逗号)字符。
需要同时指定 --secret-key
--secret-key
mc-cmd
Optional
成功完成身份验证后要使用的 secret key。 省略此项则由 MinIO 随机生成一个值。
需要同时指定 --access-key
--policy
mc-cmd
Optional
账户要使用的 JSON 格式 policy 文件路径。 该策略_不能_授予超出已认证 AD/LDAP 用户关联权限范围之外的额外权限。
省略此项则使用 AD/LDAP 用户关联策略。
--name
mc-cmd
Optional
为创建的访问密钥指定一个便于识别的名称。
--description
mc-cmd
Optional
为服务账户创建描述。 例如,你可以说明该访问密钥存在的原因。
--expiry-duration
mc-cmd
Optional
访问密钥对保持可用的时长,格式为 #d#h#s。
例如,7d、24h、5d12h30s 都是有效字符串。
与 --expiry 互斥。
--expiry
mc-cmd
Optional
访问密钥的过期日期。 以 YYYY-MM-DD 格式输入日期。
例如,要让凭证在 2024 年 12 月 31 日后过期,输入 2024-12-31。
与 --expiry-duration 互斥。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
示例
为已认证用户创建新的访问密钥对
以下命令为 minio 别名下当前已认证用户创建新的访问密钥对。 该命令会输出随机生成的 access key 和 secret key。
使用自定义 access key 和 secret key 创建新的访问密钥对
以下命令为 minio 别名下当前已认证用户创建新的访问密钥对,其中 access key 和 secret key 都由你指定。
创建 24 小时后过期的新访问密钥对
以下命令为 minio 别名下当前已认证用户创建新的访问密钥对。 该凭证会在 24 小时后过期。
该命令会输出随机生成的 access key 和 secret key。
创建在指定日期后过期的新访问密钥对
以下命令为 minio 别名下当前已认证用户创建新的访问密钥对。 该凭证会在 2025 年 2 月 28 日后过期。
该命令会输出随机生成的 access key 和 secret key。
4.111 - mc idp ldap policy
新增: RELEASE.2023-05-26T23-31-54Z
mc idp ldap policy 及其子命令替代 mc admin idp ldap policy。
说明
mc idp ldap policy 命令用于显示策略与关联组或用户之间的映射关系。
mc idp ldap policy 命令仅支持 MinIO 部署。
mc idp ldap policy 命令包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
4.112 - mc idp openid
新增: RELEASE.2023-05-26T23-31-54Z
mc idp openid 及其子命令取代 mc admin idp openid。
描述
mc idp openid 命令允许你管理第三方 OpenID 身份与访问管理(IAM)集成 的配置。
在 设置 OpenID 连接 时,可通过定义配置项作为使用环境变量的替代方式。mc idp openid 命令仅支持 MinIO 部署。
说明
MinIO OpenID 环境变量 会覆盖通过此命令修改或设置的对应配置项。
mc idp openid 命令包含以下子命令:
| 子命令 | 说明 |
|---|---|
mc idp openid add |
创建 OpenID IDP 服务器配置。 |
mc idp openid update |
修改现有 OpenID IDP 服务器配置。 |
mc idp openid rm |
从部署中移除 OpenID IDP 服务器配置。 |
mc idp openid ls |
输出部署中现有 OpenID 服务器配置列表。 |
mc idp openid info |
显示指定 OpenID 服务器配置的详细信息。 |
mc idp openid enable |
启用 OpenID 服务器配置。 |
mc idp openid disable |
禁用 OpenID 服务器配置。 |
配置参数
mc idp openid 子命令支持配置参数。 这些参数定义服务器与 IAM 提供方的交互方式。
有关配置参数的更详细说明,请参阅 配置项文档。
语法
add
mc-cmd
为 OpenID 提供方创建一组新的配置。
你可以多次运行该命令,以设置多个 OpenID 提供方。
添加多个 OpenID 提供方时,只能有一个是基于 JWT Claim 的提供方。 其余都必须是基于角色的提供方。
以下示例为 myminio 部署创建配置项,定义一个新的 test-config 用于 Dex 集成。
update
mc-cmd
修改 OpenID 提供方现有的一组配置。
以下示例修改 myminio 部署中 test-config 的两个配置项,该配置用于 Dex 集成。
rm, remove
mc-cmd
移除 OpenID 提供方现有的一组配置。
以下示例移除 myminio 部署中的 test-config 配置。
ls, list
mc-cmd
输出 OpenID 提供方现有配置集列表。
以下示例输出为 myminio 部署定义的全部 OpenID 配置集列表。
info
mc-cmd
输出 OpenID 提供方现有服务器配置集中定义的一组值。
以下示例输出 myminio 部署中 test_config 这组 OpenID 设置定义的配置项。
enable
mc-cmd
开始使用 OpenID 提供方现有的一组配置。
以下示例启用 myminio 部署中定义为 test_config 的服务器配置。
disable
mc-cmd
停止使用 OpenID 提供方的一组配置。
以下示例禁用 myminio 部署中定义为 test_config 的服务器配置。
全局标志
此命令支持 全局标志 中的任意选项。
4.113 - mc ilm
描述
mc ilm 命令用于管理 MinIO 部署中的 对象生命周期管理规则 和分层。
使用这些命令可以:
子命令
mc ilm 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
4.114 - mc legalhold
描述
mc legalhold 命令用于为一个或多个对象设置、移除或获取 object legal hold (WORM) 配置。
子命令
mc legalhold 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
4.115 - mc license
说明
mc license 命令用于管理 MinIO SUBNET 的集群注册。 可使用这些命令注册部署、显示集群当前许可证信息,或更新集群的许可证密钥。
子命令
mc license 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
使用 |
4.116 - mc ls
语法
mc ls 命令用于列出 MinIO 或其他 S3 兼容服务上的存储桶和对象。
你也可以对本地文件系统使用 mc ls,生成与 ls 命令类似的结果。
以下命令列出 myminio MinIO 部署中 mydata 存储桶内的所有对象 及 对象版本:
输出类似如下:
STANDARD表示存储在 MinIO 部署上的对象WARM表示存储在同名远端层中的对象videos/表示对象的前缀
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 要复制的一个或多个对象。
对于列出 MinIO 上的对象, 指定该对象的 alias 和完整路径 (例如存储桶和对象路径)。例如:
对于列出本地文件系统上的对象,指定该对象的完整路径。 例如:
如果你在 ALIAS 中指定的是目录或存储桶,则还必须 指定 --recursive,以递归列出该目录或存储桶的内容。 如果省略 --recursive 参数,ls 仅列出指定目录或存储桶 顶层的对象。
incomplete, -I
mc-cmd
可选 返回指定 ALIAS 存储桶上的所有未完成上传。
--recursive, r
mc-cmd
可选 递归列出 ALIAS 中各存储桶或目录的内容。
--rewind
mc-cmd
Optional
指示 mc ls 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
同时使用 --rewind 和 --versions,可显示在特定时间点存在的对象版本。
--versions
mc-cmd
Optional
指示 mc ls 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
同时使用 --versions 和 --rewind,可显示在特定时间点存在的对象版本。
--summarize
mc-cmd
可选 显示指定 ALIAS 路径的汇总信息。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶内容
使用 mc ls 列出存储桶内容:
-
将
PATH替换为 S3 兼容主机上 存储桶的路径。如果指定的是 S3 根路径(仅
ALIAS),请包含--recursive选项。
列出对象版本
使用 mc ls --versions 列出对象的所有版本:
需要版本控制
要使用此功能,mc ls 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
列出某个时间点的存储桶内容
使用 mc ls --versions 列出对象的所有版本:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为 S3 兼容主机上 存储桶或对象的路径。 - 将
DURATION替换为过去的某个时间点, 命令将在该时间点返回对象。例如,指定30d以返回相对于当前日期 往前 30 天的对象版本。
需要版本控制
要使用此功能,mc ls 需要启用 存储桶版本控制。 请使用 mc version 在存储桶上启用版本控制。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.117 - mc mb
语法
mc mb 命令在指定路径创建新的存储桶或目录。
你也可将 mc mb 用于本地文件系统,实现与 mkdir -p 命令行工具类似的效果。
以下命令会在 myminio MinIO 部署上创建一个新的存储桶 mydata。 该命令创建的存储桶将 启用对象锁定。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要在其上创建新存储桶的 MinIO 或其他 S3 兼容服务。
如果要在 MinIO 上创建存储桶,请指定 alias 和存储桶名称。例如:
如果要在本地文件系统上创建目录,请指定该目录的完整 路径。例如:
--ignore-existing, p
mc-cmd
Optional
指示 mc mb 在存储桶或目录已存在时不执行任何操作。
--region
mc-cmd
Optional
指定创建存储桶的区域。 如果指定的 ALIAS 是文件系统目录,则该选项无效。
如果未指定,默认值为 us-east-1。
--with-lock, l
mc-cmd
Optional
在指定存储桶上启用 对象锁定。 对象锁定要求并因此隐含启用对象版本控制。
--with-versioning
mc-cmd
Optional
在新存储桶上启用 对象版本控制。 启用版本控制后,默认情况下 MinIO 允许每个对象的版本数最多达到 Int64 最大值,即超过 9.2 quintillion。 可定义 对象过期 规则,清理不再需要的对象版本,例如按版本数量或版本日期删除。
存储桶复制 或 站点复制 需要版本控制。 版本控制不隐含也不要求对象锁定。
全局标志
此命令支持 全局标志 中的任意选项。
示例
创建启用对象锁定的存储桶
使用 mc mb 在 S3 兼容主机上创建存储桶。 --with-lock 选项创建启用锁定的存储桶:
在指定区域创建新存储桶
使用 mc mb 在 S3 兼容主机上创建存储桶。 --region 选项在目标区域创建该存储桶。
上述命令会在 us-west-2 区域中的 myminio 上创建新存储桶 mynewbucket。
创建启用版本控制的新存储桶
上述命令会在 myminio alias 上创建新的存储桶 myversionedbucket。 新存储桶为桶内所有对象启用 对象版本控制。
行为
每个部署的存储桶限制
MinIO 不限制你在单个部署上可创建的存储桶数量。 但作为通用指导,MinIO 建议每个部署的存储桶数量不超过 500,000。
非 MinIO S3 服务的存储桶限制
某些 S3 服务可能限制单个用户或账户可创建的存储桶数量。 例如,Amazon S3 将每个账户限制为 100 buckets。如果用户在目标 S3 服务上达到存储桶上限,mc mb 可能返回错误。
MinIO 对象存储部署不限制每个用户可创建的 存储桶数量。
在创建存储桶时启用对象锁定
MinIO 遵循 AWS S3 behavior, 要求你 必须 在创建存储桶时启用 对象锁定。 未启用对象锁定创建的存储桶 永远 无法启用对象保留或锁定。
启用存储桶锁定并 不会 设置任何对象锁定或保留配置。 建议将启用存储桶锁定作为标准实践。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.118 - mc mirror
语法
mc mirror 命令用于将内容同步到 MinIO 部署,类似于 rsync 工具。 mc mirror 支持以文件系统、MinIO 部署和其他 S3 兼容主机作为同步源。
说明
mc mirror 仅同步当前对象,不包含任何版本信息或元数据。 若要同步对象的版本历史和元数据,可考虑对 bucket replication 使用 mc replicate,或对 site replication 使用 mc admin replicate。
以下命令将本地文件系统目录中的内容同步到 myminio MinIO 部署上的 mydata 存储桶。
该命令会“监视”本地文件系统中新增或删除的文件,并将这些操作同步到 MinIO,直到显式终止。
mc mirror --watch 会把本地文件系统中发生变更的文件更新到 MinIO(参见 --overwrite)。 --watch 不会删除 MinIO 中本地文件系统不存在的其他文件(参见 --remove)。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
SOURCE
mc-cmd
Required
要同步到 TARGET S3 主机的文件或对象。
对于 S3 兼容主机上的对象,请将对象路径指定为 ALIAS/PATH,其中:
对于文件系统中的文件,请指定文件或目录的完整文件系统路径:
若指定的是目录,mc mirror 会同步该目录中的所有文件。
TARGET
mc-cmd
Required
mc mirror 用于同步 SOURCE 对象的目标存储桶完整路径。将 TARGET 指定为 ALIAS/PATH,其中:
ALIAS是已配置 S3 兼容主机的alias,并且PATH是存储桶路径。
mc mirror 在同步到 TARGET 存储桶时,会使用 SOURCE 中对象或文件的名称。
--active-active
mc-cmd
Optional
在两个站点之间建立 active-active 镜像活动。 必须在每个站点上重复执行该命令。
例如:
在站点 A 上,将 A 镜像到 B
在站点 B 上,将 B 镜像到 A
--attr
mc-cmd
Optional
为镜像对象添加自定义元数据。将键值对指定为 KEY=VALUE\;。 例如:--attr key1=value1\;key2=value2\;key3=value3。
--checksum
mc-cmd
Optional
新增: RELEASE.2024-10-02T08-27-28Z
为上传对象添加校验和。
有效值为: - MD5 - CRC32 - CRC32C - SHA1 - SHA256
该标志要求服务端支持 trailing headers,并适用于 AWS 或 MinIO 目标。
--disable-multipart
mc-cmd
Optional
为本次同步会话禁用 multipart 上传。
--dry-run
mc-cmd
Optional
执行一次模拟镜像操作。 使用该操作可测试 mc mirror 是否只会镜像预期的对象或存储桶。
--enc-kms
mc-cmd
使用客户端管理的密钥,通过服务端 SSE-KMS 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定外部 KMS 上已有的数据密钥。 关于如何创建数据密钥,请参见 |
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-s3
mc-cmd
Optional
使用 KMS 管理的密钥,通过服务端 SSE-S3 加密 对对象进行加密或解密。 指定对象的完整路径,格式为 alias/bucket/prefix/object。
例如:
你可以多次指定该参数,以表示不同的待加密对象:
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--exclude
mc-cmd
Optional
排除 SOURCE 路径中与指定对象 name pattern 匹配的对象。
--exclude-bucket
mc-cmd
Optional
新增: mc
RELEASE.2024-03-03T00-13-08Z
排除 SOURCE 路径中与指定存储桶 name pattern 匹配的存储桶。
--exclude-storageclass
mc-cmd
Optional
排除 SOURCE 上具有指定存储类的对象。 可在同一命令中多次使用该标志,以排除多个存储类中的对象。
可用于排除需要重新水化或恢复的存储类对象,例如从 AWS S3 存储桶迁移时,某些对象使用 GLACIER 或 DEEP_ARCHIVE 存储类。
--limit-download
mc-cmd
Optional
将客户端侧下载速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响下载到运行 MinIO Client 的本地设备的速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将下载速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的下载速率。
--limit-upload
mc-cmd
Optional
将客户端侧上传速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响从运行 MinIO Client 的本地设备发起的上传速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将上传速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的上传速率。
--md5
mc-cmd
Optional
强制所有上传计算 MD5 校验和。
--monitoring-address
mc-cmd
Optional
创建一个用于监控镜像活动的 Prometheus endpoint。 指定创建抓取 endpoint 的本地网络适配器和端口地址。 默认为 localhost:8081)。
--newer-than
mc-cmd
Optional
仅镜像比指定天数更新的对象。 以 #d#hh#mm#ss 格式指定字符串 例如:--newer-than 1d2hh3mm4ss。
--older-than
mc-cmd
Optional
仅镜像早于指定时间阈值的对象。 以 #d#hh#mm#ss 格式指定字符串。 例如:--older-than 1d2hh3mm4ss。
默认为 0(所有对象)。
--overwrite
mc-cmd
Optional
覆盖 TARGET 上的对象。
例如,设想一个正在运行的 mc mirror --overwrite,将内容从 Source 同步到 Destination。
如果 Source 上的对象发生变更,mc mirror --overwrite 会同步并覆盖 Destination 上的同名文件。
如果不使用 --overwrite,当对象已存在于 Destination 时,镜像进程将无法同步该对象。 mc mirror 会记录错误并继续同步其他对象。
--preserve, a
mc-cmd
Optional
在 TARGET 上保留 SOURCE 的文件系统属性和存储桶策略规则。
--region
mc-cmd
Optional
在目标端创建新存储桶时,指定 string 区域。
默认为 "us-east-1"。
--remove
mc-cmd
Optional
删除 Target 上 Source 中不存在的对象。
使用 --remove 标志可使 Source 和 Target 拥有相同的对象列表。
例如,Source 上存在对象 A、B、C。 Target 上存在对象 C、D、E。
运行 mc mirror --remove 时,对象 A 和 B 会同步到 Target,对象 D 和 E 会从 Target 删除。 由于对象 C 在两端都已存在,不会有任何内容从 Source 移动到 Target。
操作完成后,Source 和 Target 上都只存在对象 A、B、C。
mc mirror --remove 不会校验对象 C 在 Source 和 Target 上的内容是否一致,只检查两端是否都存在名为 C 的对象。 若要确保 Source 与 Target 上对象的名称和内容都一致,请使用 --overwrite 或 --watch。
变更: RELEASE.2023-05-04T18-10-16Z
如果目标路径是不存在的本地文件系统目录,mc mirror --remove 会返回错误。
在早期版本中,如果 directory 不存在,指定 /path/to/directory 会导致删除 /path/to 文件夹。
--retry
mc-cmd
Optional
镜像过程中出现错误时,对每个出错对象执行重试。
--storage-class, sc
mc-cmd
Optional
为 TARGET 上的新对象设置存储类。
有关 S3 存储类的更多信息,请参阅 Amazon 文档:Storage Classes。
--skip-errors
mc-cmd
Optional
新增: mc
RELEASE.2024-01-28T16-23-14Z
跳过镜像过程中产生错误的对象。
--summary
mc-cmd
Optional
完成后输出已同步数据的摘要。
--watch, w
mc-cmd
Optional
使用 --watch 标志可将对象从 Source 镜像到 Target,且 Target 也可以包含 Source 中不存在的其他对象。
--watch会持续将文件从 Source 同步到 Target,直到显式终止- Target 可以包含 Source 中不存在的文件
- 若 Source 中存在同名对象,
--watch会覆盖 Target 上的对象,行为类似--overwrite
默认为 0(所有对象)。
例如,被监视的 Source 上存在对象 A 和 B。 被监视的 Target 上存在对象 A、B、C。
某客户端向 Source 写入对象 D,并删除对象 B。
操作后,Source 上存在对象 A 和 D。 Target 上存在对象 A、C、D。
全局标志
此命令支持 全局标志 中的任意选项。
示例
将本地目录镜像到 S3 兼容主机
使用 mc mirror 将文件从文件系统镜像到 S3 主机:
持续将本地目录镜像到 S3 兼容主机
将 mc mirror 与 --watch 一起使用,可持续将文件从文件系统镜像到 S3 兼容主机;文件系统中新增或删除的对象会在主机端同步新增或删除:
持续将 S3 存储桶镜像到 S3 兼容主机
将 mc mirror 与 --watch 一起使用,可持续将一个 S3 兼容主机上某个存储桶中的对象镜像到另一个 S3 兼容主机;存储桶中新增或删除的对象会同步到目标主机。
- 将
SRCALIAS替换为已配置 S3 兼容主机的alias。 - 将
SRCPATH替换为要镜像的存储桶。 - 将
TGTALIAS替换为已配置 S3 兼容主机的alias。 - 将
TGTPATH替换为目标存储桶。
将对象从 AWS S3 镜像到 MinIO,并跳过 GLACIER 中的对象
将 mc mirror 与 --exclude-storageclass 一起使用,可将对象从 AWS S3 镜像到 MinIO,同时不镜像 GLACIER 或 DEEP_ARCHIVE 存储中的对象。
- 将
SRCALIAS替换为已配置 S3 主机的alias。 - 将
SRCPATH替换为要镜像的存储桶。 - 将
TGTALIAS替换为已配置 S3 主机的alias。 - 将
TGTPATH替换为目标存储桶。
行为
对象失败时镜像继续执行
如果目标上存在同名对象,MinIO 会为重复对象输出错误。 发生错误后,mc mirror 会继续将其他对象从源端镜像到目标端。
对象删除时 MinIO 会裁剪空前缀
mc mirror --watch 命令会持续同步源端和目标端中新增与删除的对象。 这也包括在源端删除对象时,自动删除目标端对应对象。
如需将源端更新的对象同步更新到目标端,请使用 –overwrite。 如需删除目标端中源端不存在的对象,请使用 –remove。
mc mirror --watch 依赖 mc 的删除 API 来移除对象。在删除存储桶前缀中的最后一个对象时, mc 还会递归删除直到存储桶根为止的每一个空前缀。mc 只会对在对象写入 操作过程中 隐式 创建的前缀执行这种递归删除,也就是说,该前缀不是通过 mc mb 这类显式目录创建命令创建的。
例如,假设存储桶 photos 中有以下对象前缀:
photos/2021/january/myphoto.jpgphotos/2021/february/myotherphoto.jpgphotos/NYE21/NewYears.jpg
photos/NYE21 是 唯一 通过 mc mb 显式创建的前缀。其余所有前缀 都是在向该前缀写入对象时 隐式 创建的。
如果某个 mc 命令删除了 myphoto.jpg,删除 API 会自动裁剪空的 /january 前缀。如果后续某个 mc 命令又删除了 myotherphoto.jpg, 删除 API 会自动裁剪 /february 前缀,以及此时已经为空的 /2021 前缀。 如果某个 mc 命令删除了 NewYears.jpg,由于 /NYE21 是 显式 创建的,因此该前缀会保留不变。
如果将 mc mirror --watch 用于文件系统操作,mc 也会采用相同行为,递归裁剪直到 根目录的所有空目录。不过,mc 的删除 API 无法区分某个目录路径是显式 创建的,还是隐式创建的。如果 mc mirror --watch 删除了某个文件系统路径上的最后一个对象, mc 会在删除过程中递归删除从该路径向上直到根目录的所有空目录。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.119 - mc mv
语法
mc mv 命令将对象从源移动到目标,例如在不同 MinIO 部署之间移动,或 在同一 MinIO 部署的不同存储桶之间移动。 mc mv 还支持在本地文件系统与 MinIO 之间移动对象。
你也可以对本地文件系统使用 mc mv,以获得与 mv 命令行工具类似的结果。
以下命令将对象从 mydata 存储桶移动到 myminio MinIO 部署上的 archive 存储桶:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
SOURCE
mc-cmd
:required:
mc-cmd
要移动的一个或多个对象。
若要从 MinIO 存储桶移动对象,请指定 alias 以及对象的完整路径(例如存储桶和对象路径)。例如:
若要从本地文件系统移动对象,请指定该对象的完整路径。例如:
指定多个
SOURCE路径可将多个对象移动到指定的TARGET。mc rm将 最后一个 指定的 alias 或文件系统路径 视为TARGET。例如:如果你为
SOURCE指定的是目录或存储桶, 则还必须指定--recursive以递归移动该目录内容。 如果省略--recursive参数,mv仅会移动 指定目录或存储桶顶层中的对象。
TARGET
mc-cmd
Required
命令会将指定 SOURCE 的对象移动到该存储桶, 这里填写该存储桶的完整路径。请将已配置 S3 服务的 alias 作为 TARGET 路径前缀。
若要从 MinIO 移动对象,请指定 alias 以及对象的完整路径(例如存储桶和对象路径)。例如:
若要从本地文件系统移动对象,请指定该对象的完整路径。例如:
TARGET 对象名可以不同于 SOURCE, 以便在移动操作中同时“重命名”对象。
如果以 --recursive 选项运行 mc mv, mc mv 会将 TARGET 视为 SOURCE 下所有对象的存储桶前缀。
--attr
mc-cmd
Optional
为对象添加自定义元数据。将键值对指定为 KEY=VALUE\;。 例如,--attr key1=value1\;key2=value2\;key3=value3。
--disable-multipart
mc-cmd
Optional
禁用 multipart upload 功能。
Multipart upload 会将对象拆分为多个独立分片。 每个分片可独立上传,且顺序不限。 如果任一分片上传失败,MinIO 会仅重试该分片而不影响其他分片。 上传完成后,这些分片会合并还原为原始对象。
MinIO 建议对大于 100 MB 的对象使用 multipart upload。 有关 multipart upload 的更多信息,请参阅 Amazon S3 documentation
--enc-kms
mc-cmd
使用客户端管理的密钥,通过服务端 SSE-KMS 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定外部 KMS 上已有的数据密钥。 关于如何创建数据密钥,请参见 |
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-s3
mc-cmd
Optional
使用 KMS 管理的密钥,通过服务端 SSE-S3 加密 对对象进行加密或解密。 指定对象的完整路径,格式为 alias/bucket/prefix/object。
例如:
你可以多次指定该参数,以表示不同的待加密对象:
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--limit-download
mc-cmd
Optional
将客户端侧下载速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响下载到运行 MinIO Client 的本地设备的速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将下载速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的下载速率。
--limit-upload
mc-cmd
Optional
将客户端侧上传速率限制为不超过指定值,单位可以是 KiB/s、MiB/s 或 GiB/s。 这只影响从运行 MinIO Client 的本地设备发起的上传速度。 有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示二进制千字节Mi表示二进制兆字节Gi表示二进制吉字节Ti表示二进制太字节
例如,如需将上传速率限制为不超过 1 GiB/s,请使用以下命令:
如果未指定,MinIO 将使用不受限制的上传速率。
--newer-than
mc-cmd
Optional
删除比指定天数更新的对象。指定格式为 ##d#hh#mm#ss 的字符串。例如: --newer-than 1d2hh3mm4ss。
默认为 0(所有对象)。
--older-than
mc-cmd
Optional
删除早于指定时间限制的对象。指定格式为 #d#hh#mm#ss 的字符串。例如:--older-than 1d2hh3mm4ss。
默认为 0(所有对象)。
--preserve, a
mc-cmd
Optional
保留 SOURCE 目录、存储桶和对象在文件系统上的属性 以及存储桶策略规则,并应用到 TARGET 存储桶。
--recursive, r
mc-cmd
Optional
将每个 SOURCE 存储桶或目录的内容 递归移动到 TARGET 存储桶。
--storage-class
mc-cmd
Optional
为 TARGET 上的新对象设置存储类别。
有关 S3 storage class 的更多信息,请参阅 Amazon 文档 Storage Classes。
全局标志
此命令支持 全局标志 中的任意选项。
示例
将文件从文件系统移动到 S3-Compatible Host
-
将
FILEPATH替换为要移动文件的完整文件路径。如果指定的是目录路径,请包含
--recursive标志。mc mv在成功移动到目标后,会从源中 移除 这些文件。 -
将
PATH替换为目标存储桶。
将文件从文件系统移动到 S3-Compatible Host 并附带自定义元数据
使用带 --attr 选项的 mc mv, 可为文件设置自定义属性。
- 将
FILEPATH替换为要移动文件的完整文件路径。mc mv在成功移动到目标后,会从源中 移除 该文件。 - 将
ALIAS替换为已配置 S3-compatible host 的alias。 - 将
PATH替换为目标存储桶。 - 将
ATTRIBUTES替换为一个或多个逗号分隔的 键值对KEY=VALUE。每个键值对表示一个属性键及其值。
在 S3-Compatible 服务之间移动存储桶
- 将
SRCALIAS替换为已配置 S3-compatible host 的alias。 - 将
SRCPATH替换为存储桶路径。mc mv在成功移动到目标后,会从源中 移除 该存储桶及其内容。 - 将
TGTALIAS替换为已配置 S3-compatible host 的alias。 - 将
TGTPATH替换为存储桶路径。
将文件移动到 S3-Compatible Host 并指定存储类别
使用带 --storage-class 选项的 mc mv, 可在目标 S3-compatible host 上设置存储类别。
-
将
CLASS替换为要 关联到文件的存储类别。 -
将
PATH替换为目标存储桶。 -
将
ATTRIBUTES替换为一个或多个逗号分隔的 键值对KEY=VALUE。每个键值对表示一个属性键及其值。mc mv –storage-class REDUCED_REDUNDANCY myobject.txt play/mybucket
行为
移动时的对象名称
如果未显式指定目标对象名,在将对象移动到 TARGET 时,MinIO 会使用 SOURCE 的对象名。
你可以在相同对象路径下,为 TARGET 指定不同的对象名,以在移动时“重命名”对象。例如:
对于递归移动操作(mc mv --recursive),MinIO 会将 TARGET 路径视为 SOURCE 上对象的前缀。
校验和验证
mc mv 使用 MD5SUM 校验和验证所有到对象存储的移动操作。
MinIO 在对象删除时会裁剪空前缀
mc mv 依赖 mc 的删除 API 来移除对象。在删除存储桶前缀中的最后一个对象时, mc 还会递归删除直到存储桶根为止的每一个空前缀。mc 只会对在对象写入 操作过程中 隐式 创建的前缀执行这种递归删除,也就是说,该前缀不是通过 mc mb 这类显式目录创建命令创建的。
例如,假设存储桶 photos 中有以下对象前缀:
photos/2021/january/myphoto.jpgphotos/2021/february/myotherphoto.jpgphotos/NYE21/NewYears.jpg
photos/NYE21 是 唯一 通过 mc mb 显式创建的前缀。其余所有前缀 都是在向该前缀写入对象时 隐式 创建的。
如果某个 mc 命令删除了 myphoto.jpg,删除 API 会自动裁剪空的 /january 前缀。如果后续某个 mc 命令又删除了 myotherphoto.jpg, 删除 API 会自动裁剪 /february 前缀,以及此时已经为空的 /2021 前缀。 如果某个 mc 命令删除了 NewYears.jpg,由于 /NYE21 是 显式 创建的,因此该前缀会保留不变。
如果将 mc mv 用于文件系统操作,mc 也会采用相同行为,递归裁剪直到 根目录的所有空目录。不过,mc 的删除 API 无法区分某个目录路径是显式 创建的,还是隐式创建的。如果 mc mv 删除了某个文件系统路径上的最后一个对象, mc 会在删除过程中递归删除从该路径向上直到根目录的所有空目录。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.120 - mc od
语法
mc od 命令将本地文件按指定的分片数量与分片大小复制到远程位置。 该命令会输出上传该文件所耗费的时间。
使用 mc od 可模拟 Linux dd 命令的功能。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
if
mc-cmd
Required
用于上传的源对象路径。 使用相对于当前位置的完整路径。
of
mc-cmd
Required
上传对象的完整目标路径。
size
mc-cmd
Optional
文件上传时每个分片的大小。 如未指定,MinIO 会根据源流确定分片大小。
parts
mc-cmd
Optional
上传时将对象拆分成的分片数量。 如未指定,MinIO 会根据源流大小确定分片数量。
skip
mc-cmd
Optional
上传过程中要跳过的文件分片数量。 例如,可使用该选项仅上传对象的一部分分片,以测试一个大文件(分片较多)的上传速度。
全局参数
此命令支持 全局标志 中的任意选项。
示例
以 40MiB 分片上传完整文件
使用 mc od 可按指定大小的一组分片将文件上传到 MinIO。 size 选项用于指定期望的分片大小。
- 将
myminio/mybucket/file.zip替换为要上传的对象或文件流路径。 - 将
size替换为期望的对象分片大小。
MinIO 会检查源文件并将其拆分为所需数量的分片,确保没有任何分片超过指定的 40MiB 分片大小。
上传文件的前五个 40 MiB 分片
使用 mc od 可按指定分片大小,将文件的部分分片上传到 MinIO。 size 选项用于指定期望的分片大小。 parts 选项用于指定该对象要使用的总分片数。
在该命令示例中,如果源对象流大于 200MiB(40MiB × 5 个分片),则仅上传文件的前 200MiB。
重要
以这种方式使用该命令可能无法上传对象的全部内容。
将完整文件分 5 个分片上传
将源文件拆分为指定数量的分片,然后把文件的所有分片上传到 MinIO 目标位置。
上述命令会将源文件均分为五个分片,然后上传这些分片。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.121 - mc ping
语法
mc ping 命令对指定目标执行存活性检查。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令应运行所在位置的 alias 或前缀完整路径。
--count
mc-cmd
Optional
指定执行检查的次数。
如果未指定,存活性检查会持续执行,直到手动停止。
--error-count
mc-cmd
Optional
指定在退出前允许出现的错误次数。
例如,要在出现五次错误后停止 ping 进程,请使用:
--exit
mc-cmd
Optional
新增: RELEASE.2023-05-30T22-41-38Z
在首次检查成功后退出。
--interval
mc-cmd
Optional
指定请求之间的等待时间(秒)。
默认情况下,命令在两次请求之间等待 1 秒。
--distributed
mc-cmd
Optional
向 MinIO 集群中的所有服务器发送请求。
说明
在可直接访问每个节点或 Pod 的分布式部署中使用此选项。 当节点位于服务(例如负载均衡器)之后时,此标志不起作用。
全局标志
此命令支持 全局标志 中的任意选项。
示例
返回 5 次请求的延迟与存活性
以下命令对别名为 myminio 的部署发送五次存活性检查,输出每次检查结果后结束。
每次请求间隔 5 分钟持续发送存活性检查
以下命令持续发送存活性检查请求,且每次请求之间间隔 5 分钟(300 秒)。
错误次数达到 20 后结束存活性检查
以下命令持续发送存活性检查,直到累计出现 20 次错误:
4.122 - mc pipe
语法
mc pipe 命令将内容从 STDIN 流式传输到目标对象。
以下命令将 STDIN 的内容写入 S3 兼容存储。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
变更: RELEASE.2023-01-11T03-14-16Z
mc pipe 现已支持并发上传,以提升大流式数据的吞吐量。
参数
TARGET
mc-cmd
Required
命令应运行的 alias 或前缀完整路径。
--attr
mc-cmd
Optional
为对象添加自定义元数据。
将键值对指定为 KEY=VALUE\;,每对之间用反斜杠加分号(\;)分隔。 例如:--attr key1=value1\;key2=value2\;key3=value3。
--checksum
mc-cmd
Optional
新增: RELEASE.2024-10-02T08-27-28Z
为上传的对象添加校验和。
有效值为: - MD5 - CRC32 - CRC32C - SHA1 - SHA256
该标志依赖服务器 trailing headers,并可用于 AWS 或 MinIO 目标。
--enc-kms
mc-cmd
使用客户端管理的密钥,通过服务端 SSE-KMS 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定外部 KMS 上已有的数据密钥。 关于如何创建数据密钥,请参见 |
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-s3
mc-cmd
Optional
使用 KMS 管理的密钥,通过服务端 SSE-S3 加密 对对象进行加密或解密。 指定对象的完整路径,格式为 alias/bucket/prefix/object。
例如:
你可以多次指定该参数,以表示不同的待加密对象:
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--storage-class, --sc
mc-cmd
Optional
为 TARGET 处的新对象设置存储类别。
关于 S3 存储类别的更多信息,请参见 Amazon 文档。
--tags
mc-cmd
Optional
为 TARGET 应用一个或多个标签。
将键值对列表指定为 KEY1=VALUE1&KEY2=VALUE2,其中每一对表示分配给对象的一个标签。
全局标志
此命令支持 全局标志 中的任意选项。
示例
将 STDIN 内容写入本地文件系统
以下命令将 STDIN 的内容写入本地文件系统中的 /tmp 文件夹。
将 ISO 镜像复制到 S3 存储
以下命令先流式读取 Debian 的 ISO 镜像内容,然后使用该数据流在 S3 路径创建对象。
将 MySQL 数据库转储流式传输到 S3
以下命令先流式传输 MySQL 数据库,再通过 mc pipe 使用该数据流在 S3 上创建备份:
将文件写入 Reduced Redundancy 存储类别
以下命令读取 STDIN 数据流,并在 S3 的 Reduced Redundancy 存储类别中创建对象。
将文件连同元数据复制到 MinIO 部署
以下命令将 MP3 文件上传到 ALIAS 为 myminio、存储桶为 music 的 MinIO 部署。 写入对象时附带 Cache-Control 和 Artist 元数据。
为上传对象设置标签
以下命令在 ALIAS 为 myminio 的 MinIO 部署中,于 mybucket 存储桶创建一个带两个标签的对象。 MinIO 支持为对象最多添加 10 个自定义标签。
4.123 - mc put
新增: mc
RELEASE.2024-02-24T01-33-20Z
语法
mc put 将对象从本地文件系统上传到目标 S3 部署中的存储桶。
与 mc cp 或 mc mirror 相比,mc put 为文件上传提供了更简化的接口。 mc put 使用单向上传机制,以牺牲效率为代价换取相较其他命令更低的复杂度。
以下示例将本地文件系统路径 ~/images/collateral/ 下的文件 logo.png 上传到别名为 minio 的 MinIO 部署中名为 marketing 的存储桶。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令应执行位置的 alias 或前缀的完整路径。 TARGET 必须 包含 alias 和 bucket 名称。
TARGET 还可以包含以下可选组成部分: - 对象应上传到的 PREFIX - 用于替代文件名的 OBJECT-NAME
有效的 TARGET 可以采用以下任一形式: - ALIAS/BUCKET - ALIAS/BUCKET/PREFIX - ALIAS/BUCKET/OBJECT-NAME - ALIAS/BUCKET/PREFIX/OBJECT-NAME
--checksum
mc-cmd
Optional
新增: RELEASE.2024-10-02T08-27-28Z
为上传对象添加校验和。
可选值包括: - MD5 - CRC32 - CRC32C - SHA1 - SHA256
该标志需要服务器支持 trailing headers,并可用于 AWS 或 MinIO 目标。
--disable-multipart
mc-cmd
Optional
新增: RELEASE.2024-10-02T08-27-28Z
禁用分段上传,并指示 mc 通过单次 PUT 操作发送对象。
--enc-kms
mc-cmd
使用客户端管理的密钥,通过服务端 SSE-KMS 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定外部 KMS 上已有的数据密钥。 关于如何创建数据密钥,请参见 |
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-s3
mc-cmd
Optional
使用 KMS 管理的密钥,通过服务端 SSE-S3 加密 对对象进行加密或解密。 指定对象的完整路径,格式为 alias/bucket/prefix/object。
例如:
你可以多次指定该参数,以表示不同的待加密对象:
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--parallel, --P
mc-cmd
Optional
对于分段上传,指定对象分段并行上传的数量。
如未定义,默认值为 4。
--part-size, -s
mc-cmd
Optional
指定分段上传中每个分段使用的大小。
如未定义,默认值为 16MiB。
--storage-class, -sc
mc-cmd
Optional
为上传对象设置存储类。
有关存储类的更多信息,请参见 Standard Storage Class。
全局标志
此命令支持 全局标志 中的任意选项。
示例
上传文件并指定对象名称
以下命令将本地文件系统中的文件 logo.png 上传到 minio 部署的 business 存储桶,并在目标端命名为 company-logo.png。
按指定分段大小并行上传分段对象
以下命令以每段 20MiB 的分块方式上传文件,并行上传其中 8 个分段。 系统会持续按批次上传 8 个分段,直到对象的所有分段均上传完成。
4.124 - mc rb
语法
mc rb 命令用于删除 MinIO 或 其他兼容 S3 服务上的一个或多个存储桶。
如仅需删除存储桶内容,请改用 mc rm。
你也可以对本地文件系统使用 mc rb,其效果与 rm --rf 命令行工具类似。
以下命令删除 myminio MinIO 部署上的 mydata 存储桶:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 MinIO 或其他兼容 S3 服务的 alias,以及要删除的存储桶完整路径。例如:
省略存储桶路径可对 MinIO 部署执行站点范围的存储桶删除操作。 此操作 必须 指定 --dangerous,以明确确认会永久删除该部署上的 全部 数据。例如:
若要删除本地文件系统上的目录及其内容,请指定该目录的完整路径。 如果指定了 --force 标志,也会被忽略。例如:
你可以指定多个 ALIAS 目标,目标可以是 MinIO 或本地文件系统目录。 命令会尝试删除 所有 指定目标。例如:
--force
mc-cmd
必需 用于确认删除存储桶内容的安全标志。
--dangerous
mc-cmd
可选 指示 mc rb 在每个指定的 ALIAS(例如 myminio/)上执行站点范围的全部存储桶删除。
如果任一 ALIAS 指定的是文件系统目录,此选项会删除该目录路径下的所有子目录和文件,效果类似 rm --rf。
警告
执行 mc rb --dangerous 不可逆。 在执行前请尽可能审慎核对,确保命令仅作用于预期的 ALIAS 目标。
全局标志
此命令支持 全局标志 中的任意选项。
示例
删除存储桶
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.125 - mc ready
语法
mc ready 命令用于检查集群状态,以及集群是否具有 read 和 write quorum。
以下命令向别名为 myminio 的集群发送 GET 请求,并返回其状态。
该命令会向 alias myminio 对应的部署发送 GET 请求。 该命令会重复发送请求,直到成功为止。
在别名 myminio 对应的集群就绪之前,输出类似如下:
当请求成功连接到 myminio 部署后,输出类似如下:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令运行目标的完整路径,可为 alias 或前缀。
--cluster-read
mc-cmd
Optional
检查集群是否具有足够的 quorum 来处理 READ 请求。
--maintenance
mc-cmd
Optional
检查当该别名对应节点因维护下线时,集群是否仍可维持 read 和 write quorum。
对预期下线维护的具体节点使用其 alias,而不要使用指向负载均衡器的 alias。
全局标志
此命令支持 全局标志 中的任意选项。
示例
检查集群是否具有 read quorum
以下命令检查某个部署是否有足够可用驱动器来执行读取操作。
检查集群是否处于维护下线场景
以下命令检查当别名 myminio 对应节点下线时,集群在维护期间是否仍可维持 read 和 write quorum。
4.126 - mc replicate
说明
mc replicate 命令用于为 MinIO 部署配置和管理 服务端存储桶复制,包括 双活复制配置 和 重新同步。
说明
对于多站点复制,请参见 mc admin replicate。
子命令
mc replicate 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.127 - mc retention
描述
mc retention 命令用于为存储桶中的一个或多个对象配置 Write-Once Read-Many (WORM) locking 设置。 你还可以为存储桶设置默认的对象锁定设置;未显式配置对象锁定设置的所有对象都会继承该存储桶默认值。
子命令
mc retention 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
4.128 - mc rm
语法
mc rm 命令用于从 MinIO 部署的存储桶中 删除对象。 如需彻底删除存储桶,请改用 mc rb。
你也可以对本地文件系统使用 mc rm,以获得与 rm 命令行工具类似的结果。
有关 MinIO 如何对对象执行 DELETE 操作的更多信息,请参见 对象删除。
以下命令从 myminio MinIO 部署的 mydata 存储桶中删除多个对象:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc rm --force 是多个参数的必需项。 mc rm --version-id 与多个 参数互斥。更多信息请参见参考文档。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要删除对象的完整路径。 例如:
你可以在同一个或不同的 MinIO 部署上指定多个对象。 例如:
如果指定的是存储桶或存储桶前缀路径,必须 同时 指定 --recursive 和 --force 参数。例如:
建议先使用 --dry-run 标志运行命令,验证 递归删除操作的范围。
若要从本地文件系统删除文件,请指定该文件的完整路径:
--bypass
mc-cmd
Optional
允许删除受 GOVERNANCE 对象锁保护的对象。
--dangerous
mc-cmd
Optional
当 ALIAS 指定 MinIO 部署的根路径(所有存储桶)时, 允许执行 mc rm。
与 --versions 结合使用时, 此标志会指示 mc rm 永久删除 ALIAS 目标中的所有对象 以及 所有版本。
建议先使用 --dry-run 运行命令, 验证站点范围删除操作的范围。
警告
搭配 --versions 标志运行 mc rm --dangerous 是不可逆操作。执行前请尽可能 审慎核查,确保命令只应用于预期的 ALIAS 目标。
--dry-run
mc-cmd
Optional
输出命令结果,但不会实际删除任何文件。 使用此标志可测试命令配置是否仅删除你希望删除的对象。
--force
mc-cmd
Optional
允许 mc rm 与以下任一参数一起运行:
--incomplete, I
mc-cmd
Optional
删除指定对象的不完整上传。
如果任一 ALIAS 指定了存储桶, 则 必须 同时指定 --recursive 和 --force。
--newer-than
mc-cmd
Optional
删除新于指定时长的对象。请使用 #d#hh#mm#ss 格式的字符串。例如:--newer-than 1d2hh3mm4ss
默认为 0(所有对象)。
--non-current
mc-cmd
Optional
对未启用 版本控制 的存储桶,此选项无效。
--older-than
mc-cmd
Optional
删除早于指定时间限制的对象。请使用 #d#h#m#s 格式的字符串。例如:--older-than 1d2h3m4s。
默认为 0(所有对象)。
--recursive, r
mc-cmd
Optional
递归删除每个 ALIAS 存储桶或存储桶前缀的内容。
如果指定 --recursive,则 必须 同时 指定 --force。
对启用了 版本控制 的存储桶, 此选项默认会为每个被删除对象生成一个删除标记。 添加 --versions 标志可递归删除存储桶中的 所有对象 以及 对象版本。
建议先使用 --dry-run 标志运行命令,验证 递归删除操作的范围。
与 mc rm --version-id 互斥
--rewind
mc-cmd
Optional
指示 mc rm 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--stdin
mc-cmd
Optional
从 STDIN 读取对象名称或存储桶。
--versions
mc-cmd
Optional
指示 mc rm 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 一起使用,可删除某一特定时间点 存在的对象的所有版本。
--version-id, vid
mc-cmd
Optional
指示 mc rm 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下任一标志互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
删除单个对象
递归删除存储桶内容
将 mc rm 与 --recursive 和 --force 选项结合使用, 可递归删除存储桶内容。
此操作 不会 删除存储桶本身。请使用 mc rb 删除存储桶 及其全部内容和关联配置。
删除对象的所有不完整上传文件
将 mc rm 与 --incomplete 选项结合使用, 可删除某个对象的不完整上传文件。
将对象回滚到先前版本
将 mc rm 与 --versions 和 --newer-than 结合使用,可删除新于指定时长的 所有对象版本。这会有效地将对象“回滚”到该时间点的状态。
重要
删除对象的特定版本属于 破坏性 操作。你无法恢复 已删除的对象版本。
- 将
ALIAS替换为已配置的 S3 兼容服务的alias。 - 将
PATH替换为对象路径。 例如:/mybucket/myobject。 - 将
DURATION替换为相对于当前主机时间的过去时长, 操作将从该时间点开始删除对象版本。例如,要删除过去 30 天内 创建的所有对象版本,请指定"30d"。
行为
删除存储桶内容
使用 mc rm 删除存储桶中的全部内容时,不会删除存储桶本身。 与该存储桶关联的配置会保留,例如 default object lock settings。
如需彻底删除存储桶,请使用 mc rb,而不是 mc rm。
MinIO 在删除对象时会清理空前缀
mc rm 依赖 mc 的删除 API 来移除对象。在删除存储桶前缀中的最后一个对象时, mc 还会递归删除直到存储桶根为止的每一个空前缀。mc 只会对在对象写入 操作过程中 隐式 创建的前缀执行这种递归删除,也就是说,该前缀不是通过 mc mb 这类显式目录创建命令创建的。
例如,假设存储桶 photos 中有以下对象前缀:
photos/2021/january/myphoto.jpgphotos/2021/february/myotherphoto.jpgphotos/NYE21/NewYears.jpg
photos/NYE21 是 唯一 通过 mc mb 显式创建的前缀。其余所有前缀 都是在向该前缀写入对象时 隐式 创建的。
如果某个 mc 命令删除了 myphoto.jpg,删除 API 会自动裁剪空的 /january 前缀。如果后续某个 mc 命令又删除了 myotherphoto.jpg, 删除 API 会自动裁剪 /february 前缀,以及此时已经为空的 /2021 前缀。 如果某个 mc 命令删除了 NewYears.jpg,由于 /NYE21 是 显式 创建的,因此该前缀会保留不变。
如果将 mc rm 用于文件系统操作,mc 也会采用相同行为,递归裁剪直到 根目录的所有空目录。不过,mc 的删除 API 无法区分某个目录路径是显式 创建的,还是隐式创建的。如果 mc rm 删除了某个文件系统路径上的最后一个对象, mc 会在删除过程中递归删除从该路径向上直到根目录的所有空目录。
版本化存储桶中的删除操作
MinIO 支持在单个存储桶中保留对象的多个 版本。 在版本化存储桶中 删除 对象时, 会生成一种特殊的 DeleteMarker 墓碑记录,将对象标记为已删除, 同时保留该对象的所有先前版本。
- 要从存储桶中删除对象的特定版本,请使用
mc rm --version-id - 要从存储桶中删除对象的所有版本,请使用
mc rm --versions - 要从存储桶中删除对象的所有非当前版本,请使用
mc rm --non-current
变更: mc
RELEASE.2023-03-20T17-17-53Z
输出会显示版本化文件的修改时间。 与 --dry-run 搭配使用时,这有助于确认你选择了正确的删除对象。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.129 - mc share
说明
使用 mc share 命令管理预签名 URL,以便下载和上传 MinIO 存储桶中的对象。
子命令
mc share 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
4.130 - mc sql
语法
mc sql 命令提供 S3 Select 接口,用于对指定 MinIO 部署中的对象执行 SQL 查询。
有关 S3 Select 的行为和限制,请参阅 Selecting content from objects。
以下命令会查询 myminio MinIO 部署中 mydata 存储桶内的所有对象:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要执行 SQL 查询的存储桶或对象的完整路径。 指定已配置 S3 服务的 alias 作为 ALIAS 路径前缀。 例如:
--query, e
mc-cmd
Required
在指定 ALIAS 目录或对象上执行的 SQL 语句。 将完整 SQL 查询用双引号 " 包裹。
默认为 "select * from S3Object"。
--csv-input
mc-cmd
Optional
.csv 输入对象的数据格式。 指定由逗号分隔的 key=value,... 键值对字符串。 有效键的更多信息请参阅 CSV 格式字段。
--compression
mc-cmd
Optional
输入对象的压缩类型。 指定以下受支持值之一:
GZIPBZIP2NONE(默认)
仅 MinIO 后端支持以下压缩方案:
--csv-output
mc-cmd
Optional
.csv 输出的数据格式。 指定由逗号分隔的 key=value,... 键值对字符串。 有效键的更多信息请参阅 CSV 格式字段。
更多信息请参阅 S3 API CSVOutput。
--csv-output-header
mc-cmd
Optional
.csv 输出文件的表头行。 将逗号分隔的字段字符串指定为 field1,field2,...。
省略该参数则输出不包含表头行的 .csv。
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--json-input
mc-cmd
Optional
.json 或 .ndjson 输入对象的数据格式。 将 JSON 内容类型指定为 type=<VALUE>。 值可以是:
更多信息请参阅 S3 API JSONInput。
--json-output
mc-cmd
Optional
.json 输出的数据格式。 支持 rd=value 键,其中 rd 是 JSON 文档的 RecordDelimiter。
省略该参数则使用默认换行符 \n。
更多信息请参阅 S3 API JSONOutput。
--recursive, r
mc-cmd
Optional
使用 --query SQL 语句递归搜索指定的 ALIAS 目录。
全局标志
此命令支持 全局标志 中的任意选项。
示例
选择存储桶内所有对象的所有列
将 mc sql 与 --recursive 和 --query 选项结合使用,可将查询应用到存储桶中的所有对象:
在对象上运行聚合查询
将 mc sql 与 --query 选项结合使用,可查询 MinIO 部署上的对象:
行为
输入格式
mc sql 支持以下输入格式:
| 类型 | content-type 值 |
|---|---|
.csv |
text/csv |
.json |
application/json |
.parquet |
无 |
对于 .csv 文件类型,使用 mc sql --csv-input 指定 CSV 数据格式。 有关 CSV 格式字段的更多信息,请参阅 CSV 格式字段。
对于 .json 文件类型,使用 mc sql --json-input 指定 JSON 数据格式。
对于 .parquet 文件类型,mc sql 会自动解析数据格式。
mc sql 通过目标对象的文件扩展名判断类型。 例如,名为 data.json 的对象会被解释为 JSON 文件。
如果对象具有合适的 content-type,你也可以查询受支持类型但扩展名不同的数据。 更多信息请参阅 mc cp --attr。
CSV 格式字段
下表列出了可用于 mc sql --csv-input 和 mc sql --csv-output 的有效键值对。 某些键值对仅适用于 --csv-input。 有关 S3 CSV 格式的更多信息,请参阅 S3 API CSVInput 文档。
键 |
仅 |
说明 |
|---|---|---|
|
用于分隔输入 对应 S3 API |
|
|
用于分隔一条记录中各字段的字符。默认为 对应 S3 API |
|
|
当 对应 S3 API |
|
|
在已转义值内部,用于转义引号 对应 S3 API |
|
|
是 |
指定以下受支持值之一:
对于 对于 对应 S3 API |
|
是 |
用于指示应忽略某条记录的字符。 该字符 必须 出现在记录开头。 对应 S3 API |
|
是 |
指定 默认为 对应 S3 API |
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.131 - mc stat
语法
mc stat 命令用于显示 MinIO 存储桶中对象的信息,包括对象元数据。 你也可以使用它来检索存储桶元数据。
你可以对本地文件系统使用 mc stat,以获得与 stat 命令行工具类似的结果。
以下命令显示 myminio MinIO 部署中 mydata 存储桶内所有对象的信息:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc stat --version-id 与多个参数互斥。更多信息请参阅参考文档。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias,以及要检索详细信息的对象完整路径。例如:
你可以在同一个或不同的 MinIO 部署上指定多个对象:
如果指定的是存储桶路径或存储桶前缀路径,则 必须 包含 mc stat --recursive 标志:
要检索本地文件系统中文件的信息,请指定该文件的完整路径:
--enc-c
mc-cmd
Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为 KEY=VALUE 的键值对。
|
对象的完整路径,格式为 你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。 |
|
指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。 Raw Base64 编码 不接受 带 |
KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
说明
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用 --enc-kms 参数启用 SSE-KMS,或使用 --enc-s3 参数启用 SSE-S3。
--no-list
mc-cmd
Optional
如果目标不存在,则禁用所有 LIST 操作。
--recursive, r
mc-cmd
Optional
递归地对 ALIAS 指定的 MinIO 存储桶内容执行 mc stat。
--rewind
mc-cmd
Optional
指示 mc stat 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
--versions
mc-cmd
Optional
指示 mc stat 对存储桶中存在的所有对象版本执行操作。
--versions 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
将 --versions 与 --rewind 一起使用,可移除某个特定时间点存在的所有对象版本。
--version-id, vid
mc-cmd
Optional
指示 mc stat 仅对指定的对象版本执行操作。
--version-id 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
与以下任一标志互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示对象详情
以下示例显示存储桶 mybucket 中对象 myfile.txt 的详细信息:
输出类似如下:
你可以通过添加多个路径来指定多个对象:
要显示存储桶中所有对象的详细信息,请使用 --recursive。 以下示例显示存储桶 mybucket 中所有对象的详细信息:
输出类似如下:
显示存储桶详情
以下示例显示 myminio MinIO 部署上存储桶 mybucket 的信息:
输出类似如下:
存储桶中的对象数量
要显示存储桶中的对象数量,请使用 --json 并通过 JSON 解析器提取 objectsCount 的值:
以下示例使用 jq 工具:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.132 - mc support
描述
MinIO Client mc support 命令提供用于分析部署健康状况或性能、并运行诊断的工具。 你还可以上传生成的健康报告,供 MinIO 工程团队进一步分析。
重要
mc support 命令需要有效的 MinIO SUBNET 注册。
mc support proxy set 和 mc support proxy remove 是例外,因为你可能需要先配置代理才能完成部署注册。
子命令
mc support 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
|
使用 |
|
|
|
使用 |
|
|
4.133 - mc tag
说明
mc tag 命令用于添加、删除和列出与存储桶或对象关联的标签。
MinIO 支持为对象最多添加 10 个自定义标签。
子命令
mc tag 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
4.134 - mc tree
语法
mc tree 命令以树形格式列出 MinIO 存储桶中的所有前缀。 该命令还可选支持在每个前缀处列出存储桶内的所有对象,包括存储桶根。
你也可以将 mc tree 用于本地文件系统目录, 获得与 tree 命令行工具类似的结果。
以下命令会打印 myminio MinIO 部署中 mydata 存储桶内 任意深度的全部对象树:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 MinIO 部署的 alias 和存储桶的完整路径, 用于列出树形层级。例如:
你可以为 mc tree 命令指定多个目标。例如:
如需获取本地文件系统目录的树形层级, 请指定该目录的完整路径。例如:
--depth, d
mc-cmd
可选 将树深度限制为指定的整数值。
默认为 -1,即不限制深度。
--files, f
mc-cmd
可选 在 mc tree 输出中包含对象或目录中的文件。
--rewind
mc-cmd
Optional
指示 mc tree 仅对指定时间点存在的对象版本执行操作。
- 如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。 - 如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind 要求指定的 ALIAS 指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用 mc version 启用或禁用存储桶版本控制。
示例
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.135 - mc undo
语法
mc undo 命令用于撤销指定路径上由 PUT 或 DELETE 操作引起的更改。
以下命令会回滚 myminio 部署中 data 存储桶内 file.zip 对象最近三次上传和/或删除操作:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
TARGET
mc-cmd
Required
命令应执行的对象或前缀的完整路径。 路径必须包含 ALIAS、存储桶以及前缀或对象名称。
--action
mc-cmd
Optional
撤销指定类型的最近一次更改。 可接受的值为 DELETE 或 PUT。
默认情况下,mc undo 会同时回滚 DELETE 和 PUT 操作。 使用 --action 可在两者中选择其一,但仅针对该类型最近的一次操作。
以下命令会回滚 data 存储桶中对象 today.zip 最近一次 PUT,恢复到该对象的上一版本:
以下示例会回滚前缀 archive 最近一次 DELETE,并递归恢复该前缀及其所有子对象:
与 --last 互斥。
--dry-run
mc-cmd
Optional
输出命令结果,但不实际执行操作。 使用此标志可测试按特定方式运行命令时的结果。
--force
mc-cmd
Optional
强制执行递归操作。
--last
mc-cmd
Optional
接受一个整数值,用于指定要撤销的 PUT 和/或 DELETE 更改次数。
若未指定,命令默认回滚一次(1)操作。 与 --action 互斥。
--recursive, r
mc-cmd
Optional
以递归方式执行命令。 例如,可使用此标志撤销某个前缀上的更改。
全局标志
此命令支持 全局标志 中的任意选项。
示例
撤销对象最近三次上传或删除
以下命令会回滚 myminio 部署中 data 存储桶内 file.zip 对象最近三次上传和/或删除操作:
撤销某个前缀下任意对象最近一次上传或删除
使用 mc undo 回滚在 myminio 别名下、data 存储桶中 presentations/recordings/ prefix 内最近一次 PUT 或 DELETE 操作:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.136 - mc update
语法
Pigsty 维护版客户端为保持命令行兼容而保留 mc update,但 刻意禁用了自更新。该命令不会访问发布源、下载二进制,也不会替换已安装的 mc/mcli;它会打印错误并以状态码 1 退出。
请通过下载与安装、Pigsty 软件仓库或 GitHub Releases升级。
以下命令会报告自更新已禁用,并以状态码 1 退出:
该命令的语法如下:
- 方括号
[]表示可选参数。 RELEASE-URL仅为兼容性而接受,不会被访问。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
非 JSON 模式的错误文本为:
全局参数
--json
mc-cmd
Optional
把“更新已禁用”的错误格式化为一条 JSON Lines 对象。该参数不会启用更新。
例如:
4.137 - mc version
描述
mc version 命令可为 MinIO 存储桶启用、禁用并获取 版本控制 状态。
有关 MinIO 中对象版本控制的更多信息,请参见 存储桶版本控制。
mc version 包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
行为
对象锁定会启用存储桶版本控制
虽然默认禁用存储桶版本控制,但在存储桶上或该存储桶中的对象上配置对象锁定时,会自动为该存储桶启用版本控制。 有关配置对象锁定的更多信息,请参见 mc retention。
现有数据下的存储桶版本控制
在包含现有数据的存储桶上启用版本控制时,会立即为每个未版本化对象创建一个 null 值版本 ID。
在包含现有已版本化数据的存储桶上禁用版本控制时,不会 删除任何已版本化对象。 禁用存储桶版本控制后,应用程序仍可继续访问已版本化数据。 使用 mc rm --versions ALIAS/BUCKET/OBJECT 删除某个对象 及其 所有版本。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.138 - mc watch
语法
mc watch 命令用于监视指定 MinIO 存储桶或本地文件系统路径上的事件。 对于 S3 服务,请使用 mc event add 在兼容 S3 的服务上配置存储桶事件通知。
你也可以将 mc watch 用于本地文件系统目录, 以获得与运行 inotify -e modify,create,delete,move 命令类似的结果。
以下命令会监视 myminio MinIO 部署中 mydata 存储桶内任意对象或前缀上的 事件:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 MinIO 部署的 alias 以及要监视已配置事件的存储桶完整路径。 例如:
--event
mc-cmd
要监视的事件。使用英文逗号 , 分隔可指定多个事件。 支持的事件见 支持的存储桶事件。
默认值为 put,delete, get。
--prefix
mc-cmd
在该存储桶前缀下监视 --event 指定的事件。
例如,若 ALIAS 为 play/mybucket,且 --prefix 为 photos,则仅 play/mybucket/photos 中的事件会触发存储桶通知。
--recursive, r
mc-cmd
在指定的 ALIAS 存储桶路径或本地目录中递归监视事件。
--suffix
mc-cmd
在该存储桶后缀下监视 --event 指定的事件。
例如,若 ALIAS 为 play/mybucket,且 --suffix 为 .jpg,则仅 play/mybucket/*.jpg 中的事件会触发存储桶通知。
全局标志
--json
mc-cmd
Optional
启用 JSON lines 格式的控制台输出。
例如:
示例
监视存储桶中的事件
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
4.139 - mc idp ldap accesskey create
新增: mc
RELEASE.2023-12-23T08-47-21Z
描述
mc idp ldap accesskey create 允许添加 LDAP 访问密钥对。
以下示例在
minioalias 上创建一个新的访问密钥对,并使用与已认证用户相同的策略:
该命令具有以下语法:
-
将
ALIAS替换为已配置 AD/LDAP 集成的 MinIO 部署的 alias。 -
方括号
[]表示可选参数。 -
同一行中的参数彼此相互依赖。
-
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 AD/LDAP 的 MinIO 部署的 alias。
例如:
--access-key
mc-cmd
Optional
用于该账户的访问密钥。 访问密钥不能包含 =(等号)或 ,(逗号)字符。
需要 --secret-key
--secret-key
mc-cmd
Optional
用于该账户的密钥。
需要 --access-key
--policy
mc-cmd
Optional
账户要使用的 JSON 格式策略文件路径。
如果未指定,账户将使用与已认证用户相同的策略。
--name
mc-cmd
Optional
用于该账户的人类可读名称。
--description
mc-cmd
Optional
为服务账户添加描述。 例如,你可以说明创建该访问密钥的原因。
--expiry-duration
mc-cmd
Optional
访问密钥对保持有效的时长,格式为 #d#h#s。
例如,7d、24h、5d12h30s 都是有效字符串。
与 --expiry 互斥。
--expiry
mc-cmd
Optional
访问密钥在该日期之后过期。 日期请使用 YYYY-MM-DD 格式输入。
例如,要使凭证在 2024 年 12 月 31 日之后过期,请输入 2024-12-31。
与 --expiry-duration 互斥。
--login
mc-cmd
Optional
已弃用: RELEASE.2024-04-18T16-45-29Z
使用 mc idp ldap accesskey create-with-login 获取此前由该参数提供的功能。
提示用户使用 LDAP 凭证登录以生成访问密钥。 指定用于登录提示的、已配置 LDAP 的 MinIO Server URL。
需要交互式终端。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
示例
为已认证用户创建新的访问密钥对
以下命令会为 minio alias 上当前已认证用户创建一个新的访问密钥对。 该命令会输出随机生成的访问密钥和密钥。
使用自定义访问密钥和密钥创建新的访问密钥对
以下命令会为 minio alias 上当前已认证用户创建一个新的访问密钥对,其中访问密钥和密钥都由你指定。
创建 24 小时后过期的新访问密钥对
以下命令会为 minio alias 上当前已认证用户创建一个新的访问密钥对。 该凭证会在 24 小时后过期。
该命令会输出随机生成的访问密钥和密钥。
创建新的访问密钥并提示以该用户身份登录
以下命令会创建一个新的访问密钥对。 MinIO Client 会先要求你在 minio.example.com 上已配置 LDAP 的 MinIO 站点中,以该访问密钥所属用户身份登录。
该命令会输出随机生成的访问密钥和密钥。
创建在指定日期后过期的新访问密钥对
以下命令会为 minio alias 上当前已认证用户创建一个新的访问密钥对。 该凭证会在 2024 年 2 月 29 日之后过期。
该命令会输出随机生成的访问密钥和密钥。
5 - mc ilm edit
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm edit 已被 mc ilm rule edit 取代。
语法
mc ilm edit 命令用于修改 MinIO 存储桶上现有的对象生命周期管理规则。
以下命令用于修改 myminio 部署上 mydata 存储桶的现有生命周期管理规则:
该命令按如下方式修改指定规则:
- 删除对象创建时间超过 90 天的对象。
- 如果对象没有其他剩余版本,则删除
DeleteMarker墓碑标记。 - 将对象创建时间超过 30 天的对象转移到
COLDTIER远程层。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
需要指定 MinIO 部署的 alias 以及要修改对象生命周期管理规则的存储桶完整路径。例如:
--id
mc-cmd
Required
规则的唯一 ID。使用 mc ilm rule ls 列出存储桶规则,并获取要修改规则的 id。
--disable
mc-cmd
Optional
停止使用该规则,但保留该规则以备后续使用。 规则禁用后,对象不会发生转移或过期。
--enable
mc-cmd
Optional
启用规则以对对象执行转移或过期。
--prefix
mc-cmd
Optional
将管理规则限制到特定的存储桶前缀。
例如:
该命令修改一条规则:对 myminio ALIAS 中 mydata 存储桶内所有带有 meetingnotes/ 前缀的对象,在 90 天后过期。
--expiry-days
mc-cmd
Optional
对象创建后保留的天数。达到指定天数后,MinIO 会将对象标记为待删除。
使用此选项时请谨慎,其行为可能导致已上传对象立即过期。任何在指定过期日期 之后 创建的对象都会自动满足过期条件。 同样地,如果指定的日历日期 早于 当前系统主机时间日期,则规则覆盖的所有对象都会被标记为删除。 一旦指定日历日期已过,建议立即移除使用此选项的 ILM 规则。
对于启用版本控制的存储桶,过期规则仅适用于 当前 对象版本。 使用 --noncurrentversion-expiration-days 选项可将过期行为应用于非当前对象版本。
MinIO 使用 scanner process 根据已配置的全部生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟生命周期管理规则的生效。 更多信息请参见 生命周期管理对象扫描器。
与以下选项互斥:
更多信息请参见 对象删除。
--expired-object-delete-marker
mc-cmd
Optional
指定此选项可指示 MinIO 删除没有剩余对象版本的对象的删除标记。 具体而言,删除标记是给定对象唯一剩余的“版本”。
此选项与以下选项互斥:
MinIO 使用 scanner process 根据已配置的全部生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟生命周期管理规则的生效。 更多信息请参见 生命周期管理对象扫描器 和 对象删除。
--noncurrentversion-expiration-days
mc-cmd
Optional
对象版本变为 非当前(即该对象的另一个版本现在是 HEAD)后保留的天数。 达到指定天数后,MinIO 会将非当前对象版本标记为待删除。
此选项的行为与 S3 NoncurrentVersionExpiration 操作一致。
MinIO 使用 scanner process 根据已配置的全部生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟生命周期管理规则的生效。 更多信息请参见 生命周期管理对象扫描器。
--noncurrentversion-transition-days
mc-cmd
Optional
对象处于非当前状态(即已被同一对象的新版本替换)达到指定天数后, MinIO 会将该对象版本标记为可转移。 系统主机时间日期超过该日历日期后,MinIO 会将对象转移到 --tier 指定的远程存储层。
此选项对未启用版本控制的存储桶无效。必须同时指定 --noncurrentversion-tier。
此选项的行为与 S3 NoncurrentVersionTransition 操作一致。
MinIO 使用 scanner process 根据已配置的全部生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟生命周期管理规则的生效。 更多信息请参见 生命周期管理对象扫描器。
--noncurrentversion-tier
mc-cmd
Optional
MinIO 将 非当前对象版本转移 到的远程存储层。 指定一个由 mc admin tier 创建的远程存储层。
MinIO 不会 自动将对象从先前指定的远程层迁移到新的远程层。 对于存储在旧远程层上的对象,MinIO 仍会继续路由请求。
--newer-noncurrentversions-expiration
mc-cmd
Optional
应用过期规则前要保留的对象非当前版本数量。 超过指定数量的更旧非当前版本会过期。
默认情况下,当过期规则生效时,MinIO 不保留任何非当前版本。
--newer-noncurrentversions-transition
mc-cmd
Optional
要保留在当前存储层上的对象非当前版本数量。 超过指定数量的更旧非当前版本会转移到指定层。
默认情况下,当转移规则生效时,MinIO 会转移所有非当前版本。
--tags
mc-cmd
Optional
一个或多个以 & 分隔的键值对,用于描述要应用生命周期配置规则的对象标签。
此选项与以下选项互斥:
--transition-days
mc-cmd
Optional
对象创建后经过的日历天数,超过该值后 MinIO 会将对象标记为可转移。 MinIO 会将对象转移到 --tier 指定的远程存储层。
对于启用版本控制的存储桶,转移规则仅适用于 当前 对象版本。 使用 --noncurrentversion-transition-days 选项可将转移行为应用于非当前对象版本。
必须同时指定 --tier。
MinIO 使用 scanner process 根据已配置的全部生命周期管理规则检查对象。 高 IO 负载或系统资源受限导致的扫描变慢,可能会延迟生命周期管理规则的生效。 更多信息请参见 生命周期管理对象扫描器。
--tier
mc-cmd
Optional
MinIO 将 对象转移 到的远程存储层。 指定一个由 mc admin tier 创建的远程存储层。
若指定 --transition-days,则此选项为必需。
MinIO 不会 自动将对象从先前指定的远程层迁移到新的远程层。 对于存储在旧远程层上的对象,MinIO 仍会继续路由请求。
全局标志
此命令支持 全局标志 中的任意选项。
示例
修改现有生命周期管理规则
使用 mc ilm edit 搭配 --id 修改现有对象过期规则:
- 将
ALIAS替换为 S3 兼容主机的alias。 - 将
PATH替换为该 S3 兼容主机上的存储桶路径。 - 将
RULEID替换为对象生命周期管理规则的唯一 ID。 使用mc ilm rule ls查找RULEID。 - 指定任意附加标志以添加或修改生命周期管理规则。 例如,指定
--transition-days以覆盖该规则现有的转移天数值。
禁用生命周期管理规则
使用 mc ilm edit 搭配 --disable 停止使用现有管理规则。
- 将
RULEID替换为对象生命周期管理规则的唯一 ID。 使用mc ilm rule ls查找RULEID。 - 将
myminio替换为规则所在部署的 ALIAS。 - 将
mybucket替换为该规则对应的存储桶。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
6 - mc quota info
变更: RELEASE.2022-12-13T00-23-28Z
mc quota info 替代了 mc admin bucket quota。
变更: RELEASE.2024-07-31T15-58-33Z
mc quota info 已弃用。
说明
mc quota info 命令显示存储桶当前配置的配额。
示例
获取存储桶配额配置
使用 mc quota info 获取存储桶当前的配额配置:
将 TARGET 替换为已配置 MinIO 部署的 alias。 将 BUCKET 替换为要查询配额的存储桶名称。
语法
mc quota info 的语法如下:
mc quota info 支持以下参数:
TARGET
mc-cmd
Required
要为其创建配额的存储桶完整路径。 指定 MinIO 部署的 alias 作为路径前缀。 例如:
全局标志
此命令支持 全局标志 中的任意选项。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
7 - MinIO Operator 环境变量
MinIO Operator 在启动期间使用以下环境变量来设置配置项。 请在 minio-operator 容器中配置这些变量。
在 Kubernetes 中设置环境变量
要设置这些环境变量,请修改 Operator 容器 YAML 中的 .spec.env,或使用以下 kubectl 命令语法:
替换:
- 如果未使用默认值,将
minio-operator替换为你的 Operator 所在命名空间。 - 如果未使用默认值,将
deployment/minio-operator替换为你的 Operator 对应 deployment。 (大多数部署使用默认值。) - 将
<ENV_VARIABLE>替换为要设置或修改的环境变量。 - 将
<value>替换为该环境变量要使用的值。
你可以使用空格分隔多个 VARIABLE=value 键值对,以设置或修改多个环境变量。
可用的 MinIO Operator 环境变量
MINIO_OPERATOR_CERTIFICATES_VERSION
envvar
指定要使用的证书 API 版本。
有效值为 v1 或 v1beta1。
未指定时,默认使用 Kubernetes 提供的 API。
MINIO_OPERATOR_RUNTIME
envvar
指定要使用的运行时类型。
有效值为 EKS、Rancher 或 OpenShift。 如果以上选项均不适用,则留空。
当设置为 EKS 时,MINIO_OPERATOR_CSR_SIGNER_NAME 必须为 beta.eks.amazonaws.com/app-serving。
MINIO_OPERATOR_CSR_SIGNER_NAME
envvar
覆盖证书签名请求(CSR)的默认签名者。
未指定时,默认值为 kubernetes.io/kubelet-serving。
OPERATOR_CERT_PASSWD
envvar
可选
Operator 用于解密其 TLS 证书中私钥的密码。
OPERATOR_STS_ENABLED
envvar
将 STS Service 切换为 on 或 off。
变更: v5.0.11
未指定时,默认值为 on。
在 Operator 5.0.11 之前的版本中,默认值为 off。
MINIO_CONSOLE_DEPLOYMENT_NAME
envvar
用于 Operator Console 的名称。
未指定时,默认值为 operator。
MINIO_CONSOLE_TLS_ENABLE
envvar
将 Console TLS 服务切换为 on 或 off。
未指定时,默认值为 off。
MINIO_OPERATOR_IMAGE
envvar
新增: v5.0.11
指定由 Operator 加载的 MinIO 实例 sidecar 容器镜像。
省略该项则使用 Operator 镜像。
WATCHED_NAMESPACE
envvar
Operator 监视租户时应监视的命名空间列表,以逗号分隔。
未指定时,默认值为 "",即监视所有命名空间。
8 - Silo 客户端管理
Silo 客户端 mc 提供 mc admin 命令,用于在 Silo 与兼容的 MinIO 部署上执行管理任务。
虽然 mc 支持通用 S3 兼容服务,但 mc admin 使用 MinIO 专用管理 API,因此仅支持 Silo 或兼容的 MinIO 部署。
mc admin 语法如下:
命令速查
下表列出了 mc admin 命令:
命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用 |
|
|
|
|
|
|
|
站点复制类似于 active-active 存储桶复制,但适用于多个 MinIO 部署。 在这组站点中,无论 IAM 设置、存储桶或对象发生何种变更,该变更都会在站点复制组中的所有站点间复制。 |
|
|
|
|
|
|
|
|
|
|
安装
请从下载与安装获取维护版客户端,或按 mc 参考文档中的源码构建说明操作。独立归档与 Linux 软件包使用 mcli 命令名;若主机安装的是该名称,请在示例中把 mc admin 替换为 mcli admin。
快速开始
重要
以下示例会临时禁用 bash 历史记录,以降低认证凭据明文泄露的风险。 这是一项基础安全措施,无法缓解所有可能的攻击向量。请遵循你所用操作系统的 安全最佳实践,在命令行中输入敏感信息。
使用 mc alias set 命令将该部署添加到 mc 配置中。
将各参数替换为所需值。仅指定 mc config host add 命令会启动输入提示, 用于录入所需值。
使用 mc admin info 命令测试与新添加 MinIO 部署的连接:
全局选项
8.1 - mc admin accesskey
新增: MinIO客户端版本RELEASE.2024-10-08T09-37-26Z
这些命令用于替代 mc admin user svcacct 命令及其子命令中的 MinIO IDP 功能。
描述
mc admin accesskey 命令及其子命令用于为 MinIO 部署中内部管理的用户创建和管理 Access Keys。
每个访问密钥都关联到一个 用户身份,并继承其父用户直接附加的 策略 或 父用户所属组的策略。 每个访问密钥还支持可选的内联策略,可进一步将访问限制为父用户可用操作和资源的一个子集。
mc admin user svcacct 仅支持为 MinIO-managed 账户创建访问密钥。
要为 Active Directory/LDAP-managed 账户创建访问密钥,请使用 mc idp ldap accesskey 及其子命令。 要管理 OpenID Connect-managed users 的访问密钥,请登录 MinIO Console 并通过 UI 生成访问密钥。
mc admin accesskey 命令包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
8.2 - mc admin accesskey create
语法
mc admin accesskey create 命令为现有 MinIO 用户添加新的 access key 和 secret key 对。
OpenID Connect 或 AD/LDAP 用户的访问密钥
此命令用于为直接在 MinIO 部署上创建、且不由第三方方案管理的用户创建访问密钥。
要为 Active Directory/LDAP users 生成访问密钥,请使用 mc idp ldap accesskey create。
以下命令会创建一个与现有 MinIO 用户关联的新访问密钥:
该命令会返回新账户的 access key 和 secret key。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
USER
mc-cmd
Optional
MinIO 要为其添加新访问密钥的用户名。 如果未指定,MinIO 会为已认证用户生成 access key/secret key 对。
--access-key
mc-cmd
Optional
作为此账户 access key 使用的字符串。 若省略,MinIO 会自动生成一个随机的 20 字符值。
Access Key 名称在所有用户之间 必须 唯一。
--description
mc-cmd
Optional
为访问密钥添加描述。 例如,可以说明该访问密钥存在的原因。
--expiry
mc-cmd
Optional
为访问密钥设置过期日期。 该日期必须是未来时间。 不可设置已经过去的过期日期。
允许的日期和时间格式:
2024-10-242024-10-24T10:002024-10-24T10:00:002024-10-24T10:00:00Z2024-10-24T10:00:00-07:00
与 --expiry-duration 互斥。
--expiry-duration
mc-cmd
Optional
access key 保持有效的时长。 有效时间单位为 “ns”、”us”(或 “µs”)、”ms”、”s”、”m”、”h”。
以下示例会让凭证在 30 天后过期:
与 --expiry 互斥。
--name
mc-cmd
Optional
为访问密钥添加人类可读名称。
--policy
mc-cmd
Optional
要附加到新访问密钥上的 policy document 的可读路径,最大大小为 2048 字符。 所附加策略不得授予父用户策略或组策略未明确允许的任何操作或资源访问权限。
--secret-key
mc-cmd
Optional
与新账户关联的 secret key。 若省略,MinIO 会自动生成一个随机的 40 字符值。
全局标志
此命令支持 全局标志 中的任意选项。
示例
为已认证用户创建 access key / secret key 对
以下命令会为当前登录到别名为 myminio 的 MinIO 部署的用户生成新的随机 access key 和 secret key 对。 该 access key 和 secret key 与已认证用户具有相同的访问策略。
为已认证用户创建自定义 access key / secret key 对
以下命令会为当前登录到别名为 myminio 的 MinIO 的用户创建新的 access key 和 secret key 对。 该 access key 和 secret key 与已认证用户具有相同的访问策略。
为另一位用户创建有时长限制的 access key / secret key 对
以下命令会为别名 myminio 上的用户 miniouser 创建新的 access key 和 secret key 对。 该 access key 和 secret key 与 miniouser 具有相同的访问策略。 这些凭证在创建后 24 小时内有效。
为已认证用户创建会过期的 access key / secret key 对
以下命令会为当前登录到别名 myminio 的 MinIO 部署的用户生成新的随机 access key 和随机 secret key 对。 该 access key 和 secret key 与已认证用户具有相同的访问策略。 这些凭证将于 2025 年 1 月 15 日过期。
指定的日期 必须 是未来日期。 有关有效的日期时间格式,请参见 --expiry 标志。
为不同用户创建具有自定义访问权限的 access key / secret key 对
以下命令会为别名 myminio 上的用户 miniouser 创建新的 access key 和 secret key 对。 该 access key 和 secret key 的访问权限比 miniouser 更受限,具体由策略 JSON 文件指定。
指定的策略文件 不得 授予 miniouser 当前尚未拥有的任何访问权限。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.3 - mc admin cluster bucket import
描述
新增: RELEASE.2022-06-17T02-52-50Z
mc admin cluster bucket import 命令用于导入由 mc admin cluster bucket export 命令生成的存储桶元数据。
你可以使用此命令将元数据手动恢复到 MinIO 部署中的指定存储桶。
如果仅将部署指定为目标,此命令会将元数据对象应用到目标上所有匹配的存储桶。
以下命令将指定的元数据导入到 myminio 部署。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
METADATA.ZIP
mc-cmd
Required
要导入的元数据文件路径。
使用 mc admin cluster bucket export 导出存储桶元数据,以供此命令使用。
BUCKET
mc-cmd
Optional
应用导入元数据的存储桶。
全局标志
此命令支持 全局标志 中的任意选项。
8.4 - mc admin cluster iam import
描述
新增: RELEASE.2022-06-17T02-52-50Z
mc admin cluster iam import 命令导入由 mc admin cluster iam export 命令创建的 IAM 元数据。
您可以使用此命令手动恢复 MinIO 部署的 IAM 元数据设置。
新增: mc
RELEASE.2024-09-09T07-53-10Z
该命令会输出导入结果,包括以下内容:
- 按实体类型统计已导入的单个实体数量
- 按策略导入目标的实体类型列出已导入策略
- 导入失败的实体列表
以下命令将指定文件中的 IAM 元数据导入到 myminio 部署。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
从 RELEASE.2023-05-04T18-10-16Z 开始,mc admin cluster iam import 新增了对以尾随正斜杠结尾的别名 ALIAS/ 的支持。 在此版本之前,如果提供尾随正斜杠,命令会执行失败。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
IAM-METADATA.ZIP
mc-cmd
Required
要导入的 IAM 元数据文件路径。
使用 mc admin cluster iam export 导出 IAM 元数据,以供此命令使用。
全局标志
此命令支持 全局标志 中的任意选项。
8.5 - mc admin policy attach
语法
将一个或多个 IAM 策略附加到 MinIO 管理的用户或组。
变更: RELEASE.2023-05-27T05-56-19Z
要成功附加策略,所引用的用户或组必须存在。
必须且只能指定 --user 或 --group 二者之一。
以下命令将 readonly 策略附加到 alias 为 myminio 的部署中的用户 james。
该命令使用以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
重要
此命令仅用于管理 MinIO 管理 用户的策略关联。
如需为 OpenID 管理的用户附加策略,请参见 OpenID Connect 访问管理。
如需为 Active Directory/LDAP 用户或组附加策略,请使用 mc idp ldap policy attach。
参数
mc admin policy attach 命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,该部署中包含要附加一个或多个策略的用户或组。
POLICY
mc-cmd
Required
要附加到用户或组的策略名称。
你可以通过空格分隔每个策略名称,一次附加多个策略。
MinIO 部署默认包含以下 内置策略:
--user
mc-cmd
Optional
要附加一个或多个策略的用户身份名称。 只能指定一个用户。
你必须包含 --user 或 --group 标志之一。 --user 标志不能与 --group 标志同时使用。
--group
mc-cmd
Optional
要附加一个或多个策略的组身份名称。 只能指定一个组。
属于该组的所有用户都会继承与该组关联的策略。
你必须包含 --group 或 --user 标志之一。 --group 标志不能与 --user 标志同时使用。
全局标志
此命令支持 全局标志 中的任意选项。
示例
将 readonly 策略附加到 alias 为 myminio 的部署中的用户 james。
将 audit-policy 和 acct-policy 策略附加到 alias 为 myminio 的部署中的组 legal。
8.6 - mc admin prometheus generate
描述
mc admin prometheus generate 命令会生成一个用于 Prometheus 的指标抓取配置文件。
有关 MinIO 与 Prometheus 配合使用的完整文档,请参见 How to monitor MinIO server with Prometheus
从 MinIO 服务端 RELEASE.2024-07-15T19-02-30Z 和 MinIO 客户端 RELEASE.2024-07-11T18-01-28Z 开始,metrics version 3 (v3) 提供了额外的端点和指标。 要生成 v3 抓取配置,请使用 --api_version v3 选项。
MinIO 建议新部署使用 version 3 (v3)。 现有部署可以继续使用 metrics version 2
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
以下命令会为 alias myminio 指向的部署生成一个 Prometheus 抓取配置,用于采集 version 2 的存储桶指标:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 MinIO 部署的 alias,该命令会为该部署生成与 Prometheus 兼容的配置文件。
--api-version
mc-cmd
Optional
要为 v3 metrics 生成抓取配置,请添加 --api-version v3 参数。 v3 是唯一接受的值。
省略 --api-version 可生成 v2 metrics 配置。
--bucket
mc-cmd
Optional
仅适用于 v3 指标。
对于返回存储桶级指标的 v3 指标类型,请指定存储桶名称。 需要 --api-version。
--bucket 适用于以下 v3 指标类型:
apireplication
以下示例为存储桶 mybucket 的 API 指标生成配置:
TYPE
mc-cmd
Optional
要抓取的指标类型。
metrics version 3 的有效值为:
apiauditclusterdebugilmloggernotificationreplicationscannersystem如果未指定,
v3命令会返回所有指标。metrics version 2 的有效值为:
bucketclusternoderesource如果未指定,
v2命令返回 cluster 指标。 Cluster 指标包含部分 node 指标的汇总。
全局参数
此命令支持 全局标志 中的任意选项。
示例
生成默认的 v3 metrics 配置
使用 mc admin prometheus generate --api-version v3 生成一个抓取配置,用于为 MinIO 部署采集所有 v3 指标:
- 将
ALIAS替换为 MinIO 部署的alias。
输出类似如下:
为其他类型生成 v3 metrics 配置
要为其他指标类型生成配置,请指定类型。 以下命令会为 v3 cluster 类型指标生成抓取配置:
- 将
ALIAS替换为 MinIO 部署的alias。
输出类似如下:
要为 different metric type 生成配置,请将 cluster 替换为所需类型。
生成 v3 bucket replication metrics 配置
以下示例会为存储桶 mybucket 的 v3 replication 指标生成抓取配置:
- 将
ALIAS替换为 MinIO 部署的alias。
输出类似如下:
生成用于存储桶 API 指标的 v3 配置
以下示例会为存储桶 mybucket 的 v3 API 指标生成抓取配置:
- 将
ALIAS替换为 MinIO 部署的alias。
输出类似如下:
生成默认的 v2 metrics 配置
默认情况下,mc admin prometheus generate 会生成用于 v2 cluster 指标的抓取配置:
- 将
ALIAS替换为 MinIO 部署的alias。
输出类似如下:
为其他指标类型生成 v2 配置
要为其他指标类型生成配置,请指定类型。 以下命令会为 v2 bucket 类型指标生成抓取配置:
8.7 - mc admin scanner status
描述
mc admin scanner status 命令会显示 MinIO Server 的 scanner 信息的实时摘要。
该命令的别名为 mc admin scanner info。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
以下示例返回扫描器进程当前状态的信息。
该命令返回的结果类似如下:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
用于显示 scanner API 操作的 MinIO 部署 alias。
--bucket
mc-cmd
Optional
将 scanner 统计信息过滤到指定存储桶。
--interval
mc-cmd
Optional
两次状态请求刷新之间等待的秒数。 如果未指定,状态每 3 秒刷新一次。
--max-paths
mc-cmd
Optional
要显示的活跃路径的最大数量。 使用 -1 表示不限制路径数量。
当被扫描的驱动器数量较大时,限制显示路径数量可以减少控制台窗口滚动。
如果未指定,结果将返回不限制数量的活跃路径。
-n
mc-cmd
Optional
在自动退出前返回的状态请求数量。 使用 0 表示返回不限数量的状态结果。
如果未指定,结果会按指定间隔持续刷新,直到手动退出。
--nodes
mc-cmd
Optional
返回指定节点的 scanner 状态信息。 使用逗号分隔列表指定多个节点。
全局标志
此命令支持 全局标志 中的任意选项。
8.8 - mc admin user add
语法
mc admin user add 命令会在目标 MinIO 部署中添加一个新的 MinIO 用户。
要管理外部身份提供商用户,请参见 OIDC 或 AD/LDAP。
以下命令会在 myminio MinIO 部署上创建一个新用户 newuser:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ACCESSKEY
mc-cmd
Required
用于唯一标识新用户的访问密钥,类似于用户名。
ALIAS
mc-cmd
Required
已配置 MinIO 部署的 alias,用于在该部署上创建新用户。
SECRETKEY
mc-cmd
Required
新用户的 secret key。创建 secret key 时请参考以下建议:
- 密钥应为 唯一 值
- 密钥应足够 长(超过 12 个字符)
- 密钥应具备 复杂性(混合使用字符、数字和符号)
全局标志
此命令支持 全局标志 中的任意选项。
示例
创建新用户
使用 mc admin user add 在 MinIO 部署上创建用户:
- 将
ALIAS替换为 MinIO 部署的alias。 - 将
ACCESSKEY替换为该用户的 access key。 - 将
SECRETKEY替换为该用户的 secret key。 MinIO 不 提供任何在设置后检索 secret key 的方法。
请为 ACCESSKEY 和 SECRETKEY 都指定唯一、随机且足够长的字符串。 组织在生成用于 access key 或 secret key 的值时,可能存在特定的内部或监管要求。
行为
新用户默认没有策略
新创建的用户默认 没有 任何策略,因此无法在 MinIO 部署上执行任何操作。 要配置用户的已分配策略,你可以执行以下一项或两项操作:
- 使用
mc admin policy attach将一个或多个策略关联到用户。 - 使用
mc admin group add将用户关联到组。 用户会继承分配给该组的所有策略。
有关 MinIO 用户和组的更多信息,请参见 用户管理 和 组管理。 有关 MinIO 策略的更多信息,请参见 MinIO Policy Based Access Control。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.9 - mc admin user svcacct add
重要
此命令已被替代,并将在未来的 MinIO 客户端版本中弃用。
从 MinIO客户端版本RELEASE.2024-10-08T09-37-26Z 起,请使用 mc admin accesskey create 命令为内置 MinIO IDP 用户添加访问密钥。
如需为 AD/LDAP 用户添加访问密钥,请使用 mc idp ldap accesskey create 命令。
语法
mc admin user svcacct add 命令为现有 MinIO 或 AD/LDAP 用户添加新的访问密钥。
OpenID Connect 用户的访问密钥
要为 OpenID Connect 用户 生成服务账户访问密钥,请使用 MinIO Console。
以下命令会创建一个与现有 MinIO 用户关联的新访问密钥:
命令会返回该新账号的访问密钥和秘密密钥。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
USER
mc-cmd
Required
MinIO 要为其添加新访问密钥的用户名。
- 对于 MinIO 管理的用户,指定该用户的访问密钥。
- 对于 Active Directory/LDAP 用户,指定用户的 Distinguished Name。
- 对于 OpenID Connect 用户,请使用 MinIO Console 生成访问密钥。
--access-key
mc-cmd
Optional
用作此账号访问密钥的字符串。 省略时,MinIO 会自动生成一个 20 个字符的随机值。
Access Key 名称在所有用户之间 必须 唯一。
--comment
mc-cmd
Optional
变更: RELEASE.2023-05-18T16-59-00Z
已由 --description 和 --name 替代。
最初在 RELEASE.2023-01-28T20-29-38Z 版本中引入。
此选项已移除。 请改用 --description 或 --name。
--description
mc-cmd
Optional
新增: RELEASE.2023-05-18T16-59-00Z
为服务账户添加描述。 例如,可以说明该服务账户存在的原因。
--expiry
mc-cmd
Optional
新增: RELEASE.2023-05-30T22-41-38Z
为服务账户设置过期日期。 该日期必须是未来时间,不能设置已经过去的过期日期。
允许的日期和时间格式:
2023-06-242023-06-24T10:002023-06-24T10:00:002023-06-24T10:00:00Z2023-06-24T10:00:00-07:00
--name
mc-cmd
Optional
新增: RELEASE.2023-05-18T16-59-00Z
为服务账户添加一个人类可读的名称。
--policy
mc-cmd
Optional
要附加到新访问密钥的 策略文档 路径,最大大小为 2048 个字符。 附加的策略不能授予父用户策略未明确允许的任何操作或资源访问权限。
--secret-key
mc-cmd
Optional
与新账号关联的秘密密钥。 省略时,MinIO 会自动生成一个 40 字符的随机值。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.10 - mc admin accesskey disable
语法
mc admin accesskey disable 命令用于禁用 MinIO IDP 用户的现有访问密钥。
以下命令会禁用指定的访问密钥:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
SERVICEACCOUNT
mc-cmd
Required
要禁用的访问密钥。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.11 - mc admin cluster bucket
说明
新增: RELEASE.2022-06-17T02-52-50Z
mc admin cluster bucket 命令及其子命令提供了用于手动导入和导出 MinIO 存储桶元数据的工具。
这些元数据包含与 生命周期管理规则 等功能相关的配置。 你可以将这些元数据作为存储桶配置的快照,用于后续恢复,例如作为 BC/DR 或备份/恢复操作的一部分。
你可以将此命令用于单个存储桶,或 用于 MinIO 部署中的所有存储桶。 如需将部署中的所有存储桶自动同步到远端站点,请使用 站点复制。
mc admin cluster bucket 命令包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
8.12 - mc admin cluster bucket export
描述
新增: RELEASE.2022-06-17T02-52-50Z
mc admin cluster bucket export 命令会导出存储桶元数据,以供 mc admin cluster bucket import 命令使用。
你可以使用此命令手动备份指定 MinIO 存储桶的元数据。 该命令始终将输出保存为 cluster-metadata.zip。
如果你仅将部署指定为目标,此命令会备份目标部署上所有存储桶的元数据。
以下命令会导出 myminio 部署的所有存储桶元数据。
该命令使用以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
BUCKET
mc-cmd
Optional
要导出元数据的存储桶。
全局标志
此命令支持 全局标志 中的任意选项。
8.13 - mc admin cluster iam export
描述
新增: RELEASE.2022-06-26T18-51-48Z
mc admin cluster iam export 命令导出 IAM 元数据,以供 mc admin cluster iam import 命令使用。
该命令将输出保存为 ALIAS-iam-metadata.zip,其中 ALIAS 是 MinIO 部署的 alias。
以下命令导出 myminio 部署的全部 IAM 元数据。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
从 RELEASE.2023-05-04T18-10-16Z 开始,mc admin cluster iam export 支持以尾随正斜杠结尾的别名 ALIAS/。 在此版本之前,提供尾随正斜杠会导致命令执行失败。
参数
ALIAS
mc-cmd
Required
要导出 IAM 元数据的 MinIO 部署 alias。
--output, --o
mc-cmd
Optional
指定导出 IAM 数据时使用的自定义文件名和路径。
全局标志
此命令支持 全局标志 中的任意选项。
示例
将集群的全部 IAM 元数据下载到 ZIP 文件
以下命令下载别名为 myminio 的集群全部 IAM 元数据,并将其保存到 ZIP 文件中。
ZIP 文件命名为 <alias>-iam-info.zip,其中 <alias> 是集群别名。 在上述示例中,文件名为 myminio-iam-info.zip。
该文件位于当前活动目录中。
下载集群的全部 IAM 元数据并指定 ZIP 文件名称和路径
以下命令下载别名为 myminio 的集群全部 IAM 元数据,并将其保存为 /tmp/myminio-iam.zip ZIP 文件。
8.14 - mc admin policy create
Syntax
在目标 MinIO 部署上创建一个新策略。
MinIO 部署默认包含以下 内置策略:
假设以下 JSON 策略文档保存在名为 /tmp/listmybuckets.json 的文件中:
以下命令使用文件 /tmp/listmybuckets.json 中的策略,在 alias myminio 上创建一个名为 listmybuckets 的新策略。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
Parameters
mc admin policy create 命令接受以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,用于向该部署添加新策略。
POLICYNAME
mc-cmd
要添加的策略名称。
指定已有策略的名称会覆盖 TARGET MinIO 部署上的该策略。
POLICYPATH
mc-cmd
要添加的策略文件路径。 该文件 必须 为 JSON 格式,使用 IAM 兼容语法,且长度不超过 2048 个字符。
Global Flags
此命令支持 全局标志 中的任意选项。
Examples
在别名为 myminio 的部署上,使用 /tmp/writeonly.json 的 JSON 文件创建一个名为 writeonly 的新策略。
8.15 - mc admin prometheus metrics
说明
mc admin prometheus metrics 命令用于输出集群的 Prometheus 指标。
输出还包含每个指标的附加信息,例如其值类型是 counter 还是 gauge。
有关将 MinIO 与 Prometheus 配合使用的完整文档,请参阅 How to monitor MinIO server with Prometheus
从 MinIO 服务端 RELEASE.2024-07-15T19-02-30Z 和 MinIO 客户端 RELEASE.2024-07-11T18-01-28Z 开始,metrics version 3 (v3) 提供了额外的端点和指标。 要输出 v3 指标,请使用 --api_version v3 选项。
MinIO 建议新部署使用 version 3 (v3)。 现有部署可以继续使用 metrics version 2。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
以下命令输出 alias myminio 对应部署的集群指标:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 MinIO 部署的 alias,命令将输出该部署的指标。
--api-version
mc-cmd
Optional
要输出 version 3 (v3) 指标,请添加 --api-version v3 参数。 v3 是唯一接受的值。
省略 --api-version 则输出 version 2 (v2) 指标。
--bucket
mc-cmd
Optional
需要 --api-version。 对于返回存储桶级指标的 v3 指标类型,需指定存储桶名称。
--bucket 适用于以下 v3 指标类型:
apireplication
以下示例输出存储桶 mybucket 的 API 指标:
TYPE
mc-cmd
Optional
要输出的指标类型。
metrics version 3 的有效值为:
apiauditclusterdebugilmloggernotificationreplicationscannersystem未指定时,
v3命令返回所有指标。metrics version 2 的有效值为:
bucketclusternoderesource未指定时,
v2命令返回集群指标。 集群指标包含部分节点指标的汇总值。
全局标志
此命令支持 全局标志 中的任意选项。
示例
输出 v3 指标
使用 mc admin prometheus metrics --api-version v3 输出某个 MinIO 部署中所有可用的 v3 指标及其当前值:
- 将
ALIAS替换为 MinIO 部署的alias。
要输出特定类型的指标,请添加 TYPE。 以下命令输出某个部署的全部 scanner 指标:
输出 v3 API 或存储桶复制指标
某些 v3 指标类型接受 --bucket 参数,用于指定要输出指标的存储桶。 以下示例输出存储桶 mybucket 的 v3 replication 指标:
- 将
ALIAS替换为 MinIO 部署的alias。
要输出该存储桶的 API 指标,请将 replication 替换为 api。
输出 v2 集群指标
默认情况下,mc admin prometheus metrics 输出 v2 集群指标:
- 将
ALIAS替换为 MinIO 部署的alias。
输出其他类型的 v2 指标
要输出另一种 v2 指标类型,请指定所需的 TYPE。 以下示例输出 v2 bucket 指标:
可接受的值为 bucket、cluster、node 和 resource。
8.16 - mc admin scanner trace
说明
mc admin scanner trace 命令会显示目标 MinIO 部署上发生的 scanner 相关 API 操作。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
以下示例返回 myminio 部署上与 scanner 相关的 API 操作列表。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要显示其 scanner API 操作的 MinIO 部署的 alias。
--filter-request
mc-cmd
Optional
跟踪请求大小大于指定 --filter-size 值的 scanner 操作或调用。
必须 与 --filter-size 标志配合使用。
--filter-response
mc-cmd
Optional
跟踪响应大小大于指定 --filter-size 值的 scanner 操作或调用。
必须 与 --filter-size 标志配合使用。
--filter-size
mc-cmd
Optional
将输出过滤为请求大小或响应大小大于指定大小的条目。
必须与 --filter-request 或 --filter-response 标志之一配合使用。
有效单位包括:
| 后缀 | 单位大小 |
|---|---|
k |
KB(Kilobyte,1000 Bytes) |
m |
MB(Megabyte,1000 Kilobytes) |
g |
GB(Gigabyte,1000 Megabytes) |
t |
TB(Terabyte,1000 Gigabytes) |
ki |
KiB(Kibibyte,1024 Bytes) |
mi |
MiB(Mebibyte,1024 Kibibytes) |
gi |
GiB(Gibibyte,1024 Mebibytes) |
ti |
TiB(Tebibyte,1024 Gibibytes) |
--funcname
mc-cmd
Optional
返回与输入函数名对应的调用。
--node
mc-cmd
Optional
返回指定服务器的调用。
--path
mc-cmd
Optional
返回指定路径的调用。
--response-duration
mc-cmd
Optional
跟踪响应持续时间大于指定值的调用。
--verbose, -v
mc-cmd
Optional
返回详细输出。
全局标志
此命令支持 全局标志 中的任意选项。
示例
监控所有 scanner API 操作
使用 mc admin scanner trace 监控别名为 myminio 的 MinIO 部署上的 scanner API 操作:
显示特定路径的 scanner 跟踪
使用 mc admin scanner trace 监控别名为 myminio 的部署上路径 my-bucket/my-prefix/* 的 API 操作:
显示 scanObject 函数的 scanner API 操作
监控 myminio 部署上 scanObject 函数的 scanner 活动:
显示大于 1MB 的 scanner 操作请求
使用 mc admin scanner trace 监控 myminio 部署上大于 1MB 的请求:
显示大于 1MB 的 scanner 操作响应
使用 mc admin scanner trace 监控较大的响应大小:
显示持续超过五毫秒的 scanner 操作
使用 mc admin scanner trace 监控耗时较长的操作:
8.17 - mc admin user disable
语法
mc admin user disable 命令用于在目标 MinIO 部署上禁用 MinIO 用户。
客户端不能使用该用户凭证向 MinIO 部署进行身份验证。 禁用用户 不会 将该用户从部署中移除。 使用 mc admin user enable 可在 MinIO 部署上启用已禁用的用户。
如需管理外部身份提供商用户,请参阅 OIDC 或 AD/LDAP。
以下命令会在 myminio MinIO 部署上禁用用户 myuser:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
要禁用用户所在 MinIO 部署的 alias。
USERNAME
mc-cmd
Required
要禁用的用户名。
全局标志
此命令支持 全局标志 中的任意选项。
示例
禁用用户
使用 mc admin user disable 在 MinIO 部署上禁用用户。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.18 - mc admin user svcacct disable
重要
此命令已被替代,并将在未来的 MinIO 客户端版本中弃用。
从 MinIO客户端版本RELEASE.2024-10-08T09-37-26Z 起,请使用 mc admin accesskey disable 命令禁用内置 MinIO IDP 用户的访问密钥。
如需禁用 AD/LDAP 用户的访问密钥,请使用 mc idp ldap accesskey disable 命令。
语法
mc admin user svcacct disable 命令用于禁用现有访问密钥。
以下命令会禁用指定的访问密钥:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
SERVICEACCOUNT
mc-cmd
Required
要禁用的服务账户访问密钥。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.19 - mc admin cluster iam
描述
新增: RELEASE.2022-06-26T18-51-48Z
mc admin cluster iam 命令及其子命令提供了用于手动导入和导出 MinIO 身份与访问管理(IAM) 元数据的工具。
如需将部署中的所有 IAM 配置自动同步到远程站点,请使用 站点复制。
mc admin cluster iam 命令包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
8.20 - mc admin policy detach
语法
从 MinIO 管理的用户或组 中移除一个或多个 IAM 策略。
必须且只能指定 --user 或 --group 其中之一。
以下命令从别名为 myminio 的部署中为用户 james 解绑 readonly 策略。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
重要
此命令仅用于管理 MinIO 管理 用户的策略关联。
如需管理 OpenID 管理的用户策略,请参见 OpenID Connect 访问管理。
如需从 Active Directory/LDAP 用户或组解绑策略,请使用 mc idp ldap policy detach。
参数
mc admin policy detach 命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,其中包含你要解绑一个或多个策略的用户或组。
POLICY
mc-cmd
Required
要从用户或组解绑的策略名称。 你可以通过空格分隔多个策略名称,一次解绑多个策略。
MinIO 部署默认包含以下 内置策略:
--user
mc-cmd
Optional
要解绑策略的身份用户名。 只能指定一个用户。
必须包含 --user 或 --group 标志之一。 不能将 --user 与 --group 标志同时使用。
--group
mc-cmd
Optional
要解绑策略的组名称。 只能指定一个组。
组内所有成员都会失去该组关联策略所授予的权限,除非这些权限也由用户所属的其他策略或组授予。
必须包含 --group 或 --user 标志之一。 不能将 --group 与 --user 标志同时使用。
全局标志
此命令支持 全局标志 中的任意选项。
示例
从别名为 myminio 的部署中为用户 james 解绑 readonly 策略。
从别名为 myminio 的部署中为组 legal 解绑 audit-policy 和 acct-policy 策略。
8.21 - mc admin user accesskey edit
语法
mc admin accesskey edit 命令用于修改与指定用户关联的访问密钥配置。
该命令要求访问密钥至少有一个属性发生变更。 否则,命令会报错退出。
以下命令为 myminio 部署上的 myuserserviceaccount 访问密钥应用新的策略和 secret key:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
ACCESSKEY
mc-cmd
Required
要修改的访问密钥。
--description
mc-cmd
Optional
为访问密钥添加或修改描述。 例如,可用于说明该访问密钥的用途。
--expiry
mc-cmd
Optional
设置或修改访问密钥的过期日期。 日期必须为未来时间,不能设置已过去的过期日期。
允许的日期和时间格式:
2023-06-242023-06-24T10:002023-06-24T10:00:002023-06-24T10:00:00Z2023-06-24T10:00:00-07:00
与 --expiry-duration 互斥。
--expiry-duration
mc-cmd
Optional
访问密钥保持有效的时长。 有效时间单位为 “ns”、”us”(或 “µs”)、”ms”、”s”、”m”、”h”。
若要让凭证在 30 天后过期,请使用:
与 --expiry 互斥。
--name
mc-cmd
Optional
为访问密钥添加或修改一个便于识别的名称。
--policy
mc-cmd
Optional
要附加到新访问密钥的 策略文档 路径,最大长度为 2048 个字符。 附加策略不能授予父用户策略中未显式允许的任何操作或资源访问权限。
新策略会覆盖此前附加的任何策略。
--secret-key
mc-cmd
Optional
要与新访问密钥关联的 secret key。 会覆盖先前的 secret key。 使用该访问密钥的应用 必须 更新为新凭证,才能继续执行操作。
全局标志
此命令支持 全局标志 中的任意选项。
示例
修改访问密钥的 secret key
以下命令修改 myminio 部署上 myuseraccesskey 访问密钥的 secret key。
修改访问密钥的过期设置
以下命令修改 myminio 部署上 myuseraccesskey 访问密钥的过期值。
如果访问密钥已设置 --expiry,则不能再添加 --expiry-duration。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.22 - mc admin user enable
语法
mc admin user enable 命令用于在目标 MinIO 部署上启用 MinIO 用户。
客户端只能使用已启用的用户向 MinIO 部署进行认证。 使用 mc admin user add 创建的用户默认处于启用状态。
要管理外部身份提供商用户,请参阅 OIDC 或 AD/LDAP。
以下命令在 myminio MinIO 部署上启用用户 myuser:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
需要启用该用户的 MinIO 部署的 alias。
USERNAME
mc-cmd
Required
要启用的用户名。
全局标志
此命令支持 全局标志 中的任意选项。
示例
启用用户
使用 mc admin user enable 在 MinIO 部署上启用用户。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.23 - mc admin user svcacct edit
重要
此命令已被替代,并将在未来的 MinIO 客户端 发布版本中弃用。
从 MinIO客户端版本RELEASE.2024-10-08T09-37-26Z 起,请使用 mc admin accesskey edit 命令修改内置 MinIO IDP 用户的访问密钥。
如需修改 AD/LDAP 用户的访问密钥,请使用 mc idp ldap accesskey edit 命令。
语法
mc admin user svcacct edit 命令用于修改与指定用户关联的访问密钥配置。
以下命令为 myminio 部署上的 myuserserviceaccount 访问密钥应用新的策略和密钥:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
SERVICEACCOUNT
mc-cmd
Required
要修改的服务账户。
--description
mc-cmd
Optional
新增: RELEASE.2023-05-18T16-59-00Z
为服务账户添加描述。 例如,可以说明该服务账户存在的原因。
--expiry
mc-cmd
Optional
新增: RELEASE.2023-05-30T22-41-38Z
为服务账户设置过期日期。 日期必须在未来,不能设置已经过去的过期日期。
允许的日期和时间格式:
2023-06-242023-06-24T10:002023-06-24T10:00:002023-06-24T10:00:00Z2023-06-24T10:00:00-07:00
--name
mc-cmd
Optional
新增: RELEASE.2023-05-18T16-59-00Z
为服务账户添加一个便于识别的名称。
--policy
mc-cmd
Optional
要附加到新访问密钥的 policy document 路径,最大长度为 2048 个字符。 附加的策略不能授予父用户策略未明确允许的任何操作或资源访问权限。
新策略会覆盖此前已附加的任何策略。
--secret-key
mc-cmd
Optional
与新访问密钥关联的密钥。 会覆盖此前的密钥。 使用这些访问密钥的应用程序 必须 更新为新凭证,才能继续执行操作。
全局参数
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.24 - mc admin accesskey enable
语法
mc admin accesskey enable 命令用于启用现有访问密钥。
以下命令启用指定的访问密钥:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
SERVICEACCOUNT
mc-cmd
Required
要启用的访问密钥。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.25 - mc admin config
说明
mc admin config 命令用于管理 minio 服务器的配置设置。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
示例
语法
mc admin config set
mc-cmd
在 MinIO 部署上设置 配置键。 由环境变量定义的配置会覆盖通过此命令定义的配置。
mc admin config get
mc-cmd
获取 MinIO 部署上通过 mc admin config set 创建的 配置键。
mc admin config export
mc-cmd
导出通过 mc admin config set 创建的所有配置设置。
mc admin config history
mc-cmd
列出由 mc admin config 对配置键所做变更的历史记录。
由环境变量定义的配置不会显示在其中。
mc admin config import
mc-cmd
导入通过 mc admin config export 导出的配置设置。
mc admin config reset
mc-cmd
将配置重置为默认值。 在环境变量中定义的配置不受影响。
mc admin config restore
mc-cmd
将配置键的更改回滚到历史中的先前时间点。
不影响由环境变量定义的配置。
配置设置
可用配置设置列表请参见 设置概览。
8.26 - mc admin policy entities
语法
列出目标 MinIO 部署中与策略、用户或组关联的实体。
变更: RELEASE.2023-05-27T05-56-19Z
此命令仅返回 MinIO 管理的用户和组。
如需列出与 Active Directory 或 LDAP(AD/LDAP)配置关联的实体,请使用 mc idp ldap policy entities。
例如,你可以列出附加到某个策略的所有用户和组,或者列出附加到特定用户或组的所有策略。
以下命令返回别名为 myminio 的部署中与用户 bob 关联的策略列表。
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
重要
此命令仅用于管理 MinIO 管理的 用户的策略关联。
如需管理 OpenID 管理用户的策略,请参阅 OpenID Connect 访问管理。
如需查看 Active Directory/LDAP 用户或组的策略,请使用 mc idp ldap policy entities。
参数
mc admin policy entities 命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,将在该部署上添加新策略。
--group
mc-cmd
Optional
要列出其附加策略的组身份名称。
你可以通过多次重复该标志来包含多个组。 命令会返回每个组及其关联实体列表。
--policy
mc-cmd
Optional
要列出其关联实体的策略名称。
你可以通过多次重复该标志来包含多个策略。 命令会返回每个策略及其所有关联实体列表。
--user
mc-cmd
Optional
要列出其附加策略的身份用户名。
你可以通过多次重复该标志来包含多个用户。 命令会返回每个用户及其关联策略列表。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出某个部署的所有实体及策略关联
以下命令列出别名为 myminio 的部署上所有策略及其关联的实体映射。
列出与两个不同策略关联的实体
以下命令列出别名为 myminio 的部署上与策略 inteam-policy 和 mlteam-policy 关联的所有实体。
列出与两个不同用户关联的策略
以下命令列出别名为 myminio 的部署上与用户 bob 和 james 关联的所有策略。
该命令先输出与 bob 关联的策略列表,再输出别名为 myminio 的部署中与 james 关联的策略列表。
列出与两个不同组关联的策略
以下命令列出别名为 myminio 的部署上与组 auditors 和 accounting 关联的所有策略。
该命令先输出与组 auditors 关联的策略列表,再输出别名为 myminio 的部署中与组 accounting 关联的策略列表。
列出与一个策略、一个组和一个用户关联的策略
以下命令列出别名为 myminio 的部署上与策略 finteam-policy、用户 bobfisher 和组 consulting 关联的所有策略。
该命令先输出与策略 finteam-policy 关联的组和用户列表,然后列出与用户 bobfisher 关联的策略,最后列出别名为 myminio 的部署中与组 consulting 关联的策略。
输出
命令输出类似如下:
8.27 - mc admin user info
语法
mc admin user info 命令返回目标 MinIO 部署中某个 MinIO 用户 的详细信息。
如需管理外部身份提供商用户,请参见 OIDC 或 AD/LDAP。
以下命令返回 myminio MinIO 部署中用户 myuser 的详细信息:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
用于获取用户信息的已配置 MinIO 部署的 alias。
USERNAME
mc-cmd
要查询信息的用户名。
全局标志
此命令支持 全局标志 中的任意选项。
变更: RELEASE.2023-05-26T23-31-54Z
mc admin user info --json 输出包含用户通过组成员关系继承的策略,位于 memberOf 中。
示例
查看用户详细信息
使用 mc admin user info 查看 MinIO 部署中某个用户的详细信息:
对于 MinIO 内部身份提供商 (IDP),输出类似如下:
对于 LDAP 等 第三方 身份服务,输出类似如下:
查看来自组成员关系的策略
将 mc admin user info 与 --json 配合使用,可查看用户从其 组成员关系 继承的策略:
输出中的 memberOf 属性包含该用户所属组的列表,以及附加到各组的策略。 输出类似如下:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.28 - mc admin user svcacct enable
重要
此命令已被替代,并将在未来的 MinIO 客户端 发布版本中弃用。
从 MinIO客户端版本RELEASE.2024-10-08T09-37-26Z 起,使用 mc admin accesskey enable 命令为内置 MinIO IDP 用户启用访问密钥。
如需为 AD/LDAP 用户启用访问密钥,请使用 mc idp ldap accesskey enable 命令。
语法
mc admin user svcacct enable 命令用于启用现有访问密钥。
以下命令启用指定的访问密钥:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
SERVICEACCOUNT
mc-cmd
Required
要启用的服务账户访问密钥。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.29 - mc admin accesskey info
语法
mc admin accesskey info 命令返回指定 access key(s) 的描述信息。
描述输出会在可用时包含以下详细信息:
- Access Key
- 指定访问密钥的父用户
- 访问密钥状态(
on或off) - 策略(单个或多个)
- 注释
- 过期时间
以下命令返回指定访问密钥的信息:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
ACCESSKEY
mc-cmd
Required
要显示的访问密钥。
通过空格分隔多个访问密钥,可返回多个访问密钥的信息。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示访问密钥详细信息
使用 mc admin accesskey info 显示 MinIO 部署中某个访问密钥的详细信息:
- 将
myminio替换为 MinIO 部署的alias。 - 将
myaccesskey替换为要显示信息的访问密钥。 如需列出多个密钥,请使用空格分隔。
输出类似如下:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.30 - mc admin decommission
语法
mc admin decommission 命令用于启动 MinIO 服务器池s 的下线流程。下线流程适用于移除较旧的服务器池,这些服务器池的硬件能力或性能已不再满足要求, 或相较部署中的其他池表现不足。MinIO 会根据每个池可用空闲空间的比例,自动将数据从被下线 的池迁移到部署中其余的池。
有关服务器池下线的完整操作流程,请参阅 退役 服务器池。
下线是永久性的
一旦 MinIO 开始下线某个池,就会将该池标记为 永久 非活动状态(“draining”)。 取消或以其他方式中断下线流程都 不会 将该池恢复为活动状态。
下线是一项重要的管理操作,规划和执行都需要谨慎处理,不是轻量或“日常”任务。
MinIO SUBNET 用户可以 log in 并创建与下线相关的新 issue。通过 SUBNET 与 MinIO Engineering 协同可提高下线成功率,包括性能测试和健康诊断。
社区用户可在 MinIO Community Slack 寻求支持。社区支持仅为 best-effort,不提供响应 SLA。
参数
start
mc-cmd
必需 启动 TARGET 指定服务器池的下线流程。
必须指定 TARGET
status
mc-cmd
必需 返回指定 ALIAS 上所有服务器池的下线状态:
- Active - 该池处于活动状态,且未计划下线。
- Draining - 该池当前正在下线。
- Draining (Failed) - 下线流程失败,需要手动重启流程。
- Draining (Cancelled) - 下线流程已被手动取消。
如果命令包含 TARGET,则在下线进行中时, 命令输出会包含数据迁移速率。
cancel
mc-cmd
必需 取消 TARGET 指定池上的进行中下线流程。
必须指定 TARGET。
取消下线流程不会使该池恢复为活动状态。最终仍必须完成下线流程并将该池从部署中移除。 可以再次对该池运行 mc admin decommission start 以恢复流程。
ALIAS
mc-cmd
必需 要启动下线流程的 MinIO 部署的 alias。
TARGET
mc-cmd
命令所操作服务器池的完整描述。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
有关服务器池下线的完整操作流程,请参阅 退役 服务器池。
8.31 - mc admin policy info
语法
如果目标 MinIO 部署上存在指定策略,则以 JSON 格式返回该策略。
以下命令显示 alias myminio 上 writeonly 策略的内容。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
mc admin policy info 命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,用于显示指定策略。
POLICYNAME
mc-cmd
Required
要显示其详细信息的策略名称。
--policy-file
mc-cmd
Optional
指定一个文件路径,用于写入指定策略的 JSON 内容。 如果该路径已存在,命令会用指定策略的内容覆盖已有文件。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示 alias myminio 上 writeonly 策略的内容。
显示指定策略的信息,并将策略 JSON 内容写入 /tmp/policy.json。
输出
该命令返回的输出类似如下:
8.32 - mc admin user ls
语法
mc admin user ls 命令会列出目标 MinIO 部署上的所有 MinIO 用户。
mc admin user list 命令与 mc admin user ls 功能等效。
mc admin user ls 不会 返回与用户关联的 access key 或 secret key。 使用 mc admin user info 可获取用户详细信息,包括用户的 access key。
要管理外部 Identity Provider 用户,请参阅 OIDC 或 AD/LDAP。
以下命令会列出 myminio MinIO 部署上的所有用户:
该命令具有以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 MinIO 部署的 alias,命令将从该部署中列出用户。
全局参数
此命令支持 全局标志 中的任意选项。
示例
列出可用用户
使用 mc admin user ls 列出 MinIO 部署上的所有用户:
输出类似如下:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.33 - mc admin user svcacct info
重要
此命令已被替代,并将在未来的 MinIO 客户端版本中弃用。
从 MinIO客户端版本RELEASE.2024-10-08T09-37-26Z 开始,请使用 mc admin accesskey info 命令显示内置 MinIO IDP 用户的 access key 信息。
对于 AD/LDAP 用户的 access key,请使用 mc idp ldap accesskey info 命令。
语法
mc admin user svcacct info 命令返回指定 access key 的描述信息。
在 MinIO 中,“Access Keys” 与 “Service Accounts” 功能等效,并取代了后者这一概念。
描述输出在可用时包含以下详细信息:
- Access Key
- 指定 access key 的父用户
- access key 状态(
on或off) - 策略(单个或多个)
- 注释
- 过期时间
使用 --policy 查看附加的策略。
以下命令返回指定 access key 的信息:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
ACCESSKEY
mc-cmd
Required
要显示的 service account access key。
--policy
mc-cmd
Optional
显示附加到指定 service account 的策略。
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示 Service Account 详情
使用 mc admin user svcacct info 显示 MinIO 部署上某个 service account 的详细信息:
输出类似如下:
显示 Service Account 策略详情
使用 mc admin user svcacct info 显示附加到 service account 的策略:
输出类似如下:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.34 - mc admin accesskey ls
语法
mc admin accesskey ls 命令列出 MinIO 部署管理的用户、访问密钥或临时 security token service 密钥。
mc admin accesskey list 别名与 mc admin accesskey ls 功能等效。
以下命令列出别名为 myminio 的部署中,用户名为 admin1 的用户关联的所有访问密钥:
输出如下所示:
该命令使用以下语法:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
USER
mc-cmd
Optional
要显示其访问密钥的用户名称。 多个用户名之间使用空格分隔。
--all
mc-cmd
Optional
列出所有用户及其关联的任意访问密钥或临时 STS 密钥。 需要具有该部署的管理员权限。
此标志与该命令的其他可用标志互斥。
--svcacc-only
mc-cmd
Optional
列出部署上的临时 Security Token Service (STS) keys。
此标志与该命令的其他可用标志互斥。
--self
mc-cmd
Optional
列出当前已认证用户的访问密钥和 STS 密钥。
此标志与该命令的其他可用标志互斥。
--temp-only
mc-cmd
Optional
列出用户及其访问密钥。 仅返回已关联访问密钥的用户。
运行命令的用户必须具有管理员权限才能使用此标志。
此标志与该命令的其他可用标志互斥。
--users-only
mc-cmd
Optional
列出该部署管理的 MinIO 用户。 与 --all 标志配合使用可列出部署上的所有用户。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出所有内置用户及其关联访问密钥
以下命令列出别名为 myminio 的 MinIO 部署所管理的所有用户,以及其关联的任意访问密钥或临时 STS 令牌。
返回当前已认证用户的访问密钥列表
以下命令列出 myminio 部署中与当前已认证用户关联的访问密钥或临时 STS 令牌。
列出由部署创建并管理的所有用户
以下命令返回当前部署上的所有用户列表。 该列表仅包含由 MinIO IDP 管理的用户,不包含通过 OpenID 或 Active Directory/LDAP 等协议由第三方工具管理的用户。
返回与用户 miniouser1 和 miniouser2 关联的访问密钥列表
以下命令返回 myminio 部署上这两个用户的访问密钥列表。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.35 - mc admin group
说明
mc admin group 命令用于管理 MinIO 部署上的组。
组 是 用户 的集合。每个组都可以分配一个或多个 策略,用于明确列出允许或拒绝组成员访问的 操作和资源。对于具有相同访问模式和工作负载的用户,组提供了一种 简化的共享权限管理方式。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
组与基于策略的访问控制
MinIO 使用 基于策略的访问控制 (PBAC) 对已成功在部署上 认证 的用户执行 授权。每条策略都包含规则,用于规定该部署上 允许或拒绝的操作/资源。可以为一个组分配一个或多个 策略。属于该组的用户会继承该组已分配的策略。用户的 总权限集合包括其显式分配的策略,以及 通过组成员关系继承的策略。
新创建的组默认 不 包含任何策略。要配置组的已分配策略,请使用 mc admin policy attach 命令。
有关 MinIO 用户和组的更多信息,请参见 用户管理 和 组管理。有关 MinIO 策略的更多信息, 请参见 MinIO Policy Based Access Control。
Deny 会覆盖 Allow
MinIO 遵循 IAM 标准:在同一操作或资源上,Deny 规则会覆盖 Allow 规则。 例如,如果某个用户显式分配的策略对某个操作/资源包含 Allow 规则, 而该用户所属的某个组所分配策略对同一操作/资源包含 Deny 规则, 则 MinIO 只会应用 Deny 规则。
有关 IAM 策略评估逻辑的更多信息,请参见 IAM 文档中的 Determining Whether a Request is Allowed or Denied Within an Account。
示例
创建新组
使用 mc admin group add 在兼容 S3 的主机上创建新组:
- 将
ALIAS替换为兼容 S3 主机的alias。 - 将
GROUPNAME替换为要创建的 组名。 - 将
MEMBER替换为 S3 主机上 至少 一个用户。多个成员可按列表方式指定:MEMBER1 MEMBER2 MEMBER3
列出可用组
使用 mc admin group ls 列出兼容 S3 主机上的所有组:
查看组详情
使用 mc admin group info 查看兼容 S3 主机上的组详细信息:
删除组
使用 mc admin group rm 从兼容 S3 主机删除组:
禁用组
使用 mc admin group disable 禁用兼容 S3 主机上的组:
启用组
使用 mc admin group enable 启用兼容 S3 主机上的组:
快速参考
mc admin group add TARGET GROUPNAME MEMBERS
将用户添加到 MinIO 部署上的组。如果组不存在,则创建该组。
mc admin group info TARGET GROUPNAME
返回 MinIO 部署上某个组的详细信息。
返回 MinIO 部署上所有组的列表。
mc admin group rm TARGET GROUPNAME
删除 MinIO 部署上的组。
mc admin group enable TARGET GROUPNAME
启用 MinIO 部署上的组。用户只能继承已启用组分配的 策略。
mc admin group disable TARGET GROUPNAME
禁用 MinIO 部署上的组。用户不能继承已禁用组分配的 策略。
语法
mc admin group add
mc-cmd
将现有用户添加到组中。如果组不存在,该命令会创建组。 命令语法如下:
该命令接受以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,命令会在该部署上 向新建或现有组添加用户
GROUPNAME
mc-cmd
组名。如果组尚不存在,该命令会创建组。可使用 mc admin group ls 查看部署上的现有组。
组名不能包含 =(等号)或 ,(逗号)字符。
MEMBERS
mc-cmd
要添加到组中的用户名。
该用户 必须 存在于 TARGET MinIO 部署上。可使用 mc admin user ls 查看部署上的可用 用户。
mc admin group info
mc-cmd
返回目标部署上该组的详细信息,例如组内所有 用户 以及分配的 策略。命令语法如下:
该命令接受以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,用于从该部署中 获取组信息。
GROUPNAME
mc-cmd
组名。
mc admin group ls, list
mc-cmd
列出目标 MinIO 部署上的所有组。命令语法如下:
该命令接受以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,用于从该部署中 获取组列表。
mc admin group rm, remove
mc-cmd
删除目标 MinIO 部署上的组。删除组 不会 删除该组中的任何成员用户。请使用 mc admin user rm 从组中移除用户。
命令语法如下:
该命令接受以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,命令会在该部署上 删除组。
GROUPNAME
mc-cmd
要删除的组名。
mc admin group enable
mc-cmd
启用目标 MinIO 部署上的组。用户只能从已启用组继承 策略。 组在创建时默认处于启用状态。命令语法如下:
该命令接受以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,命令会在该部署上 启用组。
GROUPNAME
mc-cmd
要启用的组名。
mc admin group disable
mc-cmd
禁用目标 MinIO 部署上的组。用户不能从已禁用组继承 策略。命令语法如下:
该命令接受以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,命令会在该部署上 禁用组。
GROUPNAME
mc-cmd
要禁用的组名。
8.36 - mc admin policy ls
语法
列出目标 MinIO 部署上的所有策略。
mc admin policy list 命令与 mc admin policy ls 具有等效功能。
以下命令显示 alias play 上当前存在的策略列表。
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
mc admin policy ls 命令接受以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,命令将从该部署列出可用策略。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出别名为 myminio 的部署上存在的策略。
输出
该命令返回的输出类似如下:
8.37 - mc admin user rm
语法
mc admin user rm 命令用于在目标 MinIO 部署上移除 MinIO 用户。
mc admin user remove 命令与 mc admin user rm 的功能等效。
要管理外部身份提供商用户,请参阅 OIDC 或 AD/LDAP。
以下命令会在 myminio MinIO 部署上移除用户 myuser:
在目标 MinIO 部署上移除用户。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
已配置 MinIO 部署的 alias,该部署中包含要移除的用户。
USERNAME
mc-cmd
Required
要移除的用户名。
全局标志
此命令支持 全局标志 中的任意选项。
示例
移除用户
使用 mc admin user rm 从 MinIO 部署中移除用户:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.38 - mc admin user svcacct ls
重要
此命令已被替代,并将在未来的 MinIO 客户端版本中弃用。
从 MinIO客户端版本RELEASE.2024-10-08T09-37-26Z 起,请使用 mc admin accesskey ls 命令列出 MinIO 内置 IDP 用户的访问密钥。
对于 AD/LDAP 用户的访问密钥,请使用 mc idp ldap accesskey ls 命令。
语法
mc admin user svcacct ls 命令列出与指定用户关联的所有访问密钥。
mc admin user svcacct list 别名与 mc admin user svcacct ls 具有等效功能。
以下命令列出用户名为 admin1 的用户关联的所有访问密钥:
输出如下所示:
新增: RELEASE.2023-05-26T23-31-54Z
访问密钥列表包含到期时间;对于永不过期的密钥,显示 no-expiry。
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
USER
mc-cmd
Required
要列出其访问密钥的用户名。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.39 - mc admin accesskey rm
语法
mc admin accesskey rm 命令用于删除部署中与某个用户关联的访问密钥。
mc admin accesskey remove 命令与 mc admin accesskey rm 的功能等效。
警告
删除后,应用程序将无法再使用该访问密钥进行身份验证。
以下命令会删除指定的访问密钥:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
ACCESSKEYTOREMOVE
mc-cmd
Required
要删除的访问密钥。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.40 - mc admin heal
说明
mc admin heal 命令会扫描受损或损坏的对象,并对这些对象执行自愈。
mc admin heal 资源开销较大,通常不需要手动执行,即使在驱动器故障或数据损坏事件之后也是如此。
作为正常运行的一部分,MinIO 会:
- 在每次
POST或GET操作时,自动修复因静默位腐坏、驱动器故障或其他问题而受损的对象。 - 使用 scanner 周期性执行后台对象自愈。
- 在更换驱动器后积极执行对象自愈。
有关 MinIO 如何执行对象自愈的更多详细信息,请参阅 对象自愈。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
语法
mc admin heal 使用以下语法:
mc admin heal 支持以下参数:
TARGET
mc-cmd
Required
执行对象自愈的存储桶或存储桶前缀的完整路径。 指定已配置的 MinIO 部署的 alias 作为该路径的前缀。 例如:
如果 TARGET 存储桶或存储桶前缀存在活动的自愈扫描,命令将返回该扫描的状态。
--all-drives, -a
mc-cmd
Optional
选择所有驱动器并显示详细信息。
--force
mc-cmd
Optional
禁用警告提示。
--verbose, -v
mc-cmd
Optional
显示离线和故障驱动器的自愈信息。
自愈颜色
某些版本的 MinIO 使用颜色标识来区分不同自愈状态的对象。
变更: mc
RELEASE.2024-11-17T19-35-25Z
颜色含义已更新。
- 绿色表示存储桶健康。
- 黄色表示存储桶在一个或多个驱动器上需要执行自愈。
- 红色表示一个或多个驱动器处于不健康状态。
- 灰色表示自愈状态不确定。
8.41 - mc admin policy rm
语法
从目标 MinIO 部署中移除 IAM 策略。
mc admin policy remove 命令与 mc admin policy rm 具有等效功能。
以下命令从 myminio MinIO 部署中移除名为 writeonly 的策略:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
mc admin policy rm 命令接受以下参数:
TARGET
mc-cmd
要移除策略的已配置 MinIO 部署的 alias。
POLICYNAME
mc-cmd
要移除的策略名称。
全局标志
此命令支持 全局标志 中的任意选项。
示例
移除名为 listbuckets 的策略。
8.42 - mc admin user sts info
语法
mc admin user sts info 命令用于检索指定 STS 凭证的信息,例如生成该凭证的父 MinIO user、关联策略和过期时间。
STS 凭证为 MinIO 部署提供临时访问权限。
以下命令检索具有指定访问密钥的 STS 凭证信息:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
STSACCESSKEY
mc-cmd
Required
STS 凭证的访问密钥。
--policy
mc-cmd
Optional
以 JSON 格式打印附加到指定 STS 凭证的策略。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.43 - mc admin user svcacct rm
重要
此命令已被替代,并将在未来的 MinIO 客户端版本中弃用。
从 MinIO客户端版本RELEASE.2024-10-08T09-37-26Z 起,请使用 mc admin accesskey rm 命令删除内置 MinIO IDP 用户的访问密钥。
对于 AD/LDAP 用户的访问密钥,请使用 mc idp ldap accesskey rm 命令。
语法
mc admin user svcacct rm 命令会删除部署中与某个用户关联的访问密钥。
mc admin user svcacct remove 命令与 mc admin user svcacct rm 的功能等效。
删除后,应用程序将无法再使用该访问密钥进行身份验证。
以下命令会删除指定的访问密钥:
命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
SERVICEACCOUNT
mc-cmd
Required
要删除的服务账户访问密钥。
全局标志
此命令支持 全局标志 中的任意选项。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
8.44 - mc admin info
描述
mc admin info 命令显示 MinIO 服务器的信息。 对于分布式 MinIO 部署,mc admin info 会显示部署中每个 MinIO 服务器的信息。
命令输出如下所示:
示例
以下示例假定 play 别名已存在于 mc 配置文件 中。你可以将 play 替换为 你首选 S3 兼容部署的别名。
有关别名的更多信息,请参阅 mc alias。
语法
mc admin info 语法如下:
将已配置 MinIO 部署的 alias 指定为 TARGET。
参数
TARGET
mc-cmd
Required
要显示信息的部署 alias。
--offline
mc-cmd
Optional
仅显示离线驱动器或节点。
8.45 - mc admin user svcacct
重要
这些命令已被替代,并将在未来的 MinIO 客户端版本中弃用。
自 MinIO客户端版本RELEASE.2024-10-08T09-37-26Z 起,与内置 MinIO IDP 用户及其访问密钥或 STS 令牌相关的功能,请使用 mc admin accesskey 命令及其子命令。
对于 AD/LDAP 用户的访问密钥,请使用 mc idp ldap accesskey 命令及其子命令。
描述
mc admin user svcacct 命令及其子命令用于在 MinIO 部署上创建和管理 访问密钥。
自 MinIO客户端版本RELEASE.2024-10-08T09-37-26Z 起,这些命令已由 mc admin accesskey 和 mc idp ldap accesskey 取代。 该命令及其子命令将在未来的 MinIO 客户端版本中弃用。
每个访问密钥都关联到一个 用户身份,并继承其父用户所附加的 策略 或 父用户所属组的策略。 每个访问密钥还支持可选的内联策略,用于进一步将访问限制在父用户可用操作和资源的子集范围内。
mc admin user svcacct 仅支持为 MinIO 托管 和 Active Directory/LDAP 托管 账户创建访问密钥。
如需为 OpenID Connect 托管用户 创建访问密钥,请登录 MinIO Console 并通过 UI 生成访问密钥。
mc admin user svcacct 命令包含以下子命令:
子命令 |
描述 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
8.46 - mc admin kms key
描述
mc admin kms key 命令通过 MinIO Key Encryption Service (KES) 执行加密密钥管理操作。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
语法
mc admin kms key create
mc-cmd
在 Key Management System (KMS) 上创建一个新的主密钥。
该命令语法如下:
该命令接受以下参数:
TARGET
mc-cmd
指定已配置 MinIO 部署的 alias。
TARGET 部署 必须 包含已配置的 MinIO Key Encryption Service (KES) 服务器。
KEY_NAME
mc-cmd
指定新主密钥的名称。
mc admin kms key status
mc-cmd
请求 Key Management System (KMS) 主密钥的信息。
该命令语法如下:
该命令接受以下参数:
TARGET
mc-cmd
指定已配置 MinIO 部署的 alias。
TARGET 部署 必须 包含已配置的 MinIO Key Encryption Service (KES) 服务器。
KEY_NAME
mc-cmd
指定 KMS 上主密钥的名称。
省略此参数可返回 TARGET 所指部署上的默认主密钥。
mc admin kms key list
mc-cmd
列出 MinIO 实例的所有 Key Management System (KMS) 密钥。
该命令语法如下:
该命令接受以下参数:
TARGET
mc-cmd
指定已配置 MinIO 部署的 alias。
TARGET 部署 必须 包含已配置的 MinIO Key Encryption Service (KES) 服务器。
8.47 - mc admin logs
需要完成 SUBNET 注册
mc support 命令面向已在 MinIO SUBNET 注册的 MinIO 部署设计,以确保诊断和 性能测试获得最佳结果。 未注册 SUBNET 的部署无法使用 mc support 命令。
变更: RELEASE.2022-12-02T23-48-47Z
mc support logs 已迁移至 mc admin logs,并提供了更简化的命令接口,用于显示 MinIO 部署的服务器日志。
对于由 systemd 管理的部署,其输出与 journalctl -uf minio 提供的内容类似。
描述
使用 mc admin logs 命令显示 MinIO 服务器日志。
上传功能默认保持禁用,只有在某个部署上明确选择加入后才会启用。 如果已经启用,你可以随时使用 mc support callhome disable 关闭该功能。
示例
显示某个部署的日志
以下命令显示别名为 minio1 的部署中任意类型的最近 10 条服务器日志。
显示某个节点最近 5 条日志条目
以下命令显示别名为 minio1 的部署中 node1 节点最近的 5 条日志条目。
显示某个部署的 application 类型日志条目
以下命令显示别名为 minio1 的部署中所有节点的 application 类型日志条目。
语法
命令语法如下:
参数
ALIAS
mc-cmd
Required
MinIO 部署的 alias。
--last, -l
mc-cmd
Optional
仅显示最近指定数量的日志条目。
如果不包含此标志,则最多显示最近 10 条日志条目。
--type, --type
mc-cmd
Optional
列出指定类型的日志条目。 有效类型为 minio、application 或 all。
如果未指定,则显示所有类型的日志条目。
NODE
mc-cmd
Optional
在分布式部署中,输入节点名称以指定要显示其日志的节点。
全局标志
此命令支持 全局标志 中的任意选项。
8.48 - mc admin policy
变更: mc
RELEASE.2023-03-20T17-17-53Z
以下命令已弃用:
mc admin policy add请改用mc admin policy createmc admin policy set请改用mc admin policy attachmc admin policy unset请改用mc admin policy detachmc admin policy update请改用attach或detach
新增以下命令:
说明
mc admin policy 命令用于管理可与 MinIO 基于策略的访问控制 (PBAC) 配合使用的策略。 MinIO PBAC 使用与 IAM 兼容的策略 JSON 文档来定义访问 MinIO 服务器资源的规则。
有关 MinIO PBAC 的完整文档(包括策略文档 JSON 结构与语法),请参阅 访问管理。要管理使用 LDAP 认证的部署中的策略,请参阅 mc idp ldap policy。
子命令
mc admin policy 包含以下子命令:
子命令 |
说明 |
|---|---|
将一个或多个 IAM 策略附加到 MinIO 管理的用户或组。 |
|
在目标 MinIO 部署上创建一个新策略。 |
|
从 MinIO 管理的用户或组 中移除一个或多个 IAM 策略。 |
|
列出目标 MinIO 部署中与策略、用户或组关联的实体。 |
|
如果目标 MinIO 部署上存在指定策略,则以 JSON 格式返回该策略。 |
|
列出目标 MinIO 部署上的所有策略。 |
|
从目标 MinIO 部署中移除 IAM 策略。 |
8.49 - mc admin prometheus
说明
mc admin prometheus 命令及其子命令用于访问 MinIO Prometheus 指标。
子命令
mc admin prometheus 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
8.50 - mc admin rebalance
权限
执行此命令的用户必须拥有该部署的 admin:Rebalance 策略操作。
描述
mc admin rebalance 命令可用于在 MinIO 部署上启动、监控或停止再平衡操作。 再平衡会在部署中的所有池之间重新分配对象。
当新增 服务器池 时,MinIO 不会自动对对象执行再平衡。 相反,MinIO 会将 新对象写入 相较于部署中其他可用池可用空间更多的池。 触发手动再平衡流程会促使 MinIO 扫描整个部署,并按需移动对象,以使所有池的可用空间大致相当。
这是一项开销大且耗时的操作。 建议仅在部署负载较轻或空闲时运行再平衡流程。 如果在再平衡期间发生写操作,这些写操作会并行处理,并写入当前未参与再平衡的池。
你可以停止再平衡,并在之后按需重新启动。
使用以下命令跟踪正在进行的再平衡操作进度:
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
mc admin rebalance 命令具有以下子命令:
| 子命令 | 说明 |
|---|---|
mc admin rebalance start |
在 MinIO 部署上启动再平衡操作。 |
mc admin rebalance status |
输出正在进行的再平衡操作的当前状态。 |
mc admin rebalance stop |
停止正在进行中的再平衡操作。 |
语法
mc admin rebalance start
mc-cmd
为 MinIO 部署启动再平衡操作。
假设一个 MinIO 部署有两个池,并分配了别名 minio1。 其中一个池有 250 GB 可用空间,另一个池有 3 TB 可用空间。
mc admin rebalance 命令会将对象从可用空间较少的池迁移到可用空间较多的池,使两个池的可用空间大致相等。
mc admin rebalance status
mc-cmd
查询具有活动再平衡进程的部署,并返回该再平衡进程的状态信息。
状态输出包括再平衡操作 ID、操作时间,以及部署中每个池的详细信息。 对每个池,状态会显示池 ID、该池的再平衡状态、已用空间百分比以及该池的再平衡进度。
mc admin rebalance stop
mc-cmd
结束指定部署上正在进行中的再平衡任务。
全局标志
此命令支持 全局标志 中的任意选项。
行为
先备份集群设置
在开始下线操作前,使用 mc admin cluster bucket export 和 mc admin cluster iam export 命令分别对存储桶元数据和 IAM 配置进行快照。 必要时可使用这些快照恢复存储桶/IAM 设置,以便从用户或进程错误中恢复。
再平衡会忽略已过期对象和尾部 DeleteMarker
从 RELEASE.2023-06-23T20-26-00Z 开始,再平衡会忽略那些基于父存储桶已配置的 生命周期规则 而过期的对象版本。
再平衡还会忽略仅剩余版本为 删除标记 的对象。 这可避免对已被视为完全删除的对象执行跨池 I/O。
MinIO 依赖 scanner 来识别并清理这些过期对象或尾部 DeleteMarker 对象。
8.51 - mc admin replicate
变更: RELEASE.2023-01-11T03-14-16Z
mc admin replicate editrenamed tomc admin replicate updatemc admin replicate removerenamed tomc admin replicate rm
描述
mc admin replicate 命令用于为一组 MinIO 对等站点创建并管理 站点复制。
站点复制类似于 active-active 存储桶复制,但适用于多个 MinIO 部署。 在这组站点中,无论 IAM 设置、存储桶或对象发生何种变更,该变更都会在站点复制组中的所有站点间复制。
存储桶复制 用于在单个部署内或跨部署将特定存储桶或对象从一个位置镜像到另一个位置,而站点复制会持续将整个 MinIO 站点镜像到其他站点。
在配置站点复制时,mc admin replicate 仅支持 分布式部署 的站点复制。
在初始化新的站点复制配置时,只允许一个部署包含数据。
站点复制会对所有存储桶强制启用 存储桶版本控制,包括现有存储桶以及启动站点复制后新增的任何存储桶。 与仅处理对象最新版本的 mc mirror 相比,站点复制会完整同步版本化对象。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
mc admin replicate 命令包含以下子命令:
| 子命令 | 描述 |
|---|---|
mc admin replicate add |
创建新的站点复制配置,或扩展现有配置。 |
mc admin replicate info |
返回站点复制配置信息。 |
mc admin replicate resync |
当第二个站点丢失数据时,将一个站点中的内容重新同步到第二个站点。 |
mc admin replicate rm |
删除整个站点复制配置,或将一个或多个对等站点从站点复制中移除。 |
mc admin replicate status |
显示参与站点之间 可复制数据 的状态。 |
mc admin replicate update |
修改站点复制配置中指定对等站点的 endpoint。 |
语法
mc admin replicate add
mc-cmd
创建或扩展站点复制配置。 按 MinIO 的建议,该配置默认使用异步站点复制。
若要启用同步站点复制,请先使用此命令创建复制配置。 然后使用 mc admin replicate update --mode sync 更新配置。
假设一个多站点 MinIO 拓扑包含三个独立的 MinIO 部署,使用以下 别名:minio1、minio2 和 minio3。 三个站点之间都具备完整的双向网络访问,并且站点间延迟较低。
以下命令将一个现有站点复制配置(包含对等站点 minio1、minio2、minio3 和 minio4)扩展到新的对等站点 minio5。 minio5 不包含任何数据。 请先列出 所有 现有对等站点。 最后列出要扩展到的站点。
如果任一现有站点不可达,请先使用 mc admin replicate rm 删除不可达站点,再继续扩展站点复制。
以下命令创建新的站点复制配置,并在对等站点 minio1、minio2 和 minio3 之间同步 ILM 过期规则。
命令语法如下:
ALIAS
mc-cmd
Required
要纳入站点复制的 MinIO 部署 别名。
创建站点复制至少需要两个 MinIO 部署别名。 只有第一个别名可以包含存储桶或对象。 第一个站点也可以为空。
要将现有站点复制扩展到一个或多个新站点,请先列出待扩展的站点复制集合中所有现有对等站点的 别名。 然后再附加一个或多个 别名,将其加入现有站点复制。 新增对等站点必须为空。
--replicate-ilm-expiry
mc-cmd
Optional
新增: mc
RELEASE.2023-12-02T02-03-28Z
在对等站点间复制 ILM expiration 规则。
mc admin replicate update
mc-cmd
修改参与站点复制的现有对等站点所使用的 endpoint。
变更: RELEASE.2023-01-11T03-14-16Z
mc admin replicate edit renamed to mc admin replicate update.
命令语法如下:
ALIAS
mc-cmd
Required
MinIO 部署的 别名。
--bucket-bandwidth
mc-cmd
以每秒比特为单位设置存储桶的默认带宽限制。
有效单位包括:
B表示字节K表示千字节M表示兆字节G表示吉字节T表示太字节Ki表示 kibibyteMi表示 mibibyteGi表示 gibibyteTi表示 tebibyte
例如,以下命令将 myminio 部署上的复制带宽限制为不超过每秒 2 Gigabytes。
--deployment-id
mc-cmd
Required
要修改的部署唯一 ID。
可通过运行 mc admin replicate info ALIAS 获取部署 ID
--disable-ilm-expiry-replication
mc-cmd
Optional
新增: mc
RELEASE.2023-12-02T02-03-28Z
停止在对等站点之间复制 ILM 过期规则。 对等站点之间已经同步的现有规则不会从任何对等站点移除。
--enable-ilm-expiry-replication
mc-cmd
Optional
新增: mc
RELEASE.2023-12-02T02-03-28Z
开始在对等站点之间复制 ILM 过期规则。
--endpoint
mc-cmd
Required
与该对等站点关联的新 endpoint 或 URL。
--mode
mc-cmd
Optional
指定 MinIO 对该对等站点执行同步或异步复制操作。 可用值为 sync 和 async。
默认值为 async。
--sync
mc-cmd
Optional
重要
--sync 标志自 RELEASE.2023-07-07T05-25-51Z 起已弃用。 请改用 --mode。
启用或禁用同步站点复制。 可用值为 enable 和 disable。 若未定义,MinIO 使用异步站点复制。
mc admin replicate rm, remove
mc-cmd
变更: RELEASE.2023-01-11T03-14-16Z
mc admin replicate remove 子命令重命名为 mc admin replicate rm。
从站点复制配置中移除一个或多个站点。
请注意,如果你打算未来将该站点重新加入站点复制配置,则其必须不包含任何 可复制数据。
从包含 minio2 的现有站点复制配置中,移除所有已连接站点的站点复制。 这会删除所有参与站点的站点复制配置。
从包含 minio2 的现有站点复制配置中移除别名为 minio5 和 minio6 的站点
命令语法如下:
TARGET
mc-cmd
Required
要操作的站点复制中,处于活动状态的 MinIO 部署 别名。 除非要从站点复制中移除所有站点,否则不要使用待移除部署的别名。
ALIAS
mc-cmd
Optional
要从站点复制配置中移除的活动 MinIO 部署 别名。 可重复指定以移除更多站点。
--all
mc-cmd
Optional
包含此标志可移除为站点复制配置的所有站点,并结束该站点复制配置。
--force
mc-cmd
Required
此标志会强制从站点复制配置中移除指定的对等站点。
mc admin replicate info
mc-cmd
返回站点复制配置中各站点的信息。
ALIAS
mc-cmd
Required
站点复制配置中活动 MinIO 部署的 别名。
mc admin replicate status
mc-cmd
显示站点复制配置中站点、存储桶、用户、组或策略的状态。
显示包含站点 minio1 的站点复制配置的整体复制状态。
显示包含站点 minio1 的站点复制配置中,跨站点的存储桶复制状态。
显示包含站点 minio1 的站点复制配置中,名为 images 的存储桶在跨站点间的站点复制状态。
显示包含站点 minio1 的站点复制配置中,用户 janedoe 设置在跨站点间的站点复制状态。
上述示例的输出类似如下:
显示包含站点 minio1 的站点复制配置中,规则 ID 为 ckok9v5b4dtgofkbi6tg 的 ILM 过期规则在跨站点间的站点复制状态。
输出类似如下:
TARGET
mc-cmd
Required
站点复制配置中活动 MinIO 部署的 别名。
--all
mc-cmd
Optional
显示所有可用的站点复制状态信息。
--buckets
mc-cmd
Optional
显示所有存储桶的复制状态。
--bucket
mc-cmd
Optional
在该标志后指定存储桶名称,以显示特定存储桶的复制状态。
--groups
mc-cmd
Optional
显示所有组的复制状态。
--group
mc-cmd
Optional
在该标志后指定组名称,以显示特定组的复制状态。
--ilm-expiry-rules
mc-cmd
Optional
新增: mc
RELEASE.2023-12-02T02-03-28Z
显示 ILM 过期规则的同步信息。
与 --ilm-expiry-rule 互斥
--ilm-expiry-rule
mc-cmd
Optional
新增: mc
RELEASE.2023-12-02T02-03-28Z
显示指定 ILM 过期规则的复制状态信息。
与 --ilm-expiry-rules 互斥
--policies
mc-cmd
Optional
显示所有策略的复制状态。
--policy
mc-cmd
Optional
在该标志后指定策略名称,以显示特定策略的复制状态。
--users
mc-cmd
Optional
显示所有用户的复制状态。
--user
mc-cmd
Optional
在该标志后指定用户名,以显示特定用户的复制状态。
mc admin replicate resync
mc-cmd
在数据丢失场景下,将复制配置中一个站点的数据重新同步到复制配置中的第二个站点。
以下命令启动重新同步过程,将 minio1 的数据恢复到 minio2
以下命令显示当前进行中的重新同步状态。
以下命令停止进行中的重新同步。
- 将
ALIAS1替换为拥有待恢复数据的站点别名。 - 将
ALIAS2替换为需要重新同步数据的站点别名。
start
mc-cmd
从拥有数据的一个站点到需要同步的第二个站点,发起新的重新同步流程。
status
mc-cmd
显示已配置站点复制的两个站点之间,现有重新同步流程的状态。
cancel
mc-cmd
结束已配置站点复制的两个站点之间当前进行中的重新同步流程。
alias1
mc-cmd
站点复制配置中活动 MinIO 部署的 别名,其包含你希望重新同步到另一个站点的数据。
alias2
mc-cmd
站点复制配置中活动 MinIO 部署的 别名,其需要从另一个站点重新同步数据。
全局标志
此命令支持 全局标志 中的任意选项。
8.52 - mc admin scanner
说明
mc admin scanner 命令提供有关 scanner 进程的信息。
子命令
mc admin scanner 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
8.53 - mc admin service
说明
mc admin service 命令可用于重启或解除冻结 MinIO 服务器。
mc admin service 会同时影响目标部署中的 所有 MinIO 服务器。 该命令会中断 MinIO 部署上正在进行的 API 操作。对某个部署执行此命令时请谨慎。
mc admin 仅用于 MinIO 部署
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
示例
重启目标部署中的 MinIO 服务器
以下示例使用默认的 myminio 别名。myminio 别名指向运行在 9000 端口上的本地 minio 服务器。有关安装并运行本地 minio 服务器实例的更多信息,请参阅 <installation instructions>。
有关别名的更多信息,请参阅 mc alias。
恢复目标部署上的 S3 调用
以下示例使用默认的 myminio 别名。myminio 别名指向运行在 9000 端口上的本地 minio 服务器。有关安装并运行本地 minio 服务器实例的更多信息,请参阅 <installation instructions>。
有关别名的更多信息,请参阅 mc alias。
语法
mc admin service 的语法如下:
mc admin service 支持以下命令:
restart
mc-cmd
重启 MinIO 服务器。 如有需要,命令可能会根据状态建议重启节点。
mc admin service restart 的语法如下:
指定已配置 MinIO 部署的 alias。 restart 会重启该部署中的 所有 MinIO 服务器。
unfreeze
mc-cmd
恢复 MinIO 集群上的 S3 API 调用。
mc admin service unfreeze 的语法如下:
指定已配置 MinIO 部署的 alias。
8.54 - mc admin trace
说明
mc admin trace 命令显示目标 MinIO 部署上发生的 API 操作。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
示例
监控所有 API 操作
使用 mc admin trace 监控 MinIO 部署上的 API 操作:
查看返回 503 错误的调用
使用 mc admin trace 监控返回 503 Service Unavailable 错误的 API 操作:
查看指定路径的控制台跟踪
使用 mc admin trace 监控指定路径的活动:
查看响应大小大于 1Mb 的控制台跟踪
使用 mc admin trace 监控超过指定大小的响应:
查看请求操作时长大于 5ms 的控制台跟踪
使用 mc admin trace 监控耗时较长的操作:
语法
mc admin trace 的语法如下:
mc admin trace 支持以下参数:
TARGET
mc-cmd
指定已配置 MinIO 部署的 alias,用于监控其 API 操作。
--all, a
mc-cmd
返回 MinIO 部署上的所有流量,包括 MinIO 服务器之间的节点间流量。
--call
mc-cmd
仅跟踪匹配的客户端操作或调用类型。 例如,以下命令仅跟踪 scanner 类型的操作。
有效的调用类型包括:
batch-keyrotationbatch-replicationbootstrapdecommissionftphealingilminternalosrebalancereplication-resyncs3scannerstorage
如果未指定,MinIO 返回 s3 类型的调用。
--errors, e
mc-cmd
仅返回失败的 API 操作。
--filter-request
mc-cmd
跟踪请求大小大于指定 --filter-size 值的客户端操作或调用。
必须与 --filter-size 标志一起使用。
--filter-response
mc-cmd
跟踪响应大小大于指定 --filter-size 值的客户端操作或调用。
必须与 --filter-size 标志一起使用。
--filter-size
mc-cmd
过滤后的客户端操作或调用的大小限制。
必须与 --filter-request 或 --filter-response 标志之一一起使用。
有效单位包括:
| 后缀 | 单位大小 |
|---|---|
k |
KB(Kilobyte,1000 Bytes) |
m |
MB(Megabyte,1000 Kilobytes) |
g |
GB(Gigabyte,1000 Megabytes) |
t |
TB(Terrabyte,1000 Gigabytes) |
ki |
KiB(Kibibyte,1024 Bites) |
mi |
MiB(Mebibyte,1024 Kibibytes) |
gi |
GiB(Gibibyte,1024 Mebibytes) |
ti |
TiB(Tebibyte,1024 Gibibytes) |
--funcname
mc-cmd
返回输入函数名对应的调用。
--method
mc-cmd
返回指定 HTTP 方法的调用。
--node
mc-cmd
返回指定服务器的调用。
--path
mc-cmd
返回指定路径的调用。
--request-header
mc-cmd
返回与提供的请求头匹配的调用。
--request-query
mc-cmd
返回与提供的请求查询参数匹配的调用。 此调试选项只能在 MinIO Support 指导下使用。
--response-duration
mc-cmd
跟踪响应时长大于指定值的调用。
--response-threshold
mc-cmd
接受时间字符串作为值,例如 5ms。 仅返回响应时间大于所提供阈值的调用。
如果未指定,MinIO 返回响应时间大于 5ms 的调用。
--status-code
mc-cmd
返回指定 HTTP 状态码的调用。
--stats
mc-cmd
在当前跟踪会话期间,为每个被跟踪的函数调用累积聚合统计信息。
输出表包含以下列。
Call |
捕获到的客户端操作或函数名称。 |
Count |
客户端操作或调用发生的次数。 |
RPM |
客户端操作或调用的每分钟速率(Rate Per Minute,RPM)。 |
Avg Time |
客户端操作或调用完成所需的平均时间。 |
Min Time |
客户端操作或调用完成所用的最短时间。 |
Max Time |
客户端操作或调用完成所用的最长时间。 |
Avg TTFB |
客户端操作或调用响应的平均首字节时间(Time To First Byte,TTFB)。 |
Max TTFB |
客户端操作或调用响应的最大首字节时间。 |
Avg Size |
客户端操作或调用响应的平均大小。 |
Errors |
因错误失败的客户端操作或调用数量。 |
RX Avg |
客户端操作或调用的平均接收字节数(Bytes Received,RX)。 此统计仅在值不为零(0)时显示。 |
TX AVG |
客户端操作或调用的平均发送字节数(Bytes Sent,TX)。 此统计仅在值不为零(0)时显示。 |
累积统计信息,例如名称、计数、持续时间、最短时间、最长时间、首字节时间或错误。 最多累积 15 条统计条目。
--verbose
mc-cmd
返回详细输出。
全局标志
此命令支持 全局标志 中的任意选项。
8.55 - mc admin update
描述
mc admin update 命令会调用 MinIO 兼容的服务端原地更新 API。客户端可传入可选的发布镜像 URL,由服务端把选定的二进制分发到所有节点。
运行该命令后,会显示确认更新的提示。 输入 y 并按 [ENTER],即可确认并继续更新。
用户 必须 对二进制安装目标位置具有 write 权限。
不要在 Silo 上使用默认更新路径
截至 2026-08-05,最新公开 Silo 服务端 RELEASE.2026-08-04T00-00-00Z 在省略 MIRROR_URL 时仍会解析到上游 dl.min.io 发布源,并保留上游 MinIO 签名密钥。对已启用更新的 Silo 服务端运行 mc admin update ALIAS,因此可能会把 Silo 替换成上游 MinIO 二进制。
请在 Silo 服务端设置 MINIO_UPDATE=off,并通过下载与安装、可信软件仓库或手工校验的 Silo 制品升级。本页保留命令契约是为了兼容,并不表示这是推荐的 Silo 升级流程。
仅在 Silo 或兼容的 MinIO 部署上使用 mc admin
mc admin 使用 MinIO 专用管理 API。仅仅兼容通用 S3 API,并不意味着其他对象存储支持这些命令。
注意事项
协调重启
mc admin update 会更新二进制并同时重启部署中的所有服务器。应用应预期短暂不可用,并重试失败或中断的请求;对象操作的原子性并不能让全量集群重启对应用不可见。
请使用协调一致的升级与重启流程。除非发布说明明确声明支持混合版本,否则不要逐节点滚动替换二进制。
权限
执行该命令的用户 必须 对 MinIO 服务端二进制安装目标路径具有 write 权限。
示例
下面的继承形式仅用于说明命令契约。不要对 Silo 执行它,因为省略 MIRROR_URL 会选择上游 MinIO 更新源:
运行该命令后,在提示中输入 yes 以确认并执行更新。
语法
mc admin update 语法如下:
mc admin update 支持以下参数:
ALIAS
mc-cmd
要更新的 MinIO 部署的 alias。
如果指定的 ALIAS 对应的是分布式 MinIO 部署,mc admin update 会同时更新该部署中的 所有 MinIO 服务器。
使用 mc alias list 查看已配置的别名及其对应的 MinIO 部署端点。
MIRROR_URL
mc-cmd
目标服务端用于定位 minio 二进制的发布清单 URL。仅仅提供 URL 并不能使制品自动可信;使用这条兼容路径前必须核验完整的更新与签名契约。Silo 运维应优先使用文档化的软件包或手工升级流程。
--yes, -y
mc-cmd
Optional
传入此标志以确认更新,并跳过确认提示。
行为
二进制压缩
变更: RELEASE.2024-01-28T22-35-53Z
mc admin update 会先压缩二进制,再发送到部署中的所有节点。
此功能不适用于 systemctl managed deployments。
8.56 - mc admin user
说明
mc admin user 命令及其子命令用于管理 MinIO 用户。
客户端 必须 使用与该部署中某个用户关联的 access key 和 secret key 对 MinIO 部署进行认证。 MinIO 用户是 MinIO 身份与访问管理中的关键组成部分。
要管理使用第三方 IDP 进行认证的用户,请使用对应提供方的命令:
- 对于 AD/LDAP,请使用
mc idp ldap - 对于兼容 OpenID Connect (OIDC) 的提供方,请使用
mc idp openid
仅在 MinIO 部署上使用 mc idp 命令
mc idp ldap 和 mc idp openid 及其子命令仅支持对 MinIO 部署使用。
子命令
mc admin user 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
自 MinIO客户端版本RELEASE.2024-10-08T09-37-26Z 起,这些命令已由 |
9 - mc ilm export
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm export 已被 mc ilm rule export 替代。
语法
mc ilm export 命令用于导出 MinIO 存储桶的对象生命周期管理配置。
mc ilm export 命令默认输出到 STDOUT。你可以将内容输出到 .json 文件中,以便归档或通过 mc ilm import 导入使用。
以下命令将 myminio 部署上 mydata 存储桶的生命周期管理配置 导出到 mydata-lifecycle-config.json 文件:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 MinIO 部署的 alias 和存储桶完整路径,用于导出该 存储桶的对象生命周期管理规则。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
导出存储桶生命周期管理配置
以下命令将存储桶生命周期管理配置导出到 bucket-lifecycle.json 文件:
-
将
ALIAS替换为 MinIO 部署的 alias 和需要导出 对象生命周期管理规则的存储桶:myminio/mydata -
将
file.json替换为用于导出生命周期管理规则的文件名。
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
10 - mc quota set
变更: RELEASE.2022-12-13T00-23-28Z
mc quota set 替代了 mc admin bucket quota --hard。
变更: RELEASE.2024-07-31T15-58-33Z
mc quota set 已弃用。
说明
mc quota set 为存储桶分配硬配额限制,超过该限制后 MinIO 不再允许写入。
计量单位
mc quota set --size 标志接受以下 不区分大小写 的后缀,用于表示指定大小值的单位:
| 后缀 | 单位大小 |
|---|---|
k |
KB(Kilobyte,1000 Bytes) |
m |
MB(Megabyte,1000 Kilobytes) |
g |
GB(Gigabyte,1000 Megabytes) |
t |
TB(Terabyte,1000 Gigabytes) |
ki or kib |
KiB(Kibibyte,1024 Bites) |
mi or mib |
MiB(Mebibyte,1024 Kibibytes) |
gi or gib |
GiB(Gibibyte,1024 Mebibytes) |
ti or tib |
TiB(Tebibyte,1024 Gibibytes) |
如果省略后缀,则默认使用 bytes。
示例
为存储桶配置硬配额
将 mc quota set 与 --size 标志配合使用,可为存储桶指定硬配额。 硬配额可防止存储桶大小增长到超出指定限制。
- 将
TARGET替换为已配置 MinIO 部署的alias。 将BUCKET替换为要设置硬配额的存储桶名称。 - 将
LIMIT替换为存储桶可增长到的最大大小(整数),并可按需附加后缀。 例如,要设置 10 Terabytes 的硬限制,请指定10t。
语法
mc quota set 的语法如下:
mc quota set 支持以下参数:
TARGET
mc-cmd
Required
要为其创建配额的存储桶完整路径。 在路径前缀中指定 MinIO 部署的 alias。 例如:
--size
mc-cmd
Required
设置存储桶存储大小的最大限制。 MinIO 服务器会拒绝任何内容将超出存储桶已配置配额的传入 PUT 请求。
例如,若硬限制为 10G,当存储桶达到 10 gigabytes 时,将无法再添加任何对象。
全局标志
此命令支持 全局标志 中的任意选项。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
11 - Operator Helm 图表
已归档的 MinIO Operator 项目曾发布 Operator Chart 与 Tenant Chart。本页记录其最终 v7.1.1 Operator Chart。
本页说明 MinIO Operator 的 values.yaml 图表。 有关 MinIO 租户图表的文档,请参见 租户 Helm Charts
上游 MinIO Operator 仓库已于 2026 年 3 月 20 日归档。请将这些配置视为冻结的 v7.1.1 参考快照,而不是上游仍在维护或提供支持的依据。
MinIO Operator 图表
operator
Root key for Operator Helm Chart
env
An array of environment variables to pass to the Operator deployment. Pass an empty array to start Operator with defaults.
For example:
See Operator environment variables for a list of all supported values.
image
Specify the Operator container image to use for the deployment.
image.tagFor example, the following sets the image to thequay.io/minio/operatorrepo and the v7.1.1 tag. The container pulls the image if not already present:The chart also supports specifying an image based on digest value:
sidecarImage
Specify the sidecar container image to deploy on tenant pods for init container and sidecar. Only need to change this if want to use a different version that the default, or want to set a custom registry.
sidecarImage.tagFor example, the following sets the image to thequay.io/minio/operator-sidecarrepo and the v7.1.1 tag. The container pulls the image if not already present:The chart also supports specifying an image based on digest value:
imagePullSecrets
An array of Kubernetes secrets to use for pulling images from a private
image.repository. Only one array element is supported at this time.runtimeClassName
The name of a custom Container Runtime to use for the Operator pods.
initContainers
An array of initContainers to start up before the Operator pods. Exercise care as
initContainerfailures prevent Operator pods from starting. Pass an empty array to start the Operator normally.replicaCount
The number of Operator pods to deploy. Higher values increase availability in the event of worker node failures.
The cluster must have sufficient number of available worker nodes to fulfill the request. Operator pods deploy with pod anti-affinity by default, preventing Kubernetes from scheduling multiple pods onto a single Worker node.
securityContext
The Kubernetes SecurityContext to use for deploying Operator resources.
You may need to modify these values to meet your cluster’s security and access settings.
containerSecurityContext
The Kubernetes SecurityContext to use for deploying Operator containers. You may need to modify these values to meet your cluster’s security and access settings.
volumes
An array of Volumes which the Operator can mount to pods.
The volumes must exist and be accessible to the Operator pods.
volumeMounts
An array of volume mount points associated to each Operator container.
Specify each item in the array as follows:
The
namefield must correspond to an entry in thevolumesarray.nodeSelector
Any Node Selectors to apply to Operator pods.
The Kubernetes scheduler uses these selectors to determine which worker nodes onto which it can deploy Operator pods.
If no worker nodes match the specified selectors, the Operator deployment will fail.
priorityClassName
The Pod Priority to assign to Operator pods.
affinity
The affinity or anti-affinity settings to apply to Operator pods.
These settings determine the distribution of pods across worker nodes and can help prevent or allow colocating pods onto the same worker nodes.
tolerations
An array of Toleration labels to associate to Operator pods.
These settings determine the distribution of pods across worker nodes.
topologySpreadConstraints
An array of Topology Spread Constraints to associate to Operator pods.
These settings determine the distribution of pods across worker nodes.
resources
The Requests or Limits for resources to associate to Operator pods.
These settings can control the minimum and maximum resources requested for each pod. If no worker nodes can meet the specified requests, the Operator may fail to deploy.
12 - Silo 服务端(minio)
Silo 服务端
minio server 命令用于启动 Silo 服务端进程。可执行文件与子命令名称 minio server 属于兼容契约:
有关在裸金属环境中部署 minio server 的示例,请参阅 安装与管理。
有关在 Kubernetes 环境中部署 minio server 的示例,请参阅 部署 Silo Tenant。
语法
启动 minio server 进程。
该命令语法如下:
该命令接受以下参数:
HOSTNAME
mc-cmd
minio server 进程的主机名。
对于单机部署,此字段为 可选。 仅使用 DIRECTORIES 参数即可启动一个单机 server 进程。
对于分布式部署,请指定部署中每个 minio server 的主机名。 这一组 minio server 进程共同表示一个 服务器池。
HOSTNAME 支持扩展记法 {x...y},用于表示按顺序排列的一组主机名。Silo 要求 使用连续主机名,以识别该集合中的每个 minio server 进程。
例如,https://minio{1...4}.example.net 会扩展为:
https://minio1.example.nethttps://minio2.example.nethttps://minio3.example.nethttps://minio4.example.net
你必须在 服务器池 中每台主机上,使用 相同 的 HOSTNAME 和 DIRECTORIES 组合来运行 minio server 命令。
每增加一个 HOSTNAME/DIRECTORIES 对,就表示增加一个 Server Set,用于 Silo 部署的水平扩展。有关服务器池的更多信息,请参阅 服务器池。
DIRECTORIES
mc-cmd
Required
minio server 进程用作存储后端的目录或驱动器。
DIRECTORIES 支持扩展记法 {x...y},用于表示按顺序排列的一组文件夹或驱动器。例如,/mnt/disk{1...4} 会扩展为:
/mnt/disk1/mnt/disk2/mnt/disk3/mnt/disk4
首次启动 minio 进程时,DIRECTORIES 路径 必须 为空。
minio server 进程至少需要 4 个驱动器或目录才能启用 erasure coding。
重要
Silo 建议使用本地直连驱动器,即 DIRECTORIES 路径指向主机上的各个驱动器。除非已验证完整技术栈,应避免把网络附加存储用作主对象数据存储,因为其网络延迟和故障语义与本地直连存储不同。
在开发或评估场景中,你可以在单个物理卷上指定多个逻辑目录或分区,以便在部署中启用纠删码。
对于生产环境,不要 把同一物理磁盘上的多个逻辑目录或分区当作独立故障域。表面上的驱动器数量不能提供物理磁盘冗余。
--address
mc-cmd
Optional
将 minio server 进程绑定到特定网络地址和端口号。 将地址和端口指定为 ADDRESS:PORT,其中 ADDRESS 是 IP 地址或主机名,PORT 是主机系统上有效且开放的端口。 MinIO 同时支持 IPv4 和 IPv6 寻址,前提是指定地址可路由且可解析。
若要为主机上配置的所有 IP 地址或主机名修改端口号,仅指定 :PORT 即可,其中 PORT 是主机上有效且开放的端口。
变更: RELEASE.2023-01-02T09-40-09Z
你可以通过配置 hosts 文件,让 MinIO 仅监听特定 IP。 例如,如果机器的 /etc/hosts 文件包含以下内容:
类似下面的命令会在两个已配置 IP 地址的 9000 端口上监听 API 调用。
若省略该参数,minio 会绑定到主机上所有已配置 IPv4 地址、IPv6 地址和主机名的 9000 端口。
--console-address
mc-cmd
Optional
为内置 MinIO Console 指定静态端口。
省略时,MinIO 会在 server 启动时生成动态端口。 MinIO server 会将该端口输出到系统日志。
--ftp
mc-cmd
Optional
启用并配置 File Transfer Protocol(FTP)或 File Transfer Protocol over SSL/TLS(FTPS)服务器。 多次使用该 flag 可按键值对指定地址端口、被动端口范围或 TLS 证书与密钥。
有效键如下:
-
address,用于指定服务器使用的单个端口,通常为8021 -
(Optional)
passive-port-range,用于限制服务器可用于传输数据的端口范围,例如防火墙规则较严格、限制 FTP 服务器可为连接请求端口时 -
(Optional)
tls-private-key,用于指定用户私钥路径,以便通过 TLS 访问 MinIO 部署与
tls-public-cert配合使用。 -
(Optional)
tls-public-cert,用于指定证书路径,以便通过 TLS 访问 MinIO 部署与
tls-private-key配合使用。
对于已启用 TLS 的 MinIO 部署,省略 tls-private-key 和 tls-public-key,可让 MinIO 使用部署默认 TLS 密钥。 更多信息请参阅 网络加密(TLS)。 仅当你要使用与 MinIO 默认值不同的一组 TLS 证书和密钥时,才需要指定证书与私钥(例如使用不同域名)。
例如:
--sftp
mc-cmd
Optional
启用并配置 SSH File Transfer Protocol(SFTP)服务器。 可多次使用以指定所需的每个键值对。
下表列出有效键。
键 |
说明 |
有效值 |
|---|---|---|
|
用于连接到 SFTP 的端口。 |
任意有效端口号,通常为 |
|
用户私钥文件路径。 |
用于密钥文件的绝对路径,或相对于当前位置的相对路径。 |
|
指定一个文件,其中包含受信任证书颁发机构的公钥,该机构可对用于身份验证的用户证书签名。 文件必须包含 user principals list,且列表必须包含可使用该密钥进行身份验证的用户。 |
用户受信任证书颁发机构公钥文件的绝对路径,或相对于当前位置的相对路径。 |
|
以逗号分隔的公钥算法列表。 |
|
|
按优先级顺序排列的、以逗号分隔的密钥交换算法列表。 |
|
|
以逗号分隔的支持的加密算法列表 |
|
|
按优先级顺序排列的、以逗号分隔的 MAC 算法列表。
基于 RFC 4253 section 6.4,但 |
|
|
禁用密码认证。 |
|
例如:
--certs-dir, -S
mc-cmd
Optional
指定包含证书的文件夹路径,minio 进程使用该路径中的证书配置 TLS/SSL 连接。
指定文件夹的内容必须符合 default path structure。 例如,--certs-dir /etc/minio 的路径内容应类似如下:
省略时使用默认目录路径:
- Linux/macOS:
${HOME}/.minio/certs - Windows:
%%USERPROFILE%%\.minio\certs.
有关 TLS/SSL 连接的更多信息,请参阅 网络加密(TLS)。
重要
MinIO Server RELEASE.2023-12-09T18-17-51Z 移除了已弃用参数 --config-dir | -C。 使用该 flag 的部署可能会在未启用 TLS 的情况下启动。 请将这些参数替换为 --certs-dir | -S 并重启,以重新启用 TLS。
--quiet
mc-cmd
Optional
禁用启动信息输出。
--anonymous
mc-cmd
Optional
在日志中隐藏敏感信息。
--json
mc-cmd
Optional
以 JSON 格式输出 server 日志和启动信息。
说明
你可以通过在 MINIO_OPTS 环境变量中设置上述任意 minio 参数来定义它们。 该变量的值是一个字符串,包含你希望在启动 MinIO Server 时设置的上述参数及其对应取值。
设置
你可以通过定义额外的 Configuration Values 或 Environment Variables,对 MinIO 服务端进程执行其他自定义配置。
许多配置值和环境变量定义的是同一个值。 如果同时设置配置值及其对应环境变量,MinIO 使用环境变量中的值。
12.1 - 设置概览
minio server 进程将其配置存储在存储后端 directory 中。
MinIO 设置
MinIO 设置定义 MinIO server 进程的运行时行为。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
其他可用于自定义的设置包括:
12.1.1 - 核心设置
本页介绍用于控制 MinIO 进程核心行为的设置。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
MinIO Server CLI 选项
MINIO_OPTS
envvar
此变量没有对应的配置项,因为这些设置在服务器启动时生效。
可选
设置一个 参数 字符串,在启动 MinIO Server 时使用。
对于采用推荐 MinIO systemd 服务的类 Unix 系统,请使用 /etc/default/minio 文件并创建环境变量 MINIO_OPTS,用于指定要附加到 minio systemd 进程的参数:
对于在命令行运行 minio 的系统,MINIO_OPTS 是可选项。 如需使用,请按标准 shell 语义声明该环境变量,然后在启动 MinIO Server 时引用该环境变量:
重要
minio server 命令不会直接读取 $MINIO_OPTS。 该变量仅在按上述方式使用时才会生效。
存储卷
MINIO_VOLUMES
envvar
minio server 进程用作存储后端的目录或磁盘。
在功能上等价于设置 minio server DIRECTORIES。 在通过环境文件配置 MinIO 运行时使用此值。
此设置没有对应的配置项。
环境变量文件路径
MINIO_CONFIG_ENV_FILE
envvar
指定 MinIO server 进程用于加载环境变量的文件完整路径。
对于由 systemd 管理的文件,将该值设置为环境文件路径(/etc/default/minio),以便在使用 mc admin service restart 重启部署时,指示 MinIO 重新加载该文件中的变更。
此设置没有对应的配置项。
过期处理工作线程
MINIO_ILM_EXPIRY_WORKERS
envvar
指定用于处理按 ILM 过期规则配置对象过期任务的工作线程数。 未设置时,MinIO 默认最多使用可用处理器核心数的一半。
此设置没有对应的配置项。
域名
MINIO_DOMAIN
envvar
为 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/访问存储桶。
重要
如果配置了 MINIO_DOMAIN,你 必须 将指定 FQDN 的所有子域名视为专用于存储桶名称。 任何与这些域名冲突的 MinIO 服务(例如复制目标)都可能因为冲突而表现出意外或非预期行为。
例如,若设置 MINIO_DOMAIN=minio.example.net,则 不能 将 minio.example.net 的任何子域名(即 *.minio.example.net 形式)分配给任何 MinIO 服务或目标。 这包括用于 bucket、batch 或 site replication 的主机名。
此设置没有对应的配置项。
扫描器速度
MINIO_SCANNER_SPEED
envvar
scanner speed
mc-conf
用于在平衡 MinIO 读写性能与扫描进程时,管理 scanner 的最大等待周期。
MinIO 使用 scanner 执行 存储桶复制、 站点复制、 生命周期管理 和 自愈 任务。
有效值包括:
|
移除扫描器在读/写延迟上的等待时间,使扫描器以最高速度和 IOPS 消耗运行。 此设置可能导致读取和写入性能下降。 |
|
将扫描器在读/写延迟上的等待时间设置为较短, 使扫描器以更高速度和 IOPS 消耗运行。 此设置可能导致读取和写入性能下降。 |
|
将扫描器在读/写延迟上的等待时间设置为中等, 使扫描器以平衡的速度和 IOPS 消耗运行。 此设置旨在在保持读写性能的同时允许扫描器持续工作。 |
|
将扫描器在读/写延迟上的等待时间设置为中等, 此时扫描器以较低速度和 IOPS 消耗运行。 该设置在降低扫描器性能的同时,可提供更好的读写性能。 可能影响依赖扫描器的功能,例如生命周期管理和复制。 |
|
将扫描器在读/写延迟上的等待时间设置为较长, 此时扫描器以显著更低的速度和 IOPS 消耗运行。 该设置优先保障读写操作,但可能以牺牲扫描器操作为代价。 可能影响依赖扫描器的功能,例如生命周期管理和复制。 |
批量复制
此设置没有对应的配置项。
数据压缩
以下部分记录用于为对象启用数据压缩的设置。 有关如何使用这些配置设置的教程,请参见 数据压缩。
本节中的所有设置都归属于以下顶层键:
compression
mc-conf
启用压缩
MINIO_COMPRESSION_ENABLE
envvar
compression enable
mc-conf
可选
设置为 on 以对新对象启用数据压缩。 默认为 off。
启用或禁用数据压缩不会更改现有对象。
允许加密
MINIO_COMPRESSION_ALLOW_ENCRYPTION
envvar
compression allow_encryption
mc-conf
可选
设置为 on 以在压缩后对对象进行加密。 默认为 off。
对压缩对象加密可能会削弱安全性
MinIO 强烈不建议对压缩对象进行加密。 如果你需要加密,请仔细评估可能泄露加密对象内容信息的风险。
压缩扩展名
MINIO_COMPRESSION_EXTENSIONS
envvar
compression extensions
mc-conf
可选
要压缩的文件扩展名列表,以逗号分隔。 设置新的扩展名列表会替换先前已配置的列表。 默认为 ".txt, .log, .csv, .json, .tar, .xml, .bin"。
变更: RELEASE.2024-03-15T01-07-19Z
可指定 "*" 以指示 MinIO 压缩所有受支持的文件类型。
即使在此参数中显式指定,MinIO 也不支持压缩 Excluded File Types 列表中的文件类型。
压缩 MIME 类型
MINIO_COMPRESSION_MIME_TYPES
envvar
compression mime_types
mc-conf
可选
要压缩的 MIME 类型列表,以逗号分隔。 设置新的类型列表会替换先前已配置的列表。 默认为 "text/*, application/json, application/xml, binary/octet-stream"。
默认排除文件
某些类型的文件无法显著减小体积。 MinIO 不会 压缩这些文件,即使它们在 mime_types 参数中被指定。 详见 Excluded types。
注释
此设置没有环境变量选项。 请改用配置项。
compression comment
envvar
可选
指定一个与数据压缩配置关联的注释。
纠删码条带大小
MINIO_ERASURE_SET_DRIVE_COUNT
envvar
此设置没有对应的配置项。
可选
应用于指定 服务器池 中所有驱动器的 erasure set size。
如果设置此值,你 必须 在初始化集群 之前 完成设置。 集群初始化后,所选条带大小为 不可变,并会影响后续添加到集群中的所有 服务器池。
MinIO SUBNET 用户应先登录并提交 issue,讨论条带大小设置后再在任何环境中实施。
警告
除非 MinIO 工程团队明确指导,否则 不要 更改条带大小设置。
条带大小变更会对部署功能、可用性、性能和行为产生重大影响。 MinIO 的条带选择算法已为大多数工作负载设置了适当默认值。 偏离该默认值来调整条带大小并不常见,通常也没有必要或不被建议。
最大对象版本数
MINIO_API_OBJECT_MAX_VERSIONS
envvar
api object_max_versions
mc-conf
可选
定义每个对象允许的默认最大版本数。
默认情况下,MinIO 允许每个对象的版本数最高达到 Int64 的最大值,即超过 9.2 quintillion。
说明
RELEASE.2023-08-04T17-40-21Z 到 RELEASE.2024-03-26T22-10-45Z 之间的 MinIO 版本,默认上限为 10,000 个对象版本。 可使用此设置将该上限覆盖为其他值。
为对象设置任意高的版本数可能导致某些操作(如 LIST)性能下降。 在使用低成本硬件或机械硬盘(HDD)的系统上,这一点尤为明显。 对于每个对象会生成数千个或更多版本的应用或工作负载,可能需要进行设计或架构评审,以缓解潜在的性能下降。
将上限设置为不超过 100,通常可满足大多数常见使用场景。
客户端源地址信任
MINIO_API_TRUSTED_PROXIES
envvar
指定哪些对端有资格告诉服务器"请求来自哪里"。
默认情况下,MinIO 会采信来自任何对端的 X-Forwarded-For、X-Real-IP 与 RFC 7239 Forwarded 头,因此一个能直接连到 API 端口的客户端可以自行设定它表面上的源地址。该地址会流入 aws:SourceIp 策略条件、审计日志的 remotehost 字段,以及事件通知的 Host 字段。
将其设为以逗号分隔的地址或 CIDR 列表,则 只 采信名单内对端送来的转发头。此时转发链会从右向左、跳过名单内的跳数来解析,这也会丢弃"追加型代理"在链首留下的、由客户端自己提供的那一项——nginx 默认的 $proxy_add_x_forwarded_for 写法与 HAProxy 追加的第二行头都会产生这一项。
将其设为 none,则完全不采信任何转发头,始终使用对端地址。
说明
不设置是默认值,保持历史行为,因此在你主动配置之前该设置完全惰性。
要列出 代理本身,而不是它们所在的网段。名单内的条目在遍历转发链时会被跳过,因此一个同时覆盖了客户端的网段,等于让那些客户端可以伪造。多节点部署必须把自己各节点的地址也列进去,因为 MinIO 会在节点之间转发部分请求。回环地址始终被视为可信对端,以便 FTP 与 SFTP 能正确归属其会话。取值格式错误、或没有指向任何代理,都会阻止启动。
如果你使用 IpAddress 或 NotIpAddress 策略条件,那么在此设置指明你的代理之前(或部署本身除代理外不可达之前),这些条件是无法强制执行的。
此设置没有对应的配置项。
旧版存储桶资源匹配
MINIO_API_LEGACY_BUCKET_RESOURCE_MATCH
envvar
设为 on 可恢复桶级请求在 IAM 策略资源匹配上的历史行为。
默认情况下,有十二个桶级写操作不再能通过 arn:aws:s3:::mybucket/* 这样的对象级资源模式获得授权。动作清单以及正确授予它们的策略改法,见存储桶资源与对象资源。
设为 on 会回到"把桶级请求与字符串 mybucket/ 相匹配"的做法,而对象模式同样命中该字符串。该值在启动时读取一次,仅用作更新存量策略期间的临时手段。
这会恢复一处过度授予
正是这种历史匹配方式,让一个只持有 arn:aws:s3:::mybucket/* 上 s3:* 的主体能够改写桶策略(包括把桶变为公开),或者直接删除该桶。这个开关是全有全无的:为了一个动作打开它,会把十二个动作一并放开。
此设置没有对应的配置项。
12.1.2 - Root 访问设置
本页介绍用于控制 MinIO 进程 root(超级用户)访问权限的设置。 root 用户具有完整访问权限,可在 MinIO 部署上执行操作。
即使使用 MinIO Key Encryption Service 或其他密钥管理工具,也必须配置 Root User 和 Root Password。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
Root User
MINIO_ROOT_USER
envvar
root 用户的访问密钥。
警告
如果未设置 MINIO_ROOT_USER,minio 默认使用 minioadmin。
在生产环境中 绝不要 使用默认凭证。 MinIO 强烈建议在所有环境中为 MINIO_ROOT_USER 指定唯一、足够长且随机的值。
此设置没有对应的配置变量。 请改用环境变量。
Root Password
MINIO_ROOT_PASSWORD
envvar
root 用户的密钥。
警告
如果未设置 MINIO_ROOT_PASSWORD,minio 默认使用 minioadmin。
在生产环境中 绝不要 使用默认凭证。 MinIO 强烈建议在所有环境中为 MINIO_ROOT_PASSWORD 指定唯一、足够长且随机的值。
此设置没有对应的配置变量。 请改用环境变量。
Root 访问
MINIO_API_ROOT_ACCESS
envvar
api root-access
mc-conf
新增: MinIO
Server RELEASE.2023-05-04T21-44-30Z
设置为 on 可启用 root 用户账号,设置为 off 可禁用该账号。 禁用 root 服务账户时,也会禁用所有与 root 关联的服务账户,但用于站点复制的账号除外。 默认值为 on。
重要
如果通过此设置禁用 root API 访问,你 仍然必须 为内部使用设置 root user 和 root password。
在禁用 root 账号之前,请确保至少存在一个其他管理员用户,例如具备 consoleAdmin 策略的用户。 如果没有其他管理员用户,禁用 root 账号会导致该部署的管理访问被锁定。
你可以使用此变量临时覆盖配置项,重新启用对部署的 root 访问。
如果发生意外锁定,要进行重置,请将 MINIO_API_ROOT_ACCESS 设为 on 以覆盖此设置,并临时重新启用 root 账号。 随后你可以将此设置改为 on,或 完成必要的用户/策略调整,以确保可通过其他非 root 账号进行正常管理访问。
唯一 Root 凭证
新增: Server
RELEASE.2024-03-03T17-50-39Z
如果同时满足以下所有条件,MinIO 会自动生成唯一的 root 凭证:
-
KES Release 2024-03-01T18-06-46Z or later running
-
未 定义:
MINIO_ROOT_USER变量MINIO_ROOT_PASSWORD变量
-
已:
- 使用 受支持的 KMS 目标 完成 KES 配置
- 通过 MinIO 环境变量 禁用 root 访问
当这些条件在启动时满足后, MinIO 会使用 KMS 和 hash-based message authentication code (HMAC) 为该部署生成唯一的 root 凭证。
如果 MinIO 生成了此类凭证, 则用于生成这些凭证的密钥 必须 保持不变,并且必须持续存在。 该部署中的所有数据都使用此密钥加密!
如果要轮换已生成的 root 凭证, 请先在 KMS 中生成新密钥,然后将 MINIO_KMS_KES_KEY_NAME 的值更新为该新密钥。
12.1.3 - 纠删码设置
本页介绍用于配置写入 MinIO 集群对象时所使用 纠删码 校验 的相关设置。 这会影响 MinIO 如何使用驱动器空间,以及 MinIO 如何在驱动器丢失或类似问题发生时恢复已存储对象。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
标准存储类
说明
MinIO Storage Classes 与 AWS Storage Classes 不同。
AWS Storage Classes 指将给定对象存储到的特定存储层级,例如 hot 或 glacier 存储。 MinIO Storage Classes 会影响所使用的纠删码校验设置,并与对象的 可用性与韧性 相关。
如需在不同类型存储之间分层(例如用于成本管理),请参见 对象迁移(”Tiering”)。
MINIO_STORAGE_CLASS_STANDARD
envvar
storage_class standard
mc-conf
该部署的 parity level。 MinIO 会使用该校验值对采用默认 STANDARD 存储类写入的对象进行分片。
MinIO 会参考请求元数据中的 x-amz-storage-class 头,以确定应为对象分配哪个存储类。 设置该头的具体语法或方式取决于与 MinIO 服务器交互时所使用的方法。
请使用 EC:M 记法指定该值,其中 M 表示要为对象创建的校验块数量。
下表列出了基于部署中初始服务器池 erasure set size 的默认值:
| 纠删集合大小 | 默认校验 (EC:N) |
|---|---|
| 1 | EC:0 |
| 2-3 | EC:1 |
| 4-5 | EC:2 |
| 6 - 7 | EC:3 |
| 8 - 16 | EC:4 |
支持的最小值是 0,表示不提供纠删码保护。 此类部署的可用性/韧性完全依赖底层存储控制器或存储资源。
最大值取决于部署中初始服务器池的纠删集合大小,其上限为 。 例如,纠删集合条带大小为 16 的部署,其标准校验最大值为 8。
可在启动后将该值更改为 0 与该纠删集合大小上限之间的任意值。 MinIO 只会将变更后的校验值应用于新写入对象。 现有对象会保留其创建时的校验值。
降低冗余存储类
说明
MinIO Storage Classes 与 AWS Storage Classes 不同。
AWS Storage Classes 指将给定对象存储到的特定存储层级,例如 hot 或 glacier 存储。 MinIO Storage Classes 会影响所使用的纠删码校验设置,并与对象的 可用性与韧性 相关。
如需在不同类型存储之间分层(例如用于成本管理),请参见 对象迁移(”Tiering”)。
MINIO_STORAGE_CLASS_RRS
envvar
storage_class rrs
mc-conf
用于以 REDUCED 存储类写入对象的 parity level。
MinIO 会参考请求元数据中的 x-amz-storage-class 头,以确定应为对象分配哪个存储类。 设置该头的具体语法或方式取决于与 MinIO 服务器交互时所使用的方法。
请使用 EC:M 记法指定该值,其中 M 表示要为对象创建的校验块数量。
该值 必须 小于或等于 MINIO_STORAGE_CLASS_STANDARD。
对于纠删集合大小小于 2 的部署,不能设置此值。 纠删集合大小大于 1 的部署默认值为 EC:1。 纠删集合大小为 1 的部署默认值为 EC:0。
校验保留优化
MINIO_STORAGE_CLASS_OPTIMIZE
envvar
storage_class optimize
mc-conf
默认情况下,如果目标纠删集合维持写入法定人数(write quorum)但 有一个或多个驱动器离线,MinIO 会自动“升级”对象的校验。 该行为有助于确保给定对象与写入健康纠删集合的对象保持相同可用性。
将该设置指定为 capacity,可指示 MinIO 不为对象创建任何额外校验。 这会优先保障集群总体容量,但代价是当该纠删集合中更多驱动器故障时,对象可用性可能降低。
注释
MINIO_STORAGE_CLASS_COMMENT
envvar
此设置没有对应的配置项。
为存储类设置添加注释。
12.1.4 - Silo Console 设置
本页介绍用于管理 MinIO Console 访问与行为的设置。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
浏览器设置
以下设置用于控制内嵌 MinIO Console 的行为。
MinIO Console
可选
MINIO_BROWSER
envvar
指定 off 以禁用内嵌 MinIO Console。
此设置没有对应的配置变量。 请改用环境变量。
动画
可选
MINIO_BROWSER_LOGIN_ANIMATION
envvar
新增: MinIO
Server RELEASE.2023-05-04T21-44-30Z
指定 off 以禁用 MinIO Console 的动画登录界面。 默认为 on。
此设置没有对应的配置变量。 请改用环境变量。
浏览器重定向
可选
MINIO_BROWSER_REDIRECT
envvar
新增: MinIO
Server RELEASE.2023-09-16T01-01-47Z
指定是否将来自 Web 浏览器的请求自动重定向到 Console 地址。 默认为 true。
此设置没有对应的配置变量。 请改用环境变量。
浏览器重定向 URL
可选
MINIO_BROWSER_REDIRECT_URL
envvar
指定 MinIO Console 监听传入连接的 Fully Qualified Domain Name (FQDN)。
如果你希望 MinIO Console 仅通过反向代理服务对外提供,必须指定由该服务管理的主机名。
例如,假设某个反向代理被配置为将 https://example.net/minio/ 路由到 MinIO Console。 你必须将此环境变量设置为与该主机名一致,这样 Console 才会使用该主机名进行监听并响应请求。
如果省略此变量,Console 会在运行 MinIO Server 的主机所关联的所有 IP 地址或主机名上监听并响应。
此设置没有对应的配置变量。 请改用环境变量。
会话时长
可选
MINIO_BROWSER_SESSION_DURATION
envvar
新增: MinIO
Server RELEASE.2023-08-23T10-07-06Z
指定使用 MinIO Console 时浏览器会话的持续时间。
MinIO 支持以下时间单位:
s- 秒,”60s”m- 分钟,”60m”h- 小时,”24h”d- 天,”7d”
默认为 12h。
此设置没有对应的配置变量。 请改用环境变量。
日志查询 URL
可选
MINIO_LOG_QUERY_URL
envvar
指定 PostgreSQL 服务的 URL,MinIO 会将 Audit logs 写入该服务。 内嵌 MinIO Console 提供日志搜索工具,可查询 PostgreSQL 服务中收集的日志。
此设置没有对应的配置变量。 请改用环境变量。
内容安全策略
可选
将 MinIO Console 配置为在 HTTP 响应中生成 Content-Security-Policy 头。 默认为 default-src 'self' 'unsafe-eval' 'unsafe-inline';
MINIO_BROWSER_CONTENT_SECURITY_POLICY
envvar
browser csp_policy
mc-conf
严格传输安全
可选
将 MinIO Console 配置为在 HTTP 响应中生成 Strict-Transport-Security 头。
要生成该头,你 必须 使用 MINIO_BROWSER_HSTS_SECONDS 或 hsts_seconds 设置持续时间。 其他 HSTS 设置是可选的。
MINIO_BROWSER_HSTS_SECONDS
envvar
已配置策略生效的 max_age(秒)。 默认为 0,即禁用。 你 必须 配置 非零 时长,才能启用 Strict-Transport-Security 头。
MINIO_BROWSER_HSTS_INCLUDE_SUB_DOMAINS
envvar
设置为 on 可将已配置的 HSTS 策略同时应用到所有 MinIO Console 子域名。 默认为 off。
MINIO_BROWSER_HSTS_PRELOAD
envvar
设置为 on 可指示客户端浏览器将 MinIO Console 域名加入其 HSTS 预加载列表。 默认为 off。
以下配置项需要重启服务后才会生效。 要重启服务,请使用 mc admin service restart。
browser hsts_seconds
mc-conf
已配置策略生效的 max_age(秒)。 默认为 0,即禁用。 你 必须 配置 非零 时长,才能启用 Strict-Transport-Security 头。
browser hsts_include_subdomains
mc-conf
设置为 on 可将已配置的 HSTS 策略同时应用到所有 MinIO Console 子域名。 默认为 off。
browser hsts_preload
mc-conf
设置为 on 可指示客户端浏览器将 MinIO Console 域名加入其 HSTS 预加载列表。 默认为 off。
示例
以下示例展示了给定配置项对应的渲染后响应头。 等价的环境变量会生成相同结果。 所有示例均使用 31536000,即一个自然年(365 天)的秒数。
hsts_seconds
hsts_include_subdomains
hsts_preload
来源策略
可选
将 MinIO Console 配置为在 HTTP 响应中生成 Referrer-Policy 头。 默认为 strict-origin-when-cross-origin。
MINIO_BROWSER_REFERRER_POLICY
envvar
browser referrer_policy
mc-conf
Prometheus 设置
以下设置用于管理 MinIO 与你的 Prometheus 服务之间的交互方式。
Prometheus URL
可选
MINIO_PROMETHEUS_URL
envvar
指定已配置为 抓取 MinIO 指标 的 Prometheus 服务 URL。
MinIO Console 使用 minio-job Prometheus 抓取作业,将集群指标填充到 Dashboard。
如果你使用独立的 MinIO Console 进程,则该变量对应 CONSOLE_PROMETHEUS_URL。
此设置没有对应的配置变量。 请改用环境变量。
Prometheus Job ID
可选
MINIO_PROMETHEUS_JOB_ID
envvar
指定用于 抓取 MinIO 指标 的自定义 Prometheus job ID。
MinIO 默认为 minio-job。
如果你使用独立的 MinIO Console 进程,则该变量对应 CONSOLE_PROMETHEUS_JOB_ID。
此设置没有对应的配置变量。 请改用环境变量。
Prometheus Auth Token
可选
MINIO_PROMETHEUS_AUTH_TOKEN
envvar
指定 Console 连接 Prometheus 服务时应使用的 basic auth token。
例如,你使用的 basic auth token 可能如下所示:
如果你使用独立的 MinIO Console 进程,则该变量对应 CONSOLE_PROMETHEUS_AUTH_TOKEN。
此设置没有对应的配置变量。 请改用环境变量。
12.1.5 - 指标与日志设置
本页面介绍用于控制 MinIO 指标与日志相关行为的设置。 更多信息请参见 指标与告警。
这些设置用于将常规 minio server 日志和审计日志发布到 HTTP webhook。 更完整的文档请参见 将服务日志或审计日志发布到外部服务。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
Prometheus 认证
此设置控制 MinIO 如何向 Prometheus 进行认证。
MINIO_PROMETHEUS_AUTH_TYPE
envvar
此设置没有对应的配置项。
指定 Prometheus 抓取端点 的认证模式。
-
jwt- 默认 MinIO 要求抓取客户端提供 JWT token 以认证请求。使用
mc admin prometheus generate生成所需的 JWT bearer token。 -
publicMinIO 不要求抓取客户端对其请求进行认证。
服务器日志
以下部分介绍将 minio server 日志发布到 HTTP webhook 端点的 MinIO 配置设置。 有关这些设置的更完整文档和使用教程,请参见 将服务日志发布到 HTTP Webhook。
定义多个端点
你可以通过为每组相关日志环境变量追加唯一标识符 _ID,将多个 webhook 端点指定为日志目标。 例如,以下设置定义了两个不同的服务器日志 webhook 端点:
设置
Enable
MINIO_LOGGER_WEBHOOK_ENABLE
envvar
指定 "on" 以启用将 minio server 日志发布到 HTTP webhook 端点。
需要同时指定 MINIO_LOGGER_WEBHOOK_ENDPOINT。
logger_webhook
mc-conf
用于配置将日志发送到 HTTP webhook 端点的顶层配置键。
端点
必填
MINIO_LOGGER_WEBHOOK_ENDPOINT
envvar
logger_webhook endpoint
mc-conf
webhook 的 HTTP 端点。
认证 Token
可选
MINIO_LOGGER_WEBHOOK_AUTH_TOKEN
envvar
端点所需类型的认证 token。 对于不需要认证的端点可省略。
为支持多种 token 类型,MinIO 会使用 完全按原样指定 的值构造请求认证头。 具体端点可能要求你附加额外信息。
例如:对于 Bearer token,请添加前缀 Bearer:
请根据端点要求调整该值。 自定义认证格式可能类似如下:
详情请参阅目标服务的文档。
该环境变量对应 logger_webhook auth_token 配置项。
logger_webhook auth_token
mc-conf
端点所需类型的认证 token。 对于不需要认证的端点可省略。
为支持多种 token 类型,MinIO 会使用 完全按原样指定 的值构造请求认证头。 具体端点可能要求你附加额外信息。
例如:对于 Bearer token,请添加前缀 Bearer:
请根据端点要求调整该值。 自定义认证格式可能类似如下:
详情请参阅目标服务的文档。
批大小
新增: MinIO
Server RELEASE.2024-03-10T02-53-48Z
可选
MINIO_LOGGER_WEBHOOK_BATCH_SIZE
envvar
logger_webhook batch_size
mc-conf
按批次收集并发送指定数量的事件到 webhook。 如果未设置,MinIO 每个请求发送一个事件。
客户端证书
可选
还需要同时设置 Client Key。
MINIO_LOGGER_WEBHOOK_CLIENT_CERT
envvar
logger_webhook client_cert
mc-conf
用于向 webhook logger 认证的 mTLS 证书路径。
客户端密钥
可选
如果定义了 Client Certificate,则为必填。
MINIO_LOGGER_WEBHOOK_CLIENT_KEY
envvar
logger_webhook client_key
mc-conf
用于向 webhook logger 服务认证的 mTLS 证书密钥路径。
代理
可选
MINIO_LOGGER_WEBHOOK_PROXY
envvar
logger_webhook proxy
mc-conf
新增: MinIO
RELEASE.2023-02-22T18-23-45Z
定义在 MinIO 与外部 webhook 通信时供 webhook logger 使用的代理。
队列目录
可选
新增: RELEASE.2023-05-18T00-05-36Z
MINIO_LOGGER_WEBHOOK_QUEUE_DIR
envvar
logger_webhook queue_dir
mc-conf
指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。 MinIO 进程必须对指定目录具有读取、写入和列举权限。
当 webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。
队列大小
可选
MINIO_LOGGER_WEBHOOK_QUEUE_SIZE
envvar
logger_webhook queue_size
mc-conf
用于 logger webhook 目标队列大小的整数值。
Webhook 审计日志
以下部分介绍用于将审计日志发布到 HTTP webhook 端点的 MinIO 环境变量。 有关这些环境变量的更完整文档和使用教程,请参见 将审计日志发布到 HTTP Webhook。
多个目标
你可以通过为每组相关日志设置追加唯一标识符 _ID,将多个 webhook 端点指定为审计日志目标。
例如,以下命令设置了两个不同的审计日志 webhook 端点:
audit_webhook
mc-conf
用于定义 HTTP webhook 目标并发布 MinIO audit logs 的顶层配置键。
使用 mc admin config set 设置或更新 HTTP webhook 目标。 以空格(" ")分隔列表的形式指定其他可选参数。
你可以通过在顶层键后追加 [:name] 来指定多个 HTTP webhook 目标。 例如,以下命令分别将两个不同的 HTTP webhook 目标设置为 primary 和 secondary:
设置
Enable
MINIO_AUDIT_WEBHOOK_ENABLE
envvar
指定 "on" 以启用向 HTTP webhook 端点发布审计日志。
需要同时指定 MINIO_AUDIT_WEBHOOK_ENDPOINT。
配置一个 audit webhook 即表示启用该目标。 不存在单独的 enable 配置项。
端点
必填
MINIO_AUDIT_WEBHOOK_ENDPOINT
envvar
audit_webhook endpoint
mc-conf
webhook 的 HTTP 端点。
认证 Token
可选
MINIO_AUDIT_WEBHOOK_AUTH_TOKEN
envvar
audit_webhook auth_token
mc-conf
端点所需类型的认证 token。 对于不需要认证的端点可省略。
为支持多种 token 类型,MinIO 会使用 完全按原样指定 的值构造请求认证头。 具体端点可能要求你附加额外信息。
例如,对于 Bearer token,请添加前缀 Bearer:
请根据端点要求调整该值。
自定义认证格式可能类似如下:
请根据端点要求调整该值。
自定义认证格式的命令可能类似如下:
详情请参阅目标服务的文档。
批大小
新增: MinIO
Server RELEASE.2024-03-10T02-53-48Z
可选
MINIO_AUDIT_WEBHOOK_BATCH_SIZE
envvar
audit_webhook batch_size
mc-conf
按批次收集并发送指定数量的事件到 webhook。 如果未设置,MinIO 每个请求发送一个事件。
客户端证书
可选
提交给 HTTP webhook 的 x.509 客户端证书。 对于不要求客户端提供已知 TLS 证书的 webhook 可省略。
客户端密钥
可选
提交给 HTTP webhook 的 x.509 私钥。 对于不要求客户端提供已知 TLS 证书的 webhook 可省略。
队列目录
可选
MINIO_AUDIT_WEBHOOK_QUEUE_DIR
envvar
audit_webhook queue_dir
mc-conf
新增: RELEASE.2023-05-18T00-05-36Z
指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。 MinIO 进程必须对指定目录具有读取、写入和列举权限。
当 webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。
队列大小
可选
MINIO_AUDIT_WEBHOOK_QUEUE_SIZE
envvar
audit_webhook queue_size
mc-conf
用于 audit webhook 目标队列大小的整数值。 默认值为 100000 个事件。
Kafka 审计日志
以下部分介绍用于将审计日志发布到 Kafka broker 的 MinIO 环境变量。
audit_kafka
mc-conf
用于定义 Kafka broker 目标并发布 MinIO audit logs 的顶层配置键。
使用 mc admin config set 设置或更新 Kafka 审计目标。 以空格(" ")分隔列表的形式指定其他可选参数。
设置
Enable
必填
MINIO_AUDIT_KAFKA_ENABLE
envvar
设置为 "on" 以启用该目标。
设置为 "off" 以禁用该目标。
该值没有对应的配置项。 使用环境变量可禁用已配置的 audit webhook 目标。
Brokers
必填
MINIO_AUDIT_KAFKA_BROKERS
envvar
audit_kafka brokers
mc-conf
Kafka broker 地址的逗号分隔列表:
至少必须有一个 broker 在线且 MinIO server 可达,才能初始化并发送审计日志事件。 MinIO 会按指定顺序检查每个 broker。
Topic
必填
MINIO_AUDIT_KAFKA_TOPIC
envvar
audit_kafka topic
mc-conf
与 MinIO 审计日志事件关联的 Kafka topic 名称。
TLS
可选
MINIO_AUDIT_KAFKA_TLS
envvar
audit_kafka tls
mc-conf
设置为 "on" 以启用到指定 Kafka brokers 的 TLS 连接。
默认值为 "off"。
TLS Skip Verify
可选
MINIO_AUDIT_KAFKA_TLS_SKIP_VERIFY
envvar
audit_kafka tls_skip_verify
mc-conf
设置为 "on" 以指示 MinIO 跳过对 Kafka broker TLS 证书的校验。
你可以使用该选项连接使用未知签发方 TLS 证书的 Kafka brokers,例如自签名证书或企业内部 CA(Certificate Authorities)签发的证书。
默认情况下,MinIO 会同时使用系统信任库 以及 MinIO CA directory 中的内容来校验远端客户端 TLS 证书。
默认值为 "off",即严格校验 TLS 证书。
SASL
可选
MINIO_AUDIT_KAFKA_SASL
envvar
需要指定 MINIO_AUDIT_KAFKA_SASL_USERNAME 和 MINIO_AUDIT_KAFKA_SASL_PASSWORD。
设置为 "on" 以指示 MinIO 使用 SASL 对 Kafka brokers 进行认证。
SASL Username
可选
MINIO_AUDIT_KAFKA_SASL_USERNAME
envvar
需要指定 MINIO_AUDIT_KAFKA_SASL 和 MINIO_AUDIT_KAFKA_SASL_PASSWORD。
MinIO 用于对 Kafka brokers 进行认证的 SASL 用户名。
SASL Password
可选
MINIO_AUDIT_KAFKA_SASL_PASSWORD
envvar
需要指定 MINIO_AUDIT_KAFKA_SASL 和 MINIO_AUDIT_KAFKA_SASL_USERNAME。
MinIO 用于对 Kafka brokers 进行认证的 SASL 密码。
SASL Mechanism
可选
MINIO_AUDIT_KAFKA_SASL_MECHANISM
envvar
重要
PLAIN 认证机制会以明文形式在网络中传输凭据。 使用 MINIO_AUDIT_KAFKA_TLS 以启用到 Kafka brokers 的 TLS 连接,并确保 SASL 凭据安全传输。
audit_kafka sasl_mechanism
mc-conf
重要
PLAIN 认证机制会以明文形式在网络中传输凭据。 使用 tls 以启用到 Kafka brokers 的 TLS 连接,并确保 SASL 凭据安全传输。
MinIO 用于对 Kafka brokers 进行认证的 SASL 机制。
默认值为 plain。
TLS Client Auth
可选
MINIO_AUDIT_KAFKA_TLS_CLIENT_AUTH
envvar
需要指定 MINIO_AUDIT_KAFKA_CLIENT_TLS_CERT 和 MINIO_AUDIT_KAFKA_CLIENT_TLS_KEY。
设置为 "on" 以指示 MinIO 使用 mTLS 对 Kafka brokers 进行认证。
Client TLS Certificate
可选
MINIO_AUDIT_KAFKA_CLIENT_TLS_CERT
envvar
audit_kafka client_tls_cert
mc-conf
用于 mTLS 认证的 TLS 客户端证书路径。
Client TLS Key
可选
MINIO_AUDIT_KAFKA_CLIENT_TLS_KEY
envvar
audit_kafka client_tls_key
mc-conf
用于 mTLS 认证的 TLS 客户端私钥路径。
Version
可选
MINIO_AUDIT_KAFKA_VERSION
envvar
audit_kafka version
mc-conf
MinIO 在指定端点期望的 Kafka broker 版本。
如果 Kafka broker 版本与此设置指定的不匹配,MinIO 会返回错误。
Comment
可选
MINIO_AUDIT_KAFKA_COMMENT
envvar
audit_kafka comment
mc-conf
与该配置关联的注释。
队列目录
可选
MINIO_AUDIT_KAFKA_QUEUE_DIR
envvar
audit_kafka queue_dir
mc-conf
指定目录路径(例如 /opt/minio/events)以启用 MinIO 对未投递消息的持久事件存储。
当 Kafka 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后回放这些事件。
队列大小
可选
MINIO_AUDIT_KAFKA_QUEUE_SIZE
envvar
audit_kafka queue_size
mc-conf
指定未投递消息的最大上限。 默认值为 100000。
12.1.6 - 存储桶通知设置
本页介绍用于控制 MinIO bucket notifications 相关行为的设置。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
同步事件
可选
MINIO_API_SYNC_EVENTS
envvar
api sync_events
mc-conf
启用同步 存储桶通知。
指定 on 可让 MinIO 在远端目标收到事件并返回成功之后,再继续处理后续事件。
默认值为 off,即异步存储桶通知。在这种模式下,MinIO 不会等待远端目标在收到 事件后返回成功。
支持的通知目标
通知需要一个用于接收事件的目标。 MinIO 支持多种通知目标。 每种目标类型的设置位于各自独立的页面。 请根据实际使用的目标类型,选择下方对应链接。
12.1.6.1 - AMQP 通知设置
本文档说明了将 AMQP 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 AMQP (RabbitMQ)。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 AMQP 目标
可以通过在顶层键后为每组相关 AMQP 设置追加唯一标识符 _ID,来指定多个 AMQP 服务端点。
示例
例如,以下命令分别将两个不同的 AMQP 服务端点设置为 PRIMARY 和 SECONDARY:
例如,MINIO_NOTIFY_AMQP_ENABLE_PRIMARY 表示该环境变量关联到 ID 为 PRIMARY 的 AMQP 服务端点。
请注意,对于配置设置,唯一标识符仅追加到 amqp,而不是每个单独参数。
设置
启用
MINIO_NOTIFY_AMQP_ENABLE
envvar
如果设置为 on,则必须指定 MINIO_NOTIFY_AMQP_URL。
指定 on 以启用向 AMQP 端点发布存储桶通知。
默认值为 off。
notify_amqp
mc-conf
用于定义 AMQP 服务端点以供 MinIO 存储桶通知 使用的顶层配置键。
使用 mc admin config set 设置或更新 AMQP 服务端点。 对于每个目标,url 参数都是 必需 的。 以空白字符(" ")分隔的列表形式指定其他可选参数。
URL
必需
MINIO_NOTIFY_AMQP_URL
envvar
notify_amqp url
mc-conf
指定 MinIO 发布存储桶事件的 AMQP 服务器端点。 例如,amqp://myuser:mypassword@localhost:5672。
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
Exchange(交换机)
可选
MINIO_NOTIFY_AMQP_EXCHANGE
envvar
notify_amqp exchange
mc-conf
指定要使用的 AMQP exchange 名称。
Exchange 类型
可选
MINIO_NOTIFY_AMQP_EXCHANGE_TYPE
envvar
notify_amqp exchange_type
mc-conf
指定 AMQP exchange 的类型。
路由键
可选
MINIO_NOTIFY_AMQP_ROUTING_KEY
envvar
notify_amqp routing_key
mc-conf
指定用于发布事件的 routing key。
Mandatory(强制)
可选
MINIO_NOTIFY_AMQP_MANDATORY
envvar
notify_amqp mandatory
mc-conf
指定 off 以忽略消息未送达错误。 默认值为 on。
持久化
可选
MINIO_NOTIFY_AMQP_DURABLE
envvar
notify_amqp durable
mc-conf
指定 on 以在 broker 重启后保留消息队列。 默认值为 off。
No Wait(不等待)
可选
MINIO_NOTIFY_AMQP_NO_WAIT
envvar
notify_amqp no_wait
mc-conf
指定 on 以启用非阻塞消息投递。 默认值为 off。
Internal(内部)
可选
MINIO_NOTIFY_AMQP_INTERNAL
envvar
notify_amqp internal
mc-conf
指定 on 以仅在 exchange 绑定到其他 exchanges 时使用该 exchange。 有关 AMQP exchange 绑定的更多信息,请参阅 RabbitMQ 文档中的 Exchange to Exchange Bindings。
自动删除
可选
MINIO_NOTIFY_AMQP_AUTO_DELETED
envvar
notify_amqp auto_deleted
mc-conf
指定 on 以在没有消费者时自动删除消息队列。 默认值为 off。
投递模式
可选
MINIO_NOTIFY_AMQP_DELIVERY_MODE
envvar
notify_amqp delivery_mode
mc-conf
指定 1 以将投递模式设置为非持久化队列。
指定 2 以将投递模式设置为持久化队列。
队列目录
可选
MINIO_NOTIFY_AMQP_QUEUE_DIR
envvar
notify_amqp queue_dir
mc-conf
指定目录路径以启用 MinIO 对未送达消息的持久化事件存储,例如 /opt/minio/events。
当 AMQP 服务离线时,MinIO 会将未送达事件存储在指定存储中,并在连接恢复后重放这些已存储事件。
队列限制
可选
MINIO_NOTIFY_AMQP_QUEUE_LIMIT
envvar
notify_amqp queue_limit
mc-conf
指定未送达消息的最大数量限制。 默认值为 100000。
注释
可选
MINIO_NOTIFY_AMQP_COMMENT
envvar
notify_amqp comment
mc-conf
为 AMQP 配置指定注释。
12.1.6.2 - Elasticsearch 通知设置
本文档介绍如何配置 Elasticsearch 服务作为 存储桶通知 的目标。 有关如何使用这些设置的教程,请参阅 将事件发布到 Elasticsearch。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 Elasticsearch 目标
可通过为每组相关设置追加唯一标识符 _ID 来指定多个 Elasticsearch 服务端点。 例如,以下命令分别将两个不同的 Elasticsearch 服务端点设置为 PRIMARY 和 SECONDARY:
示例
注意,对于配置设置,唯一标识符只追加到 notify_elasticsearch,而不是每个单独参数。
设置
启用
必需
MINIO_NOTIFY_ELASTICSEARCH_ENABLE
envvar
指定 on 以启用将存储桶通知发布到 Elasticsearch 服务端点。
默认为 off。
如果设置为 on,则还必须指定以下环境变量:
notify_elasticsearch
mc-conf
用于定义 Elasticsearch 服务端点以配合 MinIO bucket notifications 使用的顶级配置键。
使用 mc admin config set 设置或更新 Elasticsearch 服务端点。 对于每个目标,以下参数为 必需:
其他可选参数以空白字符(" ")分隔的列表形式指定。
URL
必需
MINIO_NOTIFY_ELASTICSEARCH_URL
envvar
notify_elasticsearch url
mc-conf
指定 MinIO 将存储桶事件发布到的 Elasticsearch 服务端点。 例如:https://elasticsearch.example.com:9200。
MinIO 支持通过 URL 参数传递认证信息,格式为 PROTOCOL://USERNAME:PASSWORD@HOSTNAME:PORT。
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
Index
必需
MINIO_NOTIFY_ELASTICSEARCH_INDEX
envvar
notify_elasticsearch index
mc-conf
指定用于存储或更新 MinIO 存储桶事件的 Elasticsearch index 名称。 如果 index 不存在,Elasticsearch 会自动创建。
Format
必需
MINIO_NOTIFY_ELASTICSEARCH_FORMAT
envvar
notify_elasticsearch format
mc-conf
指定写入 Elasticsearch index 的事件数据格式。 MinIO 支持以下取值:
namespace
对于每个存储桶事件,MinIO 会创建一个 JSON 文档,以事件中的存储桶名和对象名作为文档 ID,并将实际事件作为文档正文的一部分。 对该对象的后续更新会修改该对象在 index 中的现有条目。 同样,删除该对象也会删除对应的 index 条目。
access
对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并以 Elasticsearch 生成的随机 ID 将其追加到 index。 对对象的后续更新会产生新的 index 条目,而现有条目保持不变。
Username
可选
MINIO_NOTIFY_ELASTICSEARCH_USERNAME
envvar
notify_elasticsearch username
mc-conf
用于连接启用了认证的 Elasticsearch 服务端点的用户名。
Password
可选
MINIO_NOTIFY_ELASTICSEARCH_PASSWORD
envvar
notify_elasticsearch password
mc-conf
用于连接启用了认证的 Elasticsearch 服务端点的密码。
变更: RELEASE.2023-06-23T20-26-00Z
当该值作为 mc admin config get 的返回内容一部分时,MinIO 会对其进行脱敏。
队列目录
可选
MINIO_NOTIFY_ELASTICSEARCH_QUEUE_DIR
envvar
notify_elasticsearch queue_dir
mc-conf
指定目录路径以启用 MinIO 针对未投递消息的持久化事件存储,例如 /opt/minio/events。
当 Elasticsearch 服务离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。
队列上限
可选
MINIO_NOTIFY_ELASTICSEARCH_QUEUE_LIMIT
envvar
notify_elasticsearch queue_limit
mc-conf
指定未投递消息的最大上限。 默认为 100000。
注释
可选
MINIO_NOTIFY_ELASTICSEARCH_COMMENT
envvar
notify_elasticsearch comment
mc-conf
指定与 Elasticsearch 配置关联的注释。
12.1.6.3 - Kafka 通知设置
本页面记录了将 Kafka 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参见 将事件发布到 Kafka。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 Kafka 目标
你可以在顶层键后附加唯一标识符 _ID,为每组相关的 Kafka 设置指定多个 Kafka 服务端点。
示例
例如,以下命令分别将两个不同的 Kafka 服务端点设置为 PRIMARY 和 SECONDARY:
请注意,对于配置设置,唯一标识符只附加到 notify_kafka,而不是附加到每个单独参数。
设置
启用
必需
MINIO_NOTIFY_KAFKA_ENABLE
envvar
指定 on 以启用将存储桶通知发布到 Kafka 服务端点。
默认为 off。
notify_kafka
mc-conf
用于定义 Kafka 服务端点并与 MinIO bucket notifications 配合使用的顶层配置键。
使用 mc admin config set 设置或更新 Kafka 服务端点。 对于每个目标,brokers 参数都是 必需 的。 其他可选参数请以空白字符(" ")分隔的列表形式指定。
Brokers
必需
MINIO_NOTIFY_KAFKA_BROKERS
envvar
notify_kafka brokers
mc-conf
指定以逗号分隔的 Kafka broker 地址列表。 例如:
"kafka1.example.com:2021,kafka2.example.com:2021"
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
Topic
可选
MINIO_NOTIFY_KAFKA_TOPIC
envvar
notify_kafka topic
mc-conf
指定 MinIO 发布存储桶事件的 Kafka topic 名称。
SASL
可选
MINIO_NOTIFY_KAFKA_SASL
envvar
notify_kafka sasl
mc-conf
指定 on 以启用 SASL 身份验证。
SASL Username
可选
MINIO_NOTIFY_KAFKA_SASL_USERNAME
envvar
notify_kafka sasl_username
mc-conf
指定用于对 Kafka broker 执行 SASL/PLAIN 或 SASL/SCRAM 身份验证的用户名。
SASL Password
可选
MINIO_NOTIFY_KAFKA_SASL_PASSWORD
envvar
notify_kafka sasl_password
mc-conf
指定用于对 Kafka broker 执行 SASL/PLAIN 或 SASL/SCRAM 身份验证的密码。
变更: RELEASE.2023-06-23T20-26-00Z
当此值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。
SASL Mechanism
可选
MINIO_NOTIFY_KAFKA_SASL_MECHANISM
envvar
notify_kafka sasl_mechanism
mc-conf
指定用于对 Kafka broker 进行身份验证的 SASL 机制。 MinIO 支持以下机制:
PLAIN(默认)SHA256SHA512
TLS Client Auth
可选
MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH
envvar
notify_kafka tls_client_auth
mc-conf
指定 Kafka broker 的客户端身份验证类型。 下表列出了支持的取值及其映射关系
| 值 | 身份验证类型 |
|---|---|
| 0 | NoClientCert |
| 1 | RequestClientCert |
| 2 | RequireAnyClientCert |
| 3 | VerifyClientCertIfGiven |
| 4 | RequireAndVerifyClientCert |
有关各客户端身份验证类型的更多信息,请参见 ClientAuthType。
TLS
可选
MINIO_NOTIFY_KAFKA_TLS
envvar
notify_kafka tls
mc-conf
指定 on 以启用与 Kafka broker 的 TLS 连接。
TLS Skip Verify
可选
MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY
envvar
notify_kafka tls_skip_verify
mc-conf
启用或禁用对 NATS 服务端点 TLS 证书的 TLS 验证。
- 指定
on以禁用 TLS 验证(默认)。 - 指定
off以启用 TLS 验证。
Client TLS Cert
可选
MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT
envvar
notify_kafka client_tls_cert
mc-conf
指定客户端证书路径,用于对 Kafka broker 执行 mTLS 身份验证。
Client TLS Key
可选
MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY
envvar
notify_kafka client_tls_key
mc-conf
指定客户端私钥路径,用于对 Kafka broker 执行 mTLS 身份验证。
Version
可选
MINIO_NOTIFY_KAFKA_VERSION
envvar
notify_kafka version
mc-conf
指定在对 Kafka 集群执行操作时假定的 Kafka 集群版本。 有关此字段行为的更多信息,请参见 sarama reference documentation。
Batch Size
可选
MINIO_NOTIFY_KAFKA_BATCH_SIZE
envvar
notify_kafka batch_size
mc-conf
指定整数值,作为向 Kafka 发送记录时的 batch size。
变更: RELEASE.2023-12-02T10-51-33Z
MinIO 先前将此值限制为 100。
Queue Directory
可选
MINIO_NOTIFY_KAFKA_QUEUE_DIR
envvar
notify_kafka queue_dir
mc-conf
指定目录路径以启用 MinIO 对未投递消息的持久化事件存储,例如 /opt/minio/events。
当 Kafka server/broker 离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。
Queue Limit
可选
MINIO_NOTIFY_KAFKA_QUEUE_LIMIT
envvar
notify_kafka queue_limit
mc-conf
指定未投递消息的最大限制。 默认为 100000。
Comment
可选
MINIO_NOTIFY_KAFKA_COMMENT
envvar
notify_kafka comment
mc-conf
指定与 Kafka 配置关联的注释。
Compression Codec
新增: MinIO
Server RELEASE.2023-12-09T18-17-51Z
可选
MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_CODEC
envvar
notify_kafka compression_codec
mc-conf
指定向 Kafka 发送记录时使用的压缩编解码器。
支持以下取值:
nonesnappygziplz4zstd
Compression Level
新增: MinIO
Server RELEASE.2023-12-09T18-17-51Z
可选
MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_LEVEL
envvar
notify_kafka compression_level
mc-conf
根据已配置的压缩编解码器控制应用的压缩级别。
指定大于或等于 0 的整数值。 该值的效果取决于所选编解码器。
12.1.6.4 - MQTT 通知设置
本页面记录了将 MQTT 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 MQTT。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 MQTT 目标
你可以在顶层键后为每组相关 MQTT 设置追加一个唯一标识符 _ID,以指定多个 MQTT 服务端点。 例如,以下命令分别将两个不同的 MQTT 服务端点设置为 PRIMARY 和 SECONDARY:
在这些设置中,MINIO_NOTIFY_MQTT_ENABLE_PRIMARY 表示该环境变量与 ID 为 PRIMARY 的 MQTT 服务端点关联。
设置
启用
必填
MINIO_NOTIFY_MQTT_ENABLE
envvar
指定 on 以启用将存储桶通知发布到 MQTT 端点。
默认为 off。
notify_mqtt
mc-conf
用于定义 MQTT server/broker 端点的顶层配置键,可用于 MinIO 存储桶通知。
使用 mc admin config set 设置或更新 MQTT server/broker 端点。 每个端点都 必须 包含以下参数:
brokertopicusername如果 MQTT server/broker 不强制认证/授权,则为可选password如果 MQTT server/broker 不强制认证/授权,则为可选
其他可选参数请以空白字符(" ")分隔的列表形式指定。
Broker
必填
MINIO_NOTIFY_MQTT_BROKER
envvar
notify_mqtt broker
mc-conf
指定 MQTT server/broker 端点。 MinIO 支持通过 TCP、TLS 或 Websocket 连接到 server/broker URL。 例如:
tcp://mqtt.example.net:1883tls://mqtt.example.net:1883ws://mqtt.example.net:1883
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
Topic
必填
MINIO_NOTIFY_MQTT_TOPIC
envvar
notify_mqtt topic
mc-conf
指定 MQTT topic 名称,用于关联 MinIO 发布到 MQTT 端点的事件。
Username
如果 MQTT server/broker 强制认证/授权,则必填
MINIO_NOTIFY_MQTT_USERNAME
envvar
notify_mqtt username
mc-conf
指定 MinIO 用于向 MQTT server/broker 进行身份认证的 MQTT 用户名。
Password
如果 MQTT server/broker 强制认证/授权,则必填
MINIO_NOTIFY_MQTT_PASSWORD
envvar
notify_mqtt password
mc-conf
指定 MinIO 用于向 MQTT server/broker 进行身份认证的 MQTT 用户名对应的密码。
变更: RELEASE.2023-06-23T20-26-00Z
作为 mc admin config get 返回结果的一部分时,MinIO 会对该值进行脱敏处理。
服务质量(QoS)
可选
MINIO_NOTIFY_MQTT_QOS
envvar
notify_mqtt qos
mc-conf
指定已发布事件的 Quality of Service 优先级。
默认为 0。
Keep Alive 间隔
可选
MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL
envvar
notify_mqtt keep_alive_interval
mc-conf
指定 MQTT 连接的 keep-alive 间隔。MinIO 支持以下时间单位:
s- 秒,例如 “60s”m- 分钟,例如 “60m”h- 小时,例如 “24h”d- 天,例如 “7d”
重连间隔
可选
MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL
envvar
notify_mqtt reconnect_interval
mc-conf
指定 MQTT 连接的重连间隔。MinIO 支持以下时间单位:
s- 秒,例如 “60s”m- 分钟,例如 “60m”h- 小时,例如 “24h”d- 天,例如 “7d”
队列目录
可选
MINIO_NOTIFY_MQTT_QUEUE_DIR
envvar
notify_mqtt queue_dir
mc-conf
指定目录路径以启用 MinIO 的持久化事件存储,用于保存未投递消息,例如 /opt/minio/events。
当 MQTT server/broker 离线时,MinIO 会将未投递事件存储在指定位置;连接恢复后会重放这些已存储事件。
队列上限
可选
MINIO_NOTIFY_MQTT_QUEUE_LIMIT
envvar
notify_mqtt queue_limit
mc-conf
指定未投递消息的最大上限。 默认为 100000。
注释
可选
MINIO_NOTIFY_MQTT_COMMENT
envvar
notify_mqtt comment
mc-conf
指定与 MQTT 配置关联的注释。
12.1.6.5 - MySQL 通知设置
本页记录了将 MySQL 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 MySQL。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 MySQL 目标
你可以在顶层键后追加唯一标识符 _ID,为每组相关的 MySQL 设置指定多个 MySQL 服务端点。
示例
以下命令分别将两个不同的 MySQL 服务端点设置为 PRIMARY 和 SECONDARY:
在这些设置中,MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY 表示该环境变量关联到 ID 为 PRIMARY 的 MySQL 服务端点。
设置
启用
必需
MINIO_NOTIFY_MYSQL_ENABLE
envvar
指定 on 以启用将存储桶通知发布到 MySQL 服务端点。
默认为 off。
若设置为 on,则还必须指定以下环境变量:
notify_mysql
mc-conf
用于定义 MySQL 服务端点以配合 MinIO bucket notifications 使用的顶层配置键。
使用 mc admin config set 设置或更新 MySQL 服务端点。 每个目标都 必需 以下参数:
其他可选参数请以空白字符(" ")分隔列表形式指定。
数据源名称(DSN)字符串
必需
MINIO_NOTIFY_MYSQL_DSN_STRING
envvar
notify_mysql dsn_string
mc-conf
指定 MySQL 服务端点的数据源名称(DSN)。MinIO 期望使用以下格式:
<user>:<password>@tcp(<host>:<port>)/<database>
例如:
"username:password@tcp(mysql.example.com:3306)/miniodb"
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
表
必需
MINIO_NOTIFY_MYSQL_TABLE
envvar
notify_mysql table
mc-conf
指定 MinIO 发布事件通知到的 MySQL 表名。
格式
必需
MINIO_NOTIFY_MYSQL_FORMAT
envvar
notify_mysql format
mc-conf
指定写入 MySQL 服务端点的事件数据格式。 MinIO 支持以下取值:
namespace
对于每个存储桶事件,MinIO 会创建一个 JSON 文档,将事件中的存储桶和对象名称作为文档 ID,并将实际事件作为文档体的一部分。 对该对象的后续更新会修改该对象在表中的现有条目。 同样,删除该对象也会删除对应的表条目。
access
对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并以 MySQL 生成的随机 ID 追加到表中。 对对象的后续更新会产生新的索引条目,且现有条目保持不变。
最大打开连接数
可选
MINIO_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS
envvar
notify_mysql max_open_connections
mc-conf
指定与 MySQL 数据库建立的最大打开连接数。
默认为 2。
队列目录
可选
MINIO_NOTIFY_MYSQL_QUEUE_DIR
envvar
notify_mysql queue_dir
mc-conf
指定目录路径,以启用 MinIO 对未投递消息的持久化事件存储,例如 /opt/minio/events。
当 MySQL 服务器/代理离线时,MinIO 会将未投递事件存储在指定位置;连接恢复后会重放这些已存储事件。
队列上限
可选
MINIO_NOTIFY_MYSQL_QUEUE_LIMIT
envvar
notify_mysql queue_limit
mc-conf
指定未投递消息的最大上限。默认为 100000。
注释
可选
MINIO_NOTIFY_MYSQL_COMMENT
envvar
notify_mysql comment
mc-conf
指定与 MySQL 配置关联的注释。
12.1.6.6 - NATS 通知设置
本页面说明了将 NATS 服务配置为 存储桶通知 目标的设置。 有关如何使用这些设置的教程,请参见 将事件发布到 NATS。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 NATS 目标
你可以在顶层键后追加唯一标识符 _ID,为每组相关的 NATS 设置指定多个 NATS 服务端点。
示例
例如,以下命令分别将两个不同的 NATS 服务端点设置为 PRIMARY 和 SECONDARY:
在这些设置中,MINIO_NOTIFY_NATS_ENABLE_PRIMARY 表示该环境变量关联到 ID 为 PRIMARY 的 NATS 服务端点。
设置
启用
必填
MINIO_NOTIFY_NATS_ENABLE
envvar
指定 on 以启用向 NATS 服务端点发布存储桶通知。
默认为 off。
notify_nats
mc-conf
用于定义 NATS 服务端点并将其用于 MinIO bucket notifications 的顶层配置键。
使用 mc admin config set 设置或更新 NATS 服务端点。 对于每个目标,address 和 subject 参数均为 必填。 其他可选参数请使用空白字符(" ")分隔的列表指定。
地址
必填
MINIO_NOTIFY_NATS_ADDRESS
envvar
notify_nats address
mc-conf
指定 MinIO 发布存储桶事件到的 NATS 服务端点。 例如:nats-endpoint.example.com:4222。
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
Subject
必填
MINIO_NOTIFY_NATS_SUBJECT
envvar
notify_nats subject
mc-conf
指定 MinIO 在 NATS 端点上关联已发布事件的订阅。
用户名
可选
MINIO_NOTIFY_NATS_USERNAME
envvar
notify_nats username
mc-conf
指定连接到 NATS 服务端点时使用的用户名。
密码
可选
MINIO_NOTIFY_NATS_PASSWORD
envvar
notify_nats password
mc-conf
指定连接到 NATS 服务端点时使用的密码。
变更: RELEASE.2023-06-23T20-26-00Z
MinIO 在作为 mc admin config get 返回结果的一部分时会对该值进行脱敏。
Token
可选
MINIO_NOTIFY_NATS_TOKEN
envvar
notify_nats token
mc-conf
指定连接到 NATS 服务端点时使用的 token。
变更: RELEASE.2023-06-23T20-26-00Z
MinIO 在作为 mc admin config get 返回结果的一部分时会对该值进行脱敏。
用户凭证文件
可选
MINIO_NOTIFY_NATS_USER_CREDENTIALS
envvar
notify_nats user_credentials
mc-conf
指定用于连接 NATS 服务端点的 user credentials file。
TLS
可选
MINIO_NOTIFY_NATS_TLS
envvar
notify_nats tls
mc-conf
指定 on 以启用到 NATS 服务端点的 TLS 连接。
TLS Skip Verify
可选
MINIO_NOTIFY_NATS_TLS_SKIP_VERIFY
envvar
notify_nats tls_skip_verify
mc-conf
启用或禁用对 NATS 服务端点 TLS 证书的 TLS 校验。
- 指定
on以禁用 TLS 校验(默认)。 - 指定
off以启用 TLS 校验。
Ping Interval
可选
MINIO_NOTIFY_NATS_PING_INTERVAL
envvar
notify_nats ping_interval
mc-conf
指定客户端向 NATS 服务器发送 ping 的时间间隔。 MinIO 支持以下时间单位:
s- 秒,"60s"m- 分钟,"5m"h- 小时,"1h"d- 天,"1d"
Jetstream
可选
MINIO_NOTIFY_NATS_JETSTREAM
envvar
notify_nats jetstream
mc-conf
指定 on 以启用 JetStream 支持,将事件流式传输到 NATS JetStream 服务端点。
Streaming
已弃用
可选
MINIO_NOTIFY_NATS_STREAMING
envvar
notify_nats streaming
mc-conf
指定 on 以启用向 NATS 服务端点异步发布事件。
Streaming Async
已弃用
可选
MINIO_NOTIFY_NATS_STREAMING_ASYNC
envvar
notify_nats streaming_async
mc-conf
指定 on 以启用向 NATS 服务端点异步发布事件。
Max ACK Responses In Flight
已弃用
可选
MINIO_NOTIFY_NATS_STREAMING_MAX_PUB_ACKS_IN_FLIGHT
envvar
notify_nats streaming_max_pub_acks_in_flight
mc-conf
指定在等待 NATS 服务端点 ACK 响应之前可发布的消息数量。
Streaming Cluster ID
已弃用
可选
MINIO_NOTIFY_NATS_STREAMING_CLUSTER_ID
envvar
notify_nats streaming_cluster_id
mc-conf
指定 NATS Streaming 集群的唯一 ID。
Cert Authority
可选
MINIO_NOTIFY_NATS_CERT_AUTHORITY
envvar
notify_nats cert_authority
mc-conf
指定用于签署 NATS 服务端点 TLS 证书的 Certificate Authority 证书链路径。
Client Cert
可选
MINIO_NOTIFY_NATS_CLIENT_CERT
envvar
notify_nats client_cert
mc-conf
指定用于执行到 NATS 服务端点 mTLS 认证的客户端证书路径。
Client Key
可选
MINIO_NOTIFY_NATS_CLIENT_KEY
envvar
notify_nats client_key
mc-conf
指定用于执行到 NATS 服务端点 mTLS 认证的客户端私钥路径。
Queue Directory
可选
MINIO_NOTIFY_NATS_QUEUE_DIR
envvar
notify_nats queue_dir
mc-conf
指定目录路径以启用 MinIO 对未投递消息的持久化事件存储,例如 /opt/minio/events。
当 NATS server/broker 离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放已存储事件。
Queue Limit
可选
MINIO_NOTIFY_NATS_QUEUE_LIMIT
envvar
notify_nats queue_limit
mc-conf
指定未投递消息的最大上限。 默认为 100000。
Comment
可选
MINIO_NOTIFY_NATS_COMMENT
envvar
notify_nats comment
mc-conf
指定与 NATS 配置关联的注释。
12.1.6.7 - NSQ 通知设置
本页面记录了将 NSQ 服务配置为 存储桶通知 目标时所使用的设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 NSQ。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 NSQ 目标
你可以通过在每组相关 NSQ 设置的顶层键末尾附加唯一标识符 _ID,指定多个 NSQ 服务端点。 例如,以下命令分别将两个不同的 NSQ 服务端点设置为 PRIMARY 和 SECONDARY:
设置
启用
必填
MINIO_NOTIFY_NSQ_ENABLE
envvar
指定 on 以启用将存储桶通知发布到 NSQ 端点。
notify_nsq
mc-conf
用于定义 NSQ server/broker 端点的顶层配置键,供 MinIO 存储桶通知 使用。
使用 mc admin config set 设置或更新 NSQ server/broker 端点。 每个端点都 必须 包含以下参数:
其他可选参数以空白字符(" ")分隔的列表形式指定。
NSQ Daemon 服务器地址
必填
MINIO_NOTIFY_NSQ_NSQD_ADDRESS
envvar
notify_nsq nsqd_address
mc-conf
指定 NSQ Daemon 运行所在的 NSQ 服务器地址。 例如:
https://nsq-endpoint.example.net:4150
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
主题
必填
MINIO_NOTIFY_NSQ_TOPIC
envvar
notify_nsq topic
mc-conf
指定 MinIO 向 broker 发布事件时使用的 NSQ topic 名称。
TLS
可选
MINIO_NOTIFY_NSQ_TLS
envvar
notify_nsq tls
mc-conf
指定 on 以启用到 NSQ service broker 的 TLS 连接。
TLS 跳过校验
可选
MINIO_NOTIFY_NSQ_TLS_SKIP_VERIFY
envvar
notify_nsq tls_skip_verify
mc-conf
启用或禁用对 NSQ service broker TLS 证书的 TLS 校验。
- 指定
on可禁用 TLS 校验(默认)。 - 指定
off可启用 TLS 校验。
队列目录
可选
MINIO_NOTIFY_NSQ_QUEUE_DIR
envvar
notify_nsq queue_dir
mc-conf
指定目录路径以启用 MinIO 对未投递消息的持久化事件存储,例如 /opt/minio/events。
当 NSQ server/broker 离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。
队列上限
可选
MINIO_NOTIFY_NSQ_QUEUE_LIMIT
envvar
notify_nsq queue_limit
mc-conf
指定未投递消息的最大上限。 默认值为 100000。
备注
可选
MINIO_NOTIFY_NSQ_COMMENT
envvar
notify_nsq comment
mc-conf
指定与 NSQ 配置关联的备注。
12.1.6.8 - PostgreSQL 通知设置
本页记录了将 PostgreSQL 服务配置为 存储桶通知 目标的设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 PostgreSQL。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 PostgreSQL 目标
你可以通过在顶层键后追加唯一标识符 _ID,为每组相关 PostgreSQL 设置指定多个 PostgreSQL 服务端点。 例如,以下命令分别将两个不同的 PostgreSQL 服务端点设置为 PRIMARY 和 SECONDARY:
在这些设置中,MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY 表示该环境变量关联到 ID 为 PRIMARY 的 PostgreSQL 服务端点。
设置
启用
必填
MINIO_NOTIFY_POSTGRES_ENABLE
envvar
指定 on 以启用将存储桶通知发布到 PostgreSQL 服务端点。
默认为 off。
如果设置为 on,则还必须指定以下环境变量:
notify_postgres
mc-conf
用于定义 PostgreSQL 服务端点的顶层配置键,可用于 MinIO bucket notifications。
使用 mc admin config set 设置或更新 PostgreSQL 服务端点。 每个目标都 必须 提供以下参数:
其他可选参数以空白字符(" ")分隔的列表形式指定。
连接字符串
必填
MINIO_NOTIFY_POSTGRES_CONNECTION_STRING
envvar
notify_postgres connection_string
mc-conf
指定 PostgreSQL 服务端点的 URI connection string。 MinIO 支持 key=value 格式的 PostgreSQL 连接字符串。 例如:
"host=https://postgresql.example.com port=5432 ..."
有关受支持 PostgreSQL 连接字符串参数的完整文档,请参阅 PostgreSQL Connection Strings documentation。
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
表
必填
MINIO_NOTIFY_POSTGRES_TABLE
envvar
notify_postgres table
mc-conf
指定 MinIO 发布事件通知的 PostgreSQL 表名称。
格式
必填
MINIO_NOTIFY_POSTGRES_FORMAT
envvar
notify_postgres format
mc-conf
指定写入 PostgreSQL 服务端点的事件数据格式。 MinIO 支持以下取值:
namespace
对于每个存储桶事件,MinIO 会创建一个 JSON 文档,使用事件中的存储桶和对象名称作为文档 ID,并将实际事件作为文档内容的一部分。 对该对象的后续更新会修改该对象在表中的现有条目。 同样,删除该对象也会删除对应的表条目。
access
对于每个存储桶事件,MinIO 会创建包含事件详情的 JSON 文档,并以 PostgreSQL 生成的随机 ID 将其追加到表中。 对对象的后续更新会产生新的索引条目,现有条目保持不变。
最大打开连接数
可选
MINIO_NOTIFY_POSTGRES_MAX_OPEN_CONNECTIONS
envvar
notify_postgres max_open_connections
mc-conf
指定与 PostgreSQL 数据库建立的最大打开连接数。
默认为 2。
队列目录
可选
MINIO_NOTIFY_POSTGRES_QUEUE_DIR
envvar
notify_postgres queue_dir
mc-conf
指定目录路径以启用 MinIO 的持久化事件存储,用于保存未投递消息,例如 /opt/minio/events。
当 PostgreSQL server/broker 离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。
队列上限
可选
MINIO_NOTIFY_POSTGRES_QUEUE_LIMIT
envvar
notify_postgres queue_limit
mc-conf
指定未投递消息的数量上限。 默认为 100000。
注释
可选
MINIO_NOTIFY_POSTGRES_COMMENT
envvar
notify_postgres comment
mc-conf
指定与 PostgreSQL 配置关联的注释。
12.1.6.9 - Redis 通知设置
本页记录了将 Redis 服务配置为 存储桶通知 目标所需的设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 Redis。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 Redis 目标
你可以通过在每组相关 Redis 设置的顶层键末尾追加唯一标识符 _ID 来指定多个 Redis 服务端点。 例如,以下命令分别将两个不同的 Redis 服务端点设置为 PRIMARY 和 SECONDARY:
设置
启用
必需
MINIO_NOTIFY_REDIS_ENABLE
envvar
指定 on 以启用将存储桶通知发布到 Redis 服务端点。
默认为 off。
如果设置为 on,还必须指定以下附加环境变量:
notify_redis
mc-conf
用于定义 Redis server/broker 端点并供 MinIO bucket notifications 使用的顶层配置键。
使用 mc admin config set 设置或更新 Redis server/broker 端点。 对于每个端点,以下参数为 必需:
将其他可选参数指定为以空白字符(" ")分隔的列表。
地址
必需
MINIO_NOTIFY_REDIS_ADDRESS
envvar
notify_redis address
mc-conf
指定 MinIO 发布存储桶事件的 Redis 服务端点。 例如:redis.example.com:6369。
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
键
必需
MINIO_NOTIFY_REDIS_KEY
envvar
notify_redis key
mc-conf
指定用于存储和更新事件的 Redis 键。 如果该键不存在,Redis 会自动创建。
格式
必需
MINIO_NOTIFY_REDIS_FORMAT
envvar
notify_redis format
mc-conf
指定写入 Redis 服务端点的事件数据格式。 MinIO 支持以下取值:
namespace
对于每个存储桶事件,MinIO 会创建一个 JSON 文档,以事件中的存储桶名和对象名作为文档 ID,并将实际事件作为文档体的一部分。 对该对象的后续更新会修改该对象现有的索引条目。 同样,删除对象也会删除对应的索引条目。
access
对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并以 Redis 生成的随机 ID 将其追加到该键。 对对象的后续更新会产生新的索引条目,现有条目保持不变。
密码
可选
MINIO_NOTIFY_REDIS_PASSWORD
envvar
notify_redis password
mc-conf
指定 Redis 服务器的密码。
变更: RELEASE.2023-06-23T20-26-00Z
当该值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。
用户
可选
新增: RELEASE.2024-03-21T23-13-43Z
MINIO_NOTIFY_REDIS_USER
envvar
notify_redis user
mc-conf
指定 Redis 服务器的用户。
队列目录
可选
MINIO_NOTIFY_REDIS_QUEUE_DIR
envvar
notify_redis queue_dir
mc-conf
指定目录路径以启用 MinIO 的持久化事件存储,用于保存未投递消息,例如 /opt/minio/events。
当 Redis server/broker 离线时,MinIO 会将未投递事件存储到指定存储中;连接恢复后,会重放这些已存储事件。
队列上限
可选
MINIO_NOTIFY_REDIS_QUEUE_LIMIT
envvar
notify_redis queue_limit
mc-conf
指定未投递消息的最大上限。 默认为 100000。
注释
可选
MINIO_NOTIFY_REDIS_COMMENT
envvar
notify_redis comment
mc-conf
指定与 Redis 配置关联的注释。
12.1.6.10 - Webhook 服务通知设置
本页记录了将 Webhook 服务配置为 存储桶通知 目标所需的设置。 有关如何使用这些设置的教程,请参见 将事件发布到 Webhook。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 Webhook 服务目标
可通过在顶层键后为每组相关 Webhook 设置追加唯一标识符 _ID 来指定多个 Webhook 服务端点。 例如,以下命令分别将两个不同的 Webhook 服务端点设置为 PRIMARY 和 SECONDARY:
设置
启用
必需
MINIO_NOTIFY_WEBHOOK_ENABLE
envvar
指定 on 以启用将存储桶通知发布到 Webhook 服务端点。
默认为 off。
notify_webhook
mc-conf
用于定义 Webhook 服务端点的顶层配置键,可用于 MinIO 存储桶通知。
使用 mc admin config set 设置或更新 Webhook 服务端点。 endpoint 参数对每个目标均为 必需。 将其他可选参数指定为以空白字符(" ")分隔的列表。
端点
必需
MINIO_NOTIFY_WEBHOOK_ENDPOINT
envvar
notify_webhook endpoint
mc-conf
指定 Webhook 服务的 URL。
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
认证令牌
必需
MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN
envvar
适用于该端点类型的认证令牌。 对于不需要认证的端点可省略。
为支持多种令牌类型,MinIO 会使用 完全按所给内容 的值来构造请求认证头。 根据端点要求,你可能需要包含额外信息。
例如,对于 Bearer 令牌,请在前面加上 Bearer:
请根据端点要求调整该值。 自定义认证格式可能类似如下:
更多详情请查阅目标服务的文档。
notify_webhook auth_token
mc-conf
适用于该端点类型的认证令牌。 对于不需要认证的端点可省略。
为支持多种令牌类型,MinIO 会使用 完全按所给内容 的值来构造请求认证头。 根据端点要求,你可能需要包含额外信息。
例如,对于 Bearer 令牌,请在前面加上 Bearer:
请根据端点要求调整该值。 自定义认证格式可能类似如下:
更多详情请查阅目标服务的文档。
变更: RELEASE.2023-06-23T20-26-00Z
当该值作为 mc admin config get 的返回内容的一部分时,MinIO 会将其打码。
队列目录
可选
MINIO_NOTIFY_WEBHOOK_QUEUE_DIR
envvar
notify_webhook queue_dir
mc-conf
指定目录路径以启用 MinIO 针对未投递消息的持久化事件存储,例如 /opt/minio/events。
当 Webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后重放这些已存储事件。
队列上限
可选
MINIO_NOTIFY_WEBHOOK_QUEUE_LIMIT
envvar
notify_webhook queue_limit
mc-conf
指定未投递消息的最大上限。 默认为 100000。
客户端证书
可选
MINIO_NOTIFY_WEBHOOK_CLIENT_CERT
envvar
notify_webhook client_cert
mc-conf
指定用于向 Webhook 服务执行 mTLS 认证的客户端证书路径。
客户端密钥
可选
MINIO_NOTIFY_WEBHOOK_CLIENT_KEY
envvar
notify_webhook client_key
mc-conf
指定用于向 Webhook 服务执行 mTLS 认证的客户端私钥路径。
12.1.7 - 身份与访问管理设置
本节页面记录了用于配置 MinIO 与身份与访问管理(IAM)方案协同工作的相关设置。 MinIO 支持的每种 IAM 方法都对应一个独立的设置页面。
12.1.7.1 - Active Directory / LDAP 设置
本页面说明通过 Active Directory 或 LDAP 服务启用外部身份管理所需的设置。 有关使用这些设置的教程,请参见 配置 MinIO 使用 Active Directory / LDAP 进行认证。
重要
在 RELEASE.2023-05-26T23-31-54Z 版本中新增:
相比使用配置设置,优先使用 mc idp ldap 命令将 MinIO 配置为使用 Active Directory 或 LDAP 进行身份管理。
MinIO 建议使用 mc idp ldap 命令执行 LDAP 管理操作。 这些命令提供了更好的校验能力和附加功能,同时提供与 identity_ldap 配置键相同的设置。 有关 mc idp ldap 的使用教程,请参见 配置 MinIO 使用 Active Directory / LDAP 进行认证。
identity_ldap 配置设置仍可用于现有脚本和其他工具。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
示例
说明
srv_record_name 会自动识别端口。
如果你的 AD/LDAP 服务器使用 DNS SRV Records,请 不要 在 server_addr 值后附加端口号。 SRV 请求在返回可用服务器列表时会自动包含端口号。
identity_ldap
mc-conf
使用 mc admin config set 定义 LDAP 时,以下设置为必需项:
enabledserver_addrlookup_bind_dnlookup_bind_dn_passworduser_dn_search_base_dnuser_dn_search_filter
设置
服务器地址
必需
MINIO_IDENTITY_LDAP_SERVER_ADDR
envvar
指定 Active Directory / LDAP server 的主机名。例如:
srv_record_name 会自动识别端口
如果你的 AD/LDAP server 使用 DNS SRV Records,则 不要 在 server_addr 的值后追加端口号。 SRV 请求在返回可用服务器列表时会自动包含端口号。
identity_ldap server_addr
mc-conf
指定 Active Directory / LDAP server 的主机名。例如:
srv_record_name 会自动识别端口
如果你的 AD/LDAP server 使用 DNS SRV Records,则 不要 在 server_addr 的值后追加端口号。 SRV 请求在返回可用服务器列表时会自动包含端口号。
Lookup Bind DN
必需
MINIO_IDENTITY_LDAP_LOOKUP_BIND_DN
envvar
identity_ldap lookup_bind_dn
mc-conf
指定 MinIO 在查询 AD/LDAP server 时所使用的 AD/LDAP 账户 Distinguished Name (DN)。 这会启用对 AD/LDAP server 的 Lookup-Bind 认证。
该 DN 账户应为只读访问账号,并具备足够权限以支持执行用户和组查询。
Lookup Bind 密码
必需
MINIO_IDENTITY_LDAP_LOOKUP_BIND_PASSWORD
envvar
identity_ldap lookup_bind_password
mc-conf
指定 Lookup-Bind 用户账户的密码。
变更: RELEASE.2023-06-23T20-26-00Z
当通过 mc admin config get 返回此值时,MinIO 会将其脱敏。
用户 DN 搜索基准 DN
必需
MINIO_IDENTITY_LDAP_USER_DN_SEARCH_BASE_DN
envvar
identity_ldap user_dn_search_base_dn
mc-conf
指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的基础 Distinguished Name (DN)。
多个 DN 之间请使用分号(;)分隔。
例如:
支持 Lookup-Bind 模式。
用户 DN 搜索过滤器
必需
MINIO_IDENTITY_LDAP_USER_DN_SEARCH_FILTER
envvar
identity_ldap user_dn_search_filter
mc-conf
指定 MinIO 在查询与认证客户端所提供凭证相匹配的用户凭证时所使用的 AD/LDAP 搜索过滤器。
使用 %s 替换字符将客户端指定的用户名插入搜索字符串。例如:
用户 DN 属性
可选
MINIO_IDENTITY_LDAP_USER_DN_ATTRIBUTES
envvar
identity_ldap user_dn_attributes
mc-conf
新增: RELEASE.2024-06-06T09-36-42Z
用户 DN 属性的逗号分隔列表。
一些有效值包括 uid,cn,mail,sshPublicKey。
如果要为 LDAP 用户启用公钥认证,请将 sshPublicKey 作为 DN 属性传入。 随后,用户即可使用传入的 SSH Public Key 登录 SFTP server。
启用
可选
此设置没有环境变量选项。 请改用配置设置。
identity_ldap enabled
mc-conf
将其设置为 false 可禁用 AD/LDAP 配置。
若为 false,应用程序将无法生成 STS 凭证,也无法通过已配置的提供者向 MinIO 进行身份验证。
默认为 true(即 “enabled”)。
组搜索过滤器
可选
MINIO_IDENTITY_LDAP_GROUP_SEARCH_FILTER
envvar
identity_ldap group_search_filter
mc-conf
指定用于为已认证用户执行组查询的 AD/LDAP 搜索过滤器。
使用 %s 替换字符将客户端指定的用户名插入搜索字符串。 使用 %d 替换字符将客户端指定用户名对应的 Distinguished Name 插入搜索字符串。
例如:
在提供 AD/LDAP 组搜索过滤器时,应将其配置为仅返回支持认证所需的最少相关组。 返回大量组成员关系的过滤器会增加相关调用和资源的体量。 对大请求体或大响应体敏感的功能可能因此出现意外行为。
在提供 AD/LDAP 组搜索过滤器时,应配置一个仅返回满足身份验证需求的最小相关组集合的过滤器。 返回大量组分配信息的过滤器会增加相关调用和资源消耗。 对大体积请求或响应体敏感的功能可能因此出现非预期行为。
组搜索基准 DN
可选
MINIO_IDENTITY_LDAP_GROUP_SEARCH_BASE_DN
envvar
identity_ldap group_search_base_dn
mc-conf
指定 MinIO 在执行组查询时所使用的组搜索基础 Distinguished Names 列表,多个值之间使用分号(;)分隔。
例如:
TLS 跳过校验
可选
MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY
envvar
identity_ldap tls_skip_verify
mc-conf
指定 on 可在不验证的情况下信任 AD/LDAP server 的 TLS 证书。 如果 AD/LDAP server 的 TLS 证书由不受信任的证书颁发机构签名 (例如自签名),则可能需要此选项。
默认值为 off
服务器不安全模式
可选
MINIO_IDENTITY_LDAP_SERVER_INSECURE
envvar
identity_ldap server_insecure
mc-conf
指定 on 可允许与 AD/LDAP server 建立未加密的连接(非 TLS)。
MinIO 会以明文形式将 AD/LDAP 用户凭证发送到 AD/LDAP server,因此 必须 启用 TLS,才能防止凭证在传输过程中被读取。 启用此选项会带来安全风险,因为任何能够访问网络流量的用户都可能看到未加密的明文 凭证。
默认值为 off。
服务器 Start TLS
可选
MINIO_IDENTITY_LDAP_SERVER_STARTTLS
envvar
identity_ldap server_starttls
mc-conf
指定 on 可启用到 AD/LDAP server 的 StartTLS 连接。
默认值为 off
有关 StartTLS 的更多信息,请参见 LDAP RFC 4511 specification 第 4.14 节。
SRV 记录名称
可选
新增: RELEASE.2022-12-12T19-27-27Z
MINIO_IDENTITY_LDAP_SRV_RECORD_NAME
envvar
identity_ldap srv_record_name
mc-conf
指定适当的值,以允许 MinIO 通过 DNS SRV record 请求选择 AD/LDAP server。
启用后,MinIO 会通过以下方式选择 AD/LDAP server:
- 按标准命名约定构造目标 SRV 记录名称。
- 请求可用的 AD/LDAP server 列表。
- 根据优先级和权重选择合适的目标。
下面的配置示例假定 AD/LDAP server 地址设为 example.com,SRV 记录协议为 _tcp。
对于以 _ldap 开头的 SRV 记录名称,指定 ldap。 构造出的 DNS SRV 记录名称类似如下:
对于以 _ldaps 开头的 SRV 记录名称,指定 ldaps。 构造出的 DNS SRV 记录名称类似如下:
如果你的 DNS SRV 记录名称使用了其他 service 或 protocol 名称,请指定 on, 并将完整记录名称作为 LDAP server 地址提供。 例如:_ldapserver._specialtcp.example.com
有关 DNS SRV 记录的更多信息,请参见 DNS SRV Records for LDAP。
DNS SRV 记录配置中的 server 地址
指定的 server 名称 不得 包含端口号。 这与标准 AD/LDAP 配置不同,后者要求提供端口号。
关于如何配置 AD/LDAP server 地址,请参见 server_addr 或 MINIO_IDENTITY_LDAP_SERVER_ADDR。
备注
可选
MINIO_IDENTITY_LDAP_COMMENT
envvar
identity_ldap identity_ldap comment
mc-conf
指定要附加到 AD/LDAP 配置上的注释。
12.1.7.2 - OpenID 身份管理设置
本页面记录了如何使用与 OpenID Connect (OIDC) 兼容的提供方来启用外部身份管理的相关设置。 有关如何使用这些设置的教程,请参见 OpenID Connect 访问管理。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
示例
identity_openid
mc-conf
使用 mc admin config set 设置或更新 OpenID 配置。 config_url 参数为 必需。 其他可选参数请以空白字符(" ")分隔的列表形式指定。
设置
配置 URL
必需
MINIO_IDENTITY_OPENID_CONFIG_URL
envvar
identity_openid config_url
mc-conf
指定与 OIDC 兼容的 provider 的 discovery document URL。
OIDC Discovery URL 通常类似于:
https://openid-provider.example.net/.well-known/openid-configuration
启用
可选
此设置没有环境变量选项。 请改用配置项。
identity_openid enabled
mc-conf
设置为 false 可禁用 OpenID 配置。
如果设置为 false,应用程序将无法使用已配置的提供方生成 STS 凭证或通过其他方式向 MinIO 认证。
默认值为 true(即“启用”)。
客户端 ID
可选
MINIO_IDENTITY_OPENID_CLIENT_ID
envvar
identity_openid client_id
mc-conf
指定 MinIO 在使用与 OIDC 兼容的 provider 验证用户凭证时 所使用的唯一公开标识符。
客户端密钥
可选
MINIO_IDENTITY_OPENID_CLIENT_SECRET
envvar
identity_openid client_secret
mc-conf
指定 MinIO 在使用与 OIDC 兼容的 provider 验证用户凭证时 所使用的 client secret。根据 provider 的不同,此字段可能是可选的。
变更: RELEASE.2023-06-23T20-26-00Z
当通过 mc admin config get 返回此值时,MinIO 会将其脱敏。
角色策略
可选
此设置与 Claim Name 设置互斥。
MINIO_IDENTITY_OPENID_ROLE_POLICY
envvar
identity_openid role_policy
mc-conf
指定逗号分隔的 策略名称 列表,用于该 provider 的所有认证请求 中的 RoleArn。指定的一个或多个策略必须已经存在于 MinIO Server 上。
要使用此 OIDC 配置,你必须在 STS 请求体中指定对应的 RoleArn。
声明名称
可选
此设置与 Role Policy 设置互斥。
MINIO_IDENTITY_OPENID_CLAIM_NAME
envvar
identity_openid claim_name
mc-conf
指定 JWT Claim 的名称,MinIO 使用该 Claim 来识别应附加到已认证用户上的 策略。
该 Claim 可以包含一个或多个逗号分隔的策略名称,以附加给用户。该 Claim 至少 必须包含一个策略,否则该用户在 MinIO server 上将没有任何权限。
默认值为 policy。
声明前缀
可选
此设置已弃用,并已在 RELEASE.2024-07-13T01-46-15Z 起移除。 请改用 MINIO_IDENTITY_OPENID_CLAIM_NAME。
MINIO_IDENTITY_OPENID_CLAIM_PREFIX
envvar
identity_openid claim_prefix
mc-conf
指定应用到所给 Claim 名称上的 JWT Claim 命名空间前缀。
显示名称
可选
MINIO_IDENTITY_OPENID_DISPLAY_NAME
envvar
identity_openid display_name
mc-conf
指定 MinIO Console 在登录页面上显示给用户的名称。
作用域
可选
MINIO_IDENTITY_OPENID_SCOPES
envvar
identity_openid scopes
mc-conf
指定逗号分隔的 scopes 列表。 默认使用 discovery document 中公布的 scopes。
重定向 URI
可选
此设置已弃用,并已在 RELEASE.2024-07-13T01-46-15Z 起移除。 请改用 MINIO_BROWSER_REDIRECT_URL。
MINIO_IDENTITY_OPENID_REDIRECT_URI
envvar
identity_openid redirect_uri
mc-conf
重要
该参数已在 RELEASE.2023-02-27T18-10-45Z 中移除。 请改用 MINIO_BROWSER_REDIRECT_URL 环境变量。
MinIO Console 默认使用发起认证请求的节点主机名。 对于位于负载均衡器或反向代理之后的 MinIO 部署,请指定该字段,以确保 OIDC provider 将认证响应返回到正确的 MinIO Console URL。 其中应包含 Console 主机名、端口以及 /oauth_callback:
请确保在启动 MinIO Server 时使用 --console-address 选项,以设置固定的 Console 监听端口。 如果省略该选项,默认行为是在启动时随机选择端口号。
指定的 URI 必须 与 provider 上批准的某个 redirect / callback URI 匹配。 更多信息请参见 OpenID Authentication Request。
动态 URI 重定向
可选
MINIO_IDENTITY_OPENID_REDIRECT_URI_DYNAMIC
envvar
identity_openid redirect_uri_dynamic
mc-conf
MinIO Console 默认会将发起认证请求的节点主机名作为重定向 URI 的一部分, 并将其提供给 OIDC provider。 对于位于使用轮询协议的负载均衡器之后的 MinIO 部署,这可能导致负载均衡器将响应 返回给与原始客户端不同的 MinIO 节点。
将此选项指定为 on,可让 MinIO Console 使用原始请求中的 Host 头来构造 传递给 OIDC provider 的重定向 URI。 默认值为 off。
用户信息
可选
MINIO_IDENTITY_OPENID_CLAIM_USERINFO
envvar
identity_openid claim_userinfo
mc-conf
允许 MinIO 从已认证用户的 UserInfo Endpoint 获取 claims。
有效值为 on 或 off。
提供方
可选
MINIO_IDENTITY_OPENID_VENDOR
envvar
identity_openid vendor
mc-conf
指定 OIDC Vendor,以启用该 vendor 的特定受支持行为。
支持以下值:
keycloak
Keycloak Realm
可选
此设置要求将 OpenID Vendor 设置定义为 keycloak。
MINIO_IDENTITY_OPENID_KEYCLOAK_REALM
envvar
identity_openid keycloak_realm
mc-conf
指定用于 Keycloak Admin API 操作的 Keycloak Realm,例如 main。
Keycloak 管理 URL
可选
此设置要求将 OpenID Vendor 设置定义为 keycloak。
MINIO_IDENTITY_OPENID_KEYCLOAK_ADMIN_URL
envvar
identity_openid keycloak_admin_url
mc-conf
指定 Keycloak Admin API URL。 如果配置为定期校验已认证的 Keycloak 用户是否处于激活 / 存在状态,MinIO 可以 使用该 URL。 例如,https://keycloak-endpoint:port/admin/。
注释
可选
MINIO_IDENTITY_OPENID_COMMENT
envvar
identity_openid comment
mc-conf
指定要附加到与 OIDC 兼容 provider 配置上的注释。
12.1.7.3 - Silo 身份管理插件设置
本页介绍如何通过 MinIO Identity Management Plugin 启用外部身份管理的相关设置。 有关如何使用这些设置的教程,请参阅 MinIO External Identity Management Plugin。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
示例
配置 MinIO Identity Management Plugin 时,至少必须定义所有 必需 设置。 以下示例展示了最小必需配置。
identity_plugin
mc-conf
使用 mc admin config set 创建或更新身份管理插件配置。 identity_plugin url 参数为必填项。 其他可选参数以空白字符(” “)分隔的列表形式指定。
设置
URL
必需
MINIO_IDENTITY_PLUGIN_URL
envvar
identity_plugin url
mc-conf
外部身份管理服务的 webhook endpoint (https://authservice.example.net:8080/auth)。
角色策略
必需
MINIO_IDENTITY_PLUGIN_ROLE_POLICY
envvar
identity_plugin role_policy
mc-conf
指定要分配给已认证用户的 MinIO 策略 列表,多个策略之间 使用逗号分隔。
启用
可选
此设置不提供环境变量选项。
identity_plugin enabled
mc-conf
设置为 false 以禁用身份提供方配置。
如果设置为 false,应用程序将无法生成 STS 凭证,也无法通过已配置的提供方对 MinIO 进行身份验证。
默认为 true 或 “enabled”。
令牌
可选
MINIO_IDENTITY_PLUGIN_TOKEN
envvar
identity_plugin token
mc-conf
提供给已配置 webhook endpoint 的认证令牌。
请以字符串形式指定受支持的 HTTP Authentication scheme, 例如 "Bearer TOKEN"。 MinIO 会通过 HTTP Authorization 头发送该令牌。
角色 ID
可选
MINIO_IDENTITY_PLUGIN_ROLE_ID
envvar
identity_plugin role_id
mc-conf
指定 MinIO 用于为该 identity manager 生成 ARN 的唯一 ID。 在生成 ARN 时,MinIO 会自动在指定 ID 前添加 idmp- 前缀。
如果省略此项,MinIO 会自动生成该 ID,并将完整 ARN 输出到 server 日志中。
注释
可选
MINIO_IDENTITY_PLUGIN_COMMENT
envvar
identity_plugin comment
mc-conf
指定要附加到身份配置上的注释。
12.1.7.4 - Silo 访问管理插件设置
本页说明如何配置 MinIO Access Management Plugin 以启用外部授权管理。 有关这些设置的使用教程,请参见 MinIO 外部访问管理插件。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
示例
在设置 MinIO Access Management 插件时,至少必须定义所有 Required 设置。 此处示例展示了最小必需配置。
policy_plugin
mc-conf
使用 mc admin config set 命令创建或更新访问管理插件配置。 policy_plugin url 参数为必填。 其他可选参数请以空白字符(” “)分隔的列表形式指定。
设置
URL
必需
MINIO_POLICY_PLUGIN_URL
envvar
policy_plugin url
mc-conf
外部访问管理服务的 webhook endpoint (https://authzservice.example.net:8080/authz)。
认证令牌
可选
MINIO_POLICY_PLUGIN_AUTH_TOKEN
envvar
policy_plugin auth_token
mc-conf
提供给已配置 webhook endpoint 的认证令牌。
请以字符串形式指定受支持的 HTTP Authentication scheme, 例如 "Bearer TOKEN"。 MinIO 会通过 HTTP Authorization 头发送该令牌。
HTTP2
可选
MINIO_POLICY_PLUGIN_ENABLE_HTTP2
envvar
policy_plugin enable_http2
mc-conf
为连接已配置的 webhook 服务启用实验性的 HTTP2 支持。
默认值为 off
注释
可选
MINIO_POLICY_PLUGIN_COMMENT
envvar
policy_plugin comment
mc-conf
指定要附加到外部访问管理配置上的注释。
12.1.8 - ILM 设置
本页面介绍用于控制 MinIO 进程 ILM(信息生命周期管理)的设置。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
过期 Worker
MINIO_ILM_EXPIRATION_WORKERS
envvar
ilm expiration_workers
mc-conf
新增: MinIO
Server RELEASE.2024-03-03T17-50-39Z
设置用于 对象过期 的 worker 数量。 有效值范围为 1 到 500。
默认值为 100。
12.1.9 - 密钥加密服务设置
MinIO Server 提供三组环境变量,用于管理 MinIO Server 与 Key Encryption Service (KES)、Key Management Service (KMS) 或静态密钥文件的交互方式。 这三组中只能定义一组。 如果定义了多种类型的环境变量组,MinIO 会返回错误。
说明
这些设置不支持通过 mc admin config set 进行配置。
在启动或重启 MinIO 进程之前,请在宿主系统中定义其中任意一组环境变量。 有关如何定义环境变量,请参考操作系统文档。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
Key Encryption Service
定义以下变量以使用 Key Encryption Service (KES) 连接到 受支持的第三方 Key Management Service 提供商。
MINIO_KMS_KES_ENDPOINT
envvar
MinIO Key Encryption Service (KES) 进程用于支持 SSE-S3 和 MinIO 后端加密操作的 endpoint。 多个 KES endpoint 使用 , 分隔。
MINIO_KMS_KES_KEY_NAME
envvar
KES 服务器上配置的 Key Management system (KMS) 中外部密钥名称,用于执行加密和解密操作。 MinIO 将此密钥用于以下用途:
重要
在 MinIO 部署上启用 SSE 后, 会自动使用默认加密密钥对该部署的后端数据进行加密。
MinIO 必须能够访问 KES 和外部 KMS, 才能解密后端并正常启动。 KMS 必须维护并提供对 MINIO_KMS_KES_KEY_NAME 的访问。 之后你不能再禁用 KES, 也不能在后续“撤销”该 SSE 配置。
MINIO_KMS_KES_API_KEY
envvar
使用通过 kes identity new 命令获取的 KES API key 与加密服务进行身份认证的首选方式。
此环境变量与 MINIO_KMS_KES_KEY_FILE 和 MINIO_KMS_KES_CERT_FILE 环境变量互斥。
MINIO_KMS_KES_KEY_FILE
envvar
与 MINIO_KMS_KES_CERT_FILE x.509 证书关联的私钥,用于向 KES 服务器进行身份认证。 KES 服务器要求客户端提供证书以执行 mutual TLS (mTLS)。
有关 KES 访问控制的完整文档,请参见 KES wiki。
还必须设置 MINIO_KMS_KES_CERT_FILE。 此变量与 MINIO_KMS_KES_API_KEY 互斥。
MINIO_KMS_KES_CERT_FILE
envvar
提供给 KES 服务器的 x.509 证书。 KES 服务器要求客户端提供证书以执行 mutual TLS (mTLS)。
KES 服务器会根据证书计算 identity,并将其与已配置策略进行比对。 KES 服务器仅向 minio 服务器授予策略中明确允许的操作访问权限。
有关 KES 访问控制的完整文档,请参见 KES wiki。
还必须设置 MINIO_KMS_KES_KEY_FILE。 此变量与 MINIO_KMS_KES_API_KEY 互斥。
MINIO_KMS_KES_CAPATH
envvar
Optional
允许使用自签名或第三方 CA 验证 KES 服务器证书。 指定 KES 部署所使用的 CA 证书路径。
如果使用公共证书颁发机构,则不需要此变量。
MINIO_KMS_KES_KEY_PASSWORD
envvar
Optional
用于加密和解密 TLS 私钥的密码(如果使用)。
MinIO Key Management Server (KMS)
定义以下变量以使用 MinIO KMS 管理密钥。
MINIO_KMS_SERVER
envvar
MinIO Key Management Service (KMS) 进程用于支持 SSE-S3 和 MinIO 后端加密操作的 endpoint。 多个 KMS endpoint 使用 , 分隔。
MINIO_KMS_ENCLAVE
envvar
密钥和身份所在的 MinIO KMS Enclave。
MINIO_KMS_SSE_KEY
envvar
当调用未指定密钥身份时,用于 SSE-S3 加密的默认密钥。
MINIO_KMS_API_KEY
envvar
用于向 MinIO KMS 服务进行身份认证的凭据。
静态密钥文件
警告
这些设置用于在不依赖外部 KMS 的情况下,对对象服务端加密进行早期开发和评估。 不要在长期开发、QA 或生产环境中使用这些设置。 关于如何使用 MinIO Key Encryption Service (KES) 和外部 KMS 部署 SSE,请参见 使用 KES 进行服务端对象加密。
提供静态 KMS 密钥或密钥文件用于加密。
MINIO_KMS_SECRET_KEY
envvar
静态 KMS 密钥的 base64 形式,格式为 <key-name>:<base64-32byte-key>。 实现了部分 KMS API。
MINIO_KMS_SECRET_KEY_FILE
envvar
读取静态 KMS 密钥的文件路径。
12.1.10 - Object Lambda 函数设置
本页面介绍了可用于配置 MinIO 的设置,以便将数据发布到 HTTP webhook 端点并触发 Object Lambda 函数。 有关使用这些设置的更完整文档和教程,请参见 使用 Object Lambda 进行转换。
你可以通过定义以下项来建立或修改设置:
- 在启动或重启 MinIO Server 之前,在主机系统上设置 环境变量。 有关如何定义环境变量,请参阅操作系统文档。
- 使用
mc admin config set设置 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
某些设置仅提供环境变量或配置项中的一种,而非两者都提供。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
启用
MINIO_LAMBDA_WEBHOOK_ENABLE
envvar
指定 "on" 以启用处理函数的 Object Lambda webhook 端点。
需要同时指定 MINIO_LAMBDA_WEBHOOK_ENDPOINT。
你可以通过为每个 Object Lambda 函数追加唯一标识符,将多个 webhook 指定为 Lambda 目标。 例如,以下命令启用两个不同的 Object Lambda webhook 端点:
端点
MINIO_LAMBDA_WEBHOOK_ENDPOINT
envvar
处理函数的 lambda webhook HTTP 端点。
你可以通过为每个 Object Lambda 函数追加唯一标识符,将多个 webhook 端点指定为 Lambda 目标。 例如,以下命令设置两个不同的 Object Lambda webhook 端点:
lambda_webhook endpoint
mc-conf
可选
处理函数的 lambda webhook HTTP 端点。
认证令牌
MINIO_LAMBDA_WEBHOOK_AUTH_TOKEN
envvar
指定用于向 lambda webhook 服务进行身份验证的不透明字符串或 JWT 授权令牌。
你可以通过为每个 Object Lambda 函数追加唯一标识符,为多个 Lambda 目标指定令牌。 例如,以下命令为两个不同的 Object Lambda webhook 端点配置令牌:
变更: RELEASE.2023-06-23T20-26-00Z
当该值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。
lambda_webhook auth_token
mc-conf
可选
指定用于向 lambda webhook 服务进行身份验证的不透明字符串或 JWT 授权令牌。
变更: RELEASE.2023-06-23T20-26-00Z
当该值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。
客户端证书
MINIO_LAMBDA_WEBHOOK_CLIENT_CERT
envvar
指定用于向 lambda webhook 服务执行 mTLS 身份验证的客户端证书路径。
你可以通过为每个 Object Lambda 函数追加唯一标识符,为多个 Lambda 目标指定客户端证书。 例如,以下命令为两个不同的 Object Lambda webhook 端点配置证书:
lambda_webhook client_cert
mc-conf
可选
指定用于向 lambda webhook 服务执行 mTLS 身份验证的客户端证书路径。
客户端密钥
MINIO_LAMBDA_WEBHOOK_CLIENT_KEY
envvar
指定用于向 lambda webhook 服务执行 mTLS 身份验证的私钥路径。
你可以通过为每个 Object Lambda 函数追加唯一标识符,为多个 Lambda 目标指定客户端私钥。 例如,以下命令为两个不同的 Object Lambda webhook 端点配置密钥:
lambda_webhook client_key
mc-conf
可选
指定用于向 lambda webhook 服务执行 mTLS 身份验证的私钥路径。
12.1.11 - 已弃用设置
本页介绍用于控制 MinIO 进程核心行为的已弃用设置。
本页中的设置可能随时被移除。 用户应尽早迁移到推荐的替代项。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
环境变量
以下 环境变量 已弃用。 此处仅为历史参考而列出。
MINIO_SECRET_KEY
envvar
已弃用: RELEASE.2021-04-22T15-44-28Z
root 用户的 secret key。
该环境变量已 弃用,请改用 MINIO_ROOT_PASSWORD 环境变量。
警告
如果未设置 MINIO_SECRET_KEY,minio 默认使用 minioadmin。
在生产环境中 绝不要 使用默认凭证。 MinIO 强烈建议在所有环境中为 MINIO_ACCESS_KEY 指定唯一、足够长且随机的值。
MINIO_ACCESS_KEY
envvar
已弃用: RELEASE.2021-04-22T15-44-28Z
root 用户的 access key。
该环境变量已 弃用,请改用
MINIO_ROOT_USER环境变量。
警告
如果未设置 MINIO_ACCESS_KEY,minio 默认使用 minioadmin。
在生产环境中 绝不要 使用默认凭证。 MinIO 强烈建议在所有环境中为 MINIO_ACCESS_KEY 指定唯一、足够长且随机的值。
MINIO_ACCESS_KEY_OLD
envvar
已弃用: RELEASE.2021-04-22T15-44-28Z
要轮换 root 凭证,请修改 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD 环境变量。
MINIO_OPERATOR_DEPLOYMENT_NAME
envvar
已弃用: Operator
6.0.4
指定为 Operator 创建并使用的命名空间。
未指定时,默认值为 minio-operator。
MINIO_SECRET_KEY_OLD
envvar
已弃用: RELEASE.2021-04-22T15-44-28Z
要轮换 root 凭证,请修改 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD 环境变量。
MINIO_SERVER_URL
envvar
已弃用: RELEASE.2024-05-10T01-41-38Z
MinIO Console 用于连接 MinIO Server 的 fully qualified domain name (FQDN)。
为确保 Console 正常工作,MinIO server URL 必须 是主机的 FQDN,且可解析并可达。
如果指定值无法解析到 MinIO server,通过 MinIO Console 登录将失败,并在等待一段时间后返回网络错误。 较旧版本的 Console 可能会返回通用的“Invalid Login”错误。 可通过取消设置该值 或 解决 FQDN 解析问题来恢复 Console 登录。 在以下情况下可能需要该设置:
- MinIO Server 使用的 TLS 证书在 Subject Alternative Name (SAN) 中未包含主机本地 IP。
或
- 由于反向代理或类似配置,Console 必须使用特定主机名来连接或引用 MinIO Server。
13 - mc ilm import
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm import 已被 mc ilm rule import 替代。
语法
mc ilm import 命令会导入对象生命周期管理配置,并将其应用到 MinIO 存储桶。
mc ilm import 命令默认从 STDIN 导入。你可以从 .json 文件输入内容, 例如由 mc ilm export 生成的文件。
以下命令从 mydata-lifecycle-config.json 导入生命周期管理配置,并将其 应用到 myminio 部署上的 mydata 存储桶:
该命令语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
必需 用于导入对象生命周期管理规则的 MinIO 部署 alias 和存储桶完整路径。例如:
全局标志
此命令支持 全局标志 中的任意选项。
示例
导入存储桶生命周期管理配置
以下命令从 bucket-lifecycle.json 文件导入存储桶生命周期管理配置:
-
将
ALIAS替换为 MinIO 部署的 alias 和要导入对象 生命周期管理规则的存储桶:myminio/mydata -
将
file.json替换为要从中导入生命周期管理规则的文件名。
行为
导入配置会覆盖现有规则
mc ilm import 会将当前存储桶生命周期管理规则替换为导入的 JSON 配置中定义 的规则。
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
14 - 弃用命令
下表列出了 MinIO 已弃用的命令。 该表包含:
- 已弃用命令
- 替代命令(如适用)
- 弃用版本
弃用命令表
| 已弃用命令 | 替代命令 | 弃用版本 |
|---|---|---|
mc ilm add |
mc ilm rule add |
mc RELEASE.2022-12-24T15-21-38Z |
mc ilm edit |
mc ilm rule edit |
mc RELEASE.2022-12-24T15-21-38Z |
mc ilm export |
mc ilm rule export |
mc RELEASE.2022-12-24T15-21-38Z |
mc ilm import |
mc ilm rule import |
mc RELEASE.2022-12-24T15-21-38Z |
mc ilm ls |
mc ilm rule ls |
mc RELEASE.2022-12-24T15-21-38Z |
mc ilm rm |
mc ilm rule rm |
mc RELEASE.2022-12-24T15-21-38Z |
mc quota |
无 | mc RELEASE.2024-07-31T15-58-33Z |
mc quota clear |
无 | mc RELEASE.2024-07-31T15-58-33Z |
mc quota info |
无 | mc RELEASE.2024-07-31T15-58-33Z |
mc quota set |
无 | mc RELEASE.2024-07-31T15-58-33Z |
mc replicate diff |
mc replicate backlog |
mc RELEASE.2023-07-18T21-05-38Z |
弃用管理命令表
| 已弃用命令 | 替代命令 | 弃用版本 |
|---|---|---|
mc admin bucket remote |
mc replicate |
mc RELEASE.2022-12-24T15-21-38Z |
mc admin bucket remote add |
mc replicate add |
mc RELEASE.2022-12-24T15-21-38Z |
mc admin bucket remote ls |
mc replicate ls |
mc RELEASE.2022-12-24T15-21-38Z |
mc admin bucket remote rm |
mc replicate rm |
mc RELEASE.2022-12-24T15-21-38Z |
mc admin bucket remote update |
mc replicate update |
mc RELEASE.2022-12-24T15-21-38Z |
mc admin bucket quota |
mc quota clear, mc quota info, mc quota set |
mc RELEASE.2022-12-13T00-23-28Z |
mc admin console |
mc admin logs |
mc RELEASE.2022-06-26T18-51-48Z |
mc admin idp ldap add |
mc idp ldap add |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp ldap disable |
mc idp ldap disable |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp ldap enable |
mc idp ldap enable |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp ldap info |
mc idp ldap info |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp ldap ls |
mc idp ldap ls |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp ldap policy |
mc idp ldap policy |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp ldap rm |
mc idp ldap rm |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp ldap update |
mc idp ldap update |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp openid add |
mc idp openid add |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp openid disable |
mc idp openid disable |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp openid enable |
mc idp openid enable |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp openid info |
mc idp openid info |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp openid ls |
mc idp openid ls |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp openid rm |
mc idp openid rm |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin idp openid update |
mc idp openid update |
mc RELEASE.2023-05-26T23-31-54Z |
mc admin policy add |
mc admin policy create |
mc RELEASE.2023-03-20T17-17-53Z |
mc admin policy set |
mc admin policy attach |
mc RELEASE.2023-03-20T17-17-53Z |
mc admin policy unset |
mc admin policy detach |
mc RELEASE.2023-03-20T17-17-53Z |
mc admin policy update |
mc admin policy attach 或 mc admin policy detach |
mc RELEASE.2023-03-20T17-17-53Z |
mc admin profile |
mc support profile |
mc RELEASE.2023-04-06T16-51-10Z |
mc admin replicate edit |
mc admin replicate update |
mc RELEASE.2023-01-11T03-14-16Z |
mc admin replicate remove |
mc admin replicate rm |
mc RELEASE.2023-01-11T03-14-16Z |
mc admin speedtest |
mc support perf |
mc RELEASE.2022-07-24T02-25-13Z |
mc admin tier add |
mc ilm tier add |
mc RELEASE.2022-12-24T15-21-38Z |
mc admin tier edit |
mc ilm tier update |
mc RELEASE.2022-12-24T15-21-38Z |
mc admin tier ls |
mc ilm tier ls |
mc RELEASE.2022-12-24T15-21-38Z |
mc admin top |
mc support top |
mc RELEASE.2022-08-11T00-30-48Z |
15 - 租户 Helm Charts
已归档的 MinIO Operator 项目曾发布 Operator Chart 与 Tenant Chart。本页记录其最终 v7.1.1 Tenant Chart。
以下页面说明 MinIO 租户的 values.yaml Chart。 有关 MinIO Operator Chart 的文档,请参阅 Operator Helm 图表
上游 MinIO Operator 仓库已于 2026 年 3 月 20 日归档。本页是其最终 v7.1.1 Chart 的保留参考快照,不代表上游仍在维护或提供支持。默认值已对照该标签核验;内部文档链接改为本站路由,并把上游陈旧的 existingSecret 注释校正为 Chart 实际使用的 tenant.configSecret.name 输入。下文的 quay.io/minio/minio 是上游 Chart 默认值,不是 Silo 品牌名称,也不是推荐的 Silo 镜像。要运行 Silo,请将 tenant.image.repository 覆盖为 pgsty/minio,并固定经过测试的 已发布标签或镜像摘要。
MinIO 租户 Chart
tenant
name
The Tenant name
Change this to match your preferred MinIO Tenant name.
image
Specify the Operator container image to use for the deployment.
image.tagFor example, the following sets the image to thequay.io/minio/operatorrepo and the v7.1.1 tag. The container pulls the image if not already present:The chart also supports specifying an image based on digest value:
imagePullSecret
An array of Kubernetes secrets to use for pulling images from a private
image.repository. Only one array element is supported at this time.initContainers
Specify initContainers to perform setup or configuration tasks before the main Tenant pods starts.
Example of init container which waits for idenity provider to be reachable before starting MinIO Tenant:
scheduler
The Kubernetes Scheduler to use for dispatching Tenant pods.
Specify an empty dictionary
{}to dispatch pods with the default scheduler.configSecret
Root key for dynamically creating a secret for use with configuring root MinIO User Specify the
nameand then a list of environment variables. 若要复用包含config.env的现有 Secret,请将tenant.configSecret.name设为该 Secret,并把tenant.configSecret.existingSecret设为true。警告重要
Do not use this in production environments. This field is intended for use with rapid development or testing only.
For example:
poolsMetadata
Metadata that will be added to the statefulset and pods of all pools
annotations
Specify annotations to associate to Tenant pods.
labels
Specify labels to associate to Tenant pods.
pools
Top level key for configuring MinIO Pool(s) in this Tenant.
See Operator CRD: Pools for more information on all subfields.
servers
The number of MinIO Tenant Pods / Servers in this pool. For standalone mode, supply 1. For distributed mode, supply 4 or more. Note that the operator does not support upgrading from standalone to distributed mode.
name
Custom name for the pool
volumesPerServer
The number of volumes attached per MinIO Tenant Pod / Server.
size
The capacity per volume requested per MinIO Tenant Pod.
storageAnnotations
Specify storageAnnotations to associate to PVCs.
storageLabels
Specify storageLabels to associate to PVCs.
annotations
Specify annotations to associate to Tenant pods.
labels
Specify labels to associate to Tenant pods.
tolerations
An array of Toleration labels to associate to Tenant pods.
These settings determine the distribution of pods across worker nodes.
nodeSelector
Any Node Selectors to apply to Tenant pods.
The Kubernetes scheduler uses these selectors to determine which worker nodes onto which it can deploy Tenant pods.
If no worker nodes match the specified selectors, the Tenant deployment will fail.
affinity
The affinity or anti-affinity settings to apply to Tenant pods.
These settings determine the distribution of pods across worker nodes and can help prevent or allow colocating pods onto the same worker nodes.
resources
The Requests or Limits for resources to associate to Tenant pods.
These settings can control the minimum and maximum resources requested for each pod. If no worker nodes can meet the specified requests, the Operator may fail to deploy.
securityContext
The Kubernetes SecurityContext to use for deploying Tenant resources.
You may need to modify these values to meet your cluster’s security and access settings.
We recommend disabling recursive permission changes by setting
fsGroupChangePolicytoOnRootMismatchas those operations can be expensive for certain workloads (e.g. large volumes with many small files).containerSecurityContext
The Kubernetes SecurityContext to use for deploying Tenant containers. You may need to modify these values to meet your cluster’s security and access settings.
topologySpreadConstraints
An array of Topology Spread Constraints to associate to Operator Console pods.
These settings determine the distribution of pods across worker nodes.
mountPath
The mount path where Persistent Volumes are mounted inside Tenant container(s).
subPath
The Sub path inside Mount path where MinIO stores data.
注意警告
Treat the
mountPathandsubPathvalues as immutable once you deploy the Tenant. If you change these values post-deployment, then you may have different paths for new and pre-existing data. This can vastly increase operational complexity and may result in unpredictable data states.metrics
Configures a Prometheus-compatible scraping endpoint at the specified port.
certificate
Configures external certificate settings for the Tenant.
externalCaCertSecret
Specify an array of Kubernetes TLS secrets, where each entry corresponds to a secret the TLS private key and public certificate pair.
This is used by MinIO to verify TLS connections from clients using those CAs If you omit this and have clients using TLS certificates minted by an external CA, those connections may fail with warnings around certificate verification. See Operator CRD: TenantSpec.
externalCertSecret
Specify an array of Kubernetes secrets, where each entry corresponds to a secret contains the TLS private key and public certificate pair.
Omit this to use only the MinIO Operator autogenerated certificates.
If you omit this field and set
requestAutoCertto false, the Tenant starts without TLS.警告重要
The MinIO Operator may output TLS connectivity errors if it cannot trust the Certificate Authority (CA) which minted the custom certificates.
You can pass the CA to the Operator to allow it to trust that cert. See Self-Signed, Internal, and Private Certificates for more information. This step may also be necessary for globally trusted CAs where you must provide intermediate certificates to the Operator to help build the full chain of trust.
requestAutoCert
Enable automatic Kubernetes based certificate generation and signing
certConfig
This field is used only when
requestAutoCert: true. Use this field to set CommonName for the auto-generated certificate. MinIO defaults to using the internal Kubernetes DNS name for the pod The default DNS name format is typically*.minio.default.svc.cluster.local.features
MinIO features to enable or disable in the MinIO Tenant See Operator CRD: Features.
buckets
Array of objects describing one or more buckets to create during tenant provisioning. Example:
users
Array of Kubernetes secrets from which the Operator generates MinIO users during tenant provisioning.
Each secret should specify the
CONSOLE_ACCESS_KEYandCONSOLE_SECRET_KEYas the access key and secret key for that user.podManagementPolicy
The PodManagement policy for MinIO Tenant Pods. Can be “OrderedReady” or “Parallel”
readiness
Readiness Probe for monitoring Tenant container readiness. Tenant pods will be removed from service endpoints if the probe fails.
startup
Startup Probe for monitoring container startup. Tenant pods will be restarted if the probe fails. Refer
lifecycle
The Lifecycle hooks for container.
exposeServices
Directs the Operator to deploy the MinIO S3 API and Console services as LoadBalancer objects.
If the Kubernetes cluster has a configured LoadBalancer, it can attempt to route traffic to those services automatically.
- Specify
minio: trueto expose the MinIO S3 API.- Specify
console: trueto expose the Console.Both fields default to
false.serviceAccountName
The Kubernetes Service Account associated with the Tenant.
prometheusOperator
Directs the Operator to add the Tenant’s metric scrape configuration to an existing Kubernetes Prometheus deployment managed by the Prometheus Operator.
logging
Configure pod logging configuration for the MinIO Tenant.
- Specify
jsonfor JSON-formatted logs.- Specify
anonymousfor anonymized logs.- Specify
quietto supress logging.An example of JSON-formatted logs is as follows:
serviceMetadata
serviceMetadata allows passing additional labels and annotations to MinIO and Console specific services created by the operator.
env
Add environment variables to be set in MinIO container (https://github.com/minio/minio/tree/master/docs/config)
priorityClassName
PriorityClassName indicates the Pod priority and hence importance of a Pod relative to other Pods. This is applied to MinIO pods only. Refer Kubernetes documentation for details https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass/
additionalVolumes
An array of Volumes which the Operator can mount to Tenant pods.
The volumes must exist and be accessible to the Tenant pods.
additionalVolumeMounts
An array of volume mount points associated to each Tenant container.
Specify each item in the array as follows:
The
namefield must correspond to an entry in theadditionalVolumesarray.
ingress
Configures Ingress for the Tenant S3 API and Console.
Set the keys to conform to the Ingress controller and configuration of your choice.
16 - mc ilm ls
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm ls 已由 mc ilm rule ls 替代。
语法
mc ilm ls 命令以表格形式汇总 MinIO 存储桶上已配置的所有对象生命周期管理规则。
该命令的输出可能如下所示:
以下命令列出 myminio MinIO 部署中 mydata 存储桶的所有生命周期管理规则:
mc ilm ls 命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required
用于指定要列出对象生命周期管理规则的 MinIO 部署 alias 和存储桶完整路径。例如:
--expiry
mc-cmd
Optional
mc ilm ls 仅返回与生命周期规则过期相关的字段。
与 --transition 互斥。
--transition
mc-cmd
Optional
mc ilm ls 仅返回与生命周期规则转换相关的字段。
与 --expiry 互斥。
全局标志
此命令支持 全局标志 中的任意选项。
示例
列出存储桶生命周期管理规则
使用 mc ilm ls 列出存储桶的生命周期管理规则:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
17 - mc ilm rm
变更: RELEASE.2022-12-24T15-21-38Z
mc ilm rm 已被 mc ilm rule rm 取代。
语法
mc ilm rm 命令用于从 MinIO 存储桶中移除一条对象生命周期管理规则。
mc ilm remove 命令与 mc ilm rm 的功能等效。
以下命令从 myminio MinIO 部署的 mydata 存储桶中移除一条生命周期管理规则:
该命令的语法如下:
- 方括号
[]表示可选参数。 - 同一行中的参数彼此相互依赖。
- 使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
参数
ALIAS
mc-cmd
Required 要移除对象生命周期管理规则的 MinIO 部署中, alias 与存储桶完整路径。例如:
all
mc-cmd
Required 移除该存储桶中的所有规则。与 mc ilm rm id 互斥。
与 mc ilm rm id 互斥。
需要同时包含 force。
force
mc-cmd
当指定 all 时必需。
id
mc-cmd
Required 规则的唯一 ID。使用 mc ilm rule ls 列出存储桶规则, 并获取要移除规则的 id。
与 mc ilm rm all 互斥。
全局标志
此命令支持 全局标志 中的任意选项。
示例
移除存储桶生命周期管理规则
使用 mc ilm rm 移除一条存储桶生命周期管理规则:
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。
18 - mc quota
变更: RELEASE.2024-07-31T15-58-33Z
mc quota 及其子命令已弃用。
说明
mc quota 命令用于为存储桶配置、显示或移除配额限制。
对于已配置配额的存储桶,当其达到指定限制时(由 MinIO object scanner 判定),MinIO 会拒绝该存储桶后续的 PUT 请求。
每当 MinIO object scanner 扫描存储桶中待处理的 object lifecycle transitions 时,也会检查该存储桶是否超出已配置的配额。
配额执行并非即时生效
存储桶配额的设计目的不是对存储桶大小施加严格的硬限制。 如果存储桶在两次扫描之间超出配额,MinIO 仍会继续接受该存储桶的 PUT 请求,直到下一次扫描识别出配额违规 之后 才会拒绝。
子命令
mc quota 包含以下子命令:
子命令 |
说明 |
|---|---|
|
|
|
|
|
19 - mc admin bucket quota
变更: RELEASE.2022-12-13T00-23-28Z
mc admin bucket quota 已被以下命令替代:
说明
mc admin bucket quota 命令用于管理按存储桶设置的存储配额。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
计量单位
mc admin bucket quota --hard 标志 接受以下不区分大小写的后缀,用于表示所指定大小值的单位:
| 后缀 | 单位大小 |
|---|---|
k |
KB(千字节,1000 字节) |
m |
MB(兆字节,1000 千字节) |
g |
GB(吉字节,1000 兆字节) |
t |
TB(太字节,1000 吉字节) |
ki |
KiB(二进制千字节,1024 字节) |
mi |
MiB(二进制兆字节,1024 KiB) |
gi |
GiB(二进制吉字节,1024 MiB) |
ti |
TiB(二进制太字节,1024 GiB) |
省略后缀时,默认单位为 bytes。
示例
为存储桶配置硬配额
使用 mc admin bucket quota 搭配 --hard 标志,为存储桶指定硬配额。 硬配额可防止存储桶大小增长超过指定限制。
- 将
TARGET替换为已配置 MinIO 部署的alias。 将BUCKET替换为要设置硬配额的存储桶名称。 - 将
LIMIT替换为存储桶可增长到的最大大小。 例如,要将硬限制设置为 10 TB,请指定10t。 支持的单位请参见 计量单位。
获取存储桶配额配置
使用 mc admin bucket quota 获取存储桶当前的配额配置:
将 TARGET 替换为已配置 MinIO 部署的 alias。 将 BUCKET 替换为要获取配额的存储桶名称。
清除已配置的存储桶配额
使用 mc admin bucket quota 搭配 --clear 标志,清除存储桶上的所有配额。
- 将
TARGET替换为已配置 MinIO 部署的alias。 将BUCKET替换为要清除配额的存储桶名称。
语法
mc admin bucket quota 使用以下语法:
mc admin bucket quota 支持以下参数:
TARGET
mc-cmd
命令为其创建配额的存储桶的完整路径。 指定 MinIO 部署的 alias 作为路径前缀。 例如:
省略其他所有参数可返回指定存储桶的当前配额设置。
--hard
mc-cmd
设置存储桶存储大小的最大限制。对于内容会超过存储桶已配置配额的传入 PUT 请求,MinIO 服务器会予以拒绝。
例如,若硬限制为 10GB,当存储桶大小达到 10GB 时,将无法再添加 任何对象。
支持的单位大小请参见 计量单位。
--clear
mc-cmd
清除为该存储桶配置的所有配额。
20 - mc admin bucket remote
变更: RELEASE.2022-12-24T15-21-38Z
mc admin bucket remote add已替换为mc replicate addmc admin bucket remote update已替换为mc replicate updatemc admin bucket remote rm已替换为mc replicate rmmc admin bucket remote ls已替换为mc replicate ls
变更: RELEASE.2023-02-16T19-20-11Z
-
mc admin bucket remote bandwidth已替换为mc replicate status与复制相关的统计信息已迁移到
mc replicate status命令。
描述
mc admin bucket remote 命令用于管理 ARN 资源, 供 bucket replication 使用。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
示例
添加新的复制目标
使用 mc admin bucket remote add 创建一个新的复制目标 ARN,供 mc replicate add 使用:
- 将
SOURCE替换为 作为复制目标的 MinIO 部署的alias。 将BUCKET替换为存储桶完整路径,MinIO 会将来自DESTINATION的对象复制到该存储桶。 - 将
DESTINATION替换为 作为复制源的 MinIO 部署的alias。 将BUCKET替换为存储桶完整路径,MinIO 会从该存储桶复制对象到SOURCE。
删除现有复制目标
使用 mc admin bucket remote rm 从存储桶中删除复制目标:
删除该目标会停止所有正在进行的、 发往该目标的 bucket replication。
查询已配置的复制目标
使用 mc replicate ls 列出存储桶已配置的复制目标:
语法
mc admin bucket remote add
mc-cmd
变更: RELEASE.2022-12-24T15-21-38Z
mc admin bucket remote add已替换为mc replicate add
在 MinIO 部署上的存储桶中添加远程目标。该命令语法如下:
该命令接受以下参数:
SOURCE
mc-cmd
Required
要添加远程目标的存储桶完整路径。 指定已配置 MinIO 部署的 alias 作为存储桶路径前缀。例如:
DESTINATION
mc-cmd
Required
目标 MinIO 部署和存储桶。
使用以下格式指定目标 MinIO 部署和存储桶的完整 URL:
-
将
ACCESSKEY替换为目标 MinIO 部署上某个用户的 access key。 -
将
SECRETKEY替换为目标 MinIO 部署上某个用户的 secret key。 -
将
DESTHOSTNAME替换为 MinIO 部署的主机名和端口(例如
minio-server.example.net:9000)。 -
将
DESTBUCKET替换为目标端的存储桶。
--service
mc-cmd
Required
指定为 "replication"。
--region
mc-cmd
DESTINATION 的地域。
与 add 互斥。
--path
mc-cmd
目标服务器支持的存储桶路径查找方式。指定以下之一:
onoffauto(默认)
与 add 互斥。
--sync
mc-cmd
启用同步复制模式,MinIO 会在返回 PUT 对象响应 之前 尝试复制对象。 同步复制可能会增加等待 PUT 操作成功返回的时间。
默认情况下,mc admin bucket remote add 以异步模式运行, MinIO 会在返回 PUT 对象响应 之后 尝试复制对象。
mc admin bucket remote ls
mc-cmd
变更: RELEASE.2022-12-24T15-21-38Z
mc admin bucket remote ls已替换为mc replicate ls
列出 MinIO 部署上与某个存储桶关联的所有远程目标。 使用 mc admin bucket remote ls --help 查看用法语法。
mc admin bucket remote rm, remove
mc-cmd
变更: RELEASE.2022-12-24T15-21-38Z
mc admin bucket remote rm已替换为mc replicate rm
删除 MinIO 部署上某个存储桶的远程目标。该命令语法如下:
该命令接受以下参数:
SOURCE
mc-cmd
Required
要删除远程目标的源存储桶完整路径。 指定已配置 MinIO 部署的 alias 作为存储桶路径前缀。 例如:
ARN
mc-cmd
Required
要从目标存储桶中删除的远程目标 ARN。 使用 mc admin bucket remote ls 列出指定存储桶的所有远程目标及其对应的 ARN。
21 - mc admin console
重要
此命令已在 mc RELEASE.2022-12-02T23-48-47Z 中被 mc admin logs 替代。
该命令此前已在 mc RELEASE.2022-06-26T18-51-48Z 中被 mc support logs show 替代。
描述
mc admin console 命令返回部署中每个 MinIO 服务器的服务端日志条目。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
语法
mc admin console 的语法如下:
mc admin console 支持以下项:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,命令将从该部署中检索服务端日志。
NODENAME
mc-cmd
命令从中检索服务端日志的特定 MinIO 服务器节点。
--limit, l
mc-cmd
要显示的最新日志条目数量。默认为 10。
--type, t
mc-cmd
要返回的错误日志类型。以逗号分隔的 , 列表形式指定以下一个或多个选项:
minioapplicationall(默认)
22 - mc admin idp ldap
变更: RELEASE.2023-05-26T23-31-54Z
mc admin idp ldap 及其子命令已由 mc idp ldap 替代。
说明
mc admin idp ldap 命令允许你为第三方 Active Directory 或 LDAP 身份与访问管理(IAM)集成 添加、修改、查看、列出、移除、启用和禁用服务器配置。
在 配置 AD/LDAP 连接 时,可将配置设置作为使用环境变量的替代方案。
说明
配置设置 不会 覆盖通过环境变量配置的设置。
mc admin idp ldap 命令包含以下子命令:
| 子命令 | 说明 |
|---|---|
mc admin idp ldap add |
创建 AD/LDAP IDP 服务器配置。 |
mc admin idp ldap update |
修改现有的 AD/LDAP IDP 服务器配置。 |
mc admin idp ldap ls |
列出 AD/LDAP 服务器配置。 |
mc admin idp ldap rm |
从部署中移除 AD/LDAP IDP 服务器配置。 |
mc admin idp ldap info |
显示指定 AD/LDAP 服务器配置的详细信息。 |
mc admin idp ldap enable |
启用 AD/LDAP 服务器配置。 |
mc admin idp ldap disable |
禁用 AD/LDAP 服务器配置。 |
mc admin idp ldap policy entities |
列出策略关联实体。 |
配置参数
mc admin idp ldap 子命令支持配置参数。 这些参数定义了服务器与 Active Directory 或 LDAP IAM 提供方的交互方式。
有关配置参数的更详细说明,请参阅 配置设置文档。
语法
add
mc-cmd
为 AD/LDAP 提供方创建新配置。 每个部署中,MinIO 最多仅支持 一个 (1) AD/LDAP 提供方。
以下示例为 myminio 部署设置 AD/LDAP 配置参数。
update
mc-cmd
修改 AD/LDAP 提供方现有的一组配置。
以下示例修改 myminio 部署中的两个 AD/LDAP 配置参数。
ls, list
mc-cmd
列出 AD/LDAP 提供方现有的一组配置。
以下示例列出 myminio 部署中的 AD/LDAP 配置参数。
rm, remove
mc-cmd
移除 AD/LDAP 提供方现有配置。
以下示例移除 myminio 部署中的 AD/LDAP 提供方设置。
info
mc-cmd
输出指定 MinIO 部署上 AD/LDAP 提供方的当前配置。
以下示例输出 myminio 部署上的 AD/LDAP 配置参数。
enable
mc-cmd
启用当前已配置的 AD/LDAP 提供方。
以下示例在 myminio 部署上启用 AD/LDAP 配置。
disable
mc-cmd
禁用当前已配置的 AD/LDAP 提供方。
以下示例在 myminio 部署上禁用 AD/LDAP 配置。
全局标志
此命令支持 全局标志 中的任意选项。
23 - mc admin idp ldap policy
变更: RELEASE.2023-05-26T23-31-54Z
mc admin idp ldap policy 及其子命令已由 mc idp ldap policy 替代。
说明
mc admin idp ldap policy 命令用于查看策略与关联组或用户之间的映射关系。
mc admin idp ldap policy 命令包含以下子命令:
| 子命令 | 说明 |
|---|---|
mc admin idp ldap policy attach |
将策略附加到实体 |
mc admin idp ldap policy detach |
从实体分离策略 |
mc admin idp ldap policy entities |
列出策略与实体的映射 |
语法
attach
mc-cmd
将一个或多个策略附加到实体。
以下示例将两个策略 policy1 和 policy2 附加到 myminio 部署上的 projectb 组。
以下示例将策略 userpolicy 附加到 myminio 部署上的用户 bobfisher。
命令语法如下:
- 将
ALIAS替换为 MinIO 部署的 alias,用于配置 AD/LDAP 集成。 - 将
POLICYNAME替换为要附加到实体的策略。 你可以列出多个策略并附加到该实体。 - 必须使用
--user或--group其中之一。 每个命令中只能使用一次该标志。 不能在同一命令中同时使用这两个标志。
detach
mc-cmd
从实体分离一个或多个策略。
以下示例从 myminio 部署上的 projectb 组分离两个策略 policy1 和 policy2。
以下示例从 myminio 部署上的用户 bobfisher 分离策略 userpolicy。
命令语法如下:
- 将
ALIAS替换为 MinIO 部署的 alias,用于配置 AD/LDAP 集成。 - 将
POLICYNAME替换为要从实体分离的策略。 你可以列出多个策略并从该实体分离。 - 必须使用
--user或--group其中之一。 每个命令中只能使用一次该标志。 不能在同一命令中同时使用这两个标志。
entities
mc-cmd
显示用户、组和/或策略的映射列表。
以下示例列出 myminio 部署中某个特定策略、一组组以及部分用户的全部映射关系。
具体包括: - 映射到 finteam-policy 策略的用户。 - 分配给用户 uid=bobfisher,ou=people,ou=hwengg,dc=min,dc=io 的策略 - 分配给组 cn=projectb,ou=groups,ou=swengg,dc=min,dc=io 的策略
命令语法如下:
- 将
ALIAS替换为 MinIO 部署的 alias,用于配置 AD/LDAP 集成。 - 在命令中可按需多次使用
--user、--group和/或--policy标志。 - 对于每个标志,输出会列出映射到指定策略、用户或组的实体。
- 省略所有标志可返回所有策略的映射列表。
全局标志
此命令支持 全局标志 中的任意选项。
24 - mc admin idp openid
变更: RELEASE.2023-05-26T23-31-54Z
mc admin idp openid 及其子命令已由 mc idp openid 替代。
描述
mc admin idp openid 命令允许你为第三方 OpenID 身份与访问管理(IAM)集成 添加、修改、查看、列出、移除、启用和禁用服务器配置。
在 设置 OpenID 连接 时,可通过定义配置设置来替代使用环境变量。
mc admin idp openid 命令包含以下子命令:
| 子命令 | 描述 |
|---|---|
mc admin idp openid add |
创建 OpenID IDP 服务器配置。 |
mc admin idp openid update |
修改现有的 OpenID IDP 服务器配置。 |
mc admin idp openid rm |
从部署中移除 OpenID IDP 服务器配置。 |
mc admin idp openid ls |
输出部署中现有 OpenID 服务器配置列表。 |
mc admin idp openid info |
显示特定 OpenID 服务器配置的详细信息。 |
mc admin idp openid enable |
启用 OpenID 服务器配置。 |
mc admin idp openid disable |
禁用 OpenID 服务器配置。 |
配置参数
mc admin idp openid 子命令支持配置参数。 这些参数定义了服务器与 IAM 提供方的交互方式。
有关配置参数的更详细说明,请参阅 配置设置文档。
语法
add
mc-cmd
为 OpenID 提供方创建一组新的配置。
你可以多次运行该命令来设置多个 OpenID 提供方。
添加多个 OpenID 提供方时,只能有一个是基于 JWT Claim 的提供方。 其余都必须是基于角色的提供方。
以下示例为 myminio 部署创建配置设置,在新的 test-config 配置中定义 Dex 集成。
update
mc-cmd
修改 OpenID 提供方的现有配置集合。
以下示例修改了 myminio 部署中 test-config(用于 Dex 集成)的两个配置项。
rm, remove
mc-cmd
删除 OpenID 提供方的现有配置集合。
以下示例删除 myminio 部署中的 test-config 配置。
ls, list
mc-cmd
输出 OpenID 提供方现有配置集合列表。
以下示例输出 myminio 部署定义的所有 OpenID 配置集合列表。
info
mc-cmd
输出 OpenID 提供方现有服务器配置集合中定义的参数值。
以下示例输出 myminio 部署中 test_config 这组 OpenID 设置所定义的配置项。
enable
mc-cmd
开始使用 OpenID 提供方的现有配置集合。
以下示例启用 myminio 部署上定义为 test_config 的服务器配置。
disable
mc-cmd
停止使用 OpenID 提供方的一组配置。
以下示例禁用 myminio 部署上定义为 test_config 的服务器配置。
全局标志
此命令支持 全局标志 中的任意选项。
25 - mc admin profile
说明
自 mc RELEASE.2023-04-06T16-51-10Z 起,该命令已由 mc support profile 取代。
描述
mc admin profile 命令会生成用于调试的性能分析数据。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
性能分析数据格式
mc admin profile 会生成一个 ZIP 归档文件 profile.zip, 其中包含一个或多个 .pprof 文件。使用 pprof go 工具读取这些性能分析数据。
示例
单个资源的性能分析数据
使用 mc admin profile start 并结合 type 标志开始对该资源进行性能分析:
使用 mc admin profile stop 停止对指定资源的性能分析并输出结果:
该命令会将性能分析数据输出为 profile.zip。
多个资源的性能分析数据
使用 mc admin profile start 并结合 type 标志开始对这些资源进行性能分析:
使用 mc admin profile stop 停止对指定资源的性能分析并输出结果:
该命令会将性能分析数据输出为 profile.zip。
语法
mc admin profile 的语法如下:
mc admin profile 支持以下子命令:
mc admin profile start
mc-cmd
在目标 MinIO 部署上开始收集性能分析数据。该命令语法如下:
mc admin profile start 支持以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,命令将从该部署收集性能分析数据。
type
mc-cmd
从 TARGET MinIO 部署收集的性能分析数据类型。
将以下一个或多个支持的类型以逗号分隔列表形式指定:
cpumemblockmutextracethreadsgoroutines
省略时默认为 cpu,mem,block。
mc admin profile stop
mc-cmd
停止性能分析过程,并将收集的数据作为 profile.zip 返回。该 zip 文件包含一个或多个 .pprof 文件,可由 go pprof 等工具读取。
该命令语法如下:
该命令支持以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,命令将从该部署返回可用的性能分析数据。
26 - mc admin speedtest
变更: RELEASE.2022-07-24T02-25-13Z
mc admin speedtest 已由 mc support perf 替代。
描述
mc admin speedtest 命令通过 PUT 和 GET 操作测试每个主机的吞吐量。
speedtest 从 mc RELEASE.2021-09-02T09-21-27Z 开始可用,并支持运行 RELEASE.2021-07-30T00-02-00Z 或更高版本的分布式 MinIO 部署。
speedtest 不支持独立部署或 MinIO Gateway 部署。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
语法
mc admin speedtest 使用以下语法:
mc admin speedtest 支持以下参数:
TARGET
mc-cmd
必需
已配置 MinIO 部署的 alias,用于执行 speedtest。
--duration
mc-cmd
整个 speedtest 的运行时长。默认为 10s。
--size
mc-cmd
用于上传/下载的对象大小。默认为 64MiB。
--concurrent
mc-cmd
每个服务器的并发请求数。默认为 32。
27 - mc admin tier
变更: RELEASE.2022-12-24T15-21-38Z
mc admin tier 已由 mc ilm tier 替代。
描述
mc admin tier 命令用于配置受支持的远程 S3 兼容服务,以支持 MinIO Lifecycle Management: Object Transition (“Tiering”)。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
支持的 S3 服务
mc admin tier 仅 支持将以下 S3 兼容服务用作对象分层的远程目标:
- Amazon S3
- Google Cloud Storage
- Azure Blob Storage
所需权限
MinIO 需要以下权限,作用范围应限定为你要为其创建生命周期管理规则的一个或多个存储桶。
MinIO 还需要在集群上具备以下管理权限,用于为对象过渡生命周期管理规则创建远程层:
例如,以下策略授予在集群任意存储桶上配置对象过渡生命周期管理规则的权限:
过渡权限
对象过渡生命周期管理规则需要远程存储层的额外权限。具体来说,MinIO 要求远程层凭证具备读取、写入、列举和删除权限。
例如,如果远程存储层使用基于 AWS IAM 策略的访问控制,以下策略提供了对象迁入和迁出远程层所需的权限:
修改 Resource 使其指向 MinIO 要分层写入对象的存储桶。
有关配置用户与权限以支持 MinIO 分层的更完整信息,请参考受支持分层目标的文档:
- Amazon S3 Permissions
- Google Cloud Storage Access Control
- Authorizing access to data in Azure storage
语法
mc admin tier add
mc-cmd
创建一个新的远程存储层,用于通过 MinIO 生命周期管理规则过渡对象。
重要
MinIO 不支持移除远程存储层。在将其添加为远程层目标 之前,请先确保该存储后端能够满足预期工作负载。
命令语法如下:
此命令接受以下参数:
TIER_TYPE
mc-cmd
Required
MinIO 用于过渡对象的云服务提供商存储后端(“Tier”)。请在以下受支持值中指定 一个:
|
使用 AWS S3 或 远程 MinIO 部署作为新 Tier 的存储后端。 需要额外指定以下选项: |
|
使用 Azure Blob Storage 作为新 Tier 的存储后端。 需要额外指定以下选项: |
|
使用 GCP Cloud Storage 作为新 Tier 的存储后端。 需要额外指定以下选项: |
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias,命令会在该部署上创建新的远程层。
TIER_NAME
mc-cmd
Required
与新远程层关联的名称。该名称在 MinIO 集群所有已配置层中 必须 唯一。
你 必须 使用全大写指定 tier,例如 WARM_TIER。
--endpoint
mc-cmd
Required
云服务提供商的 URL endpoint。该 URL endpoint 必须 能解析到 TIER_TYPE 指定的提供商。
--access-key
mc-cmd
Required
远程 S3 层用户的 access key。该用户必须对远程存储桶或存储桶前缀具备读/写/列举/删除操作权限。
当 TIER_TYPE 为 s3 时必填。 对 TIER_TYPE 的其他取值,此选项无效。
--secret-key
mc-cmd
Required
远程 S3 层用户的 secret key。
当 TIER_TYPE 为 s3 时必填。 对 TIER_TYPE 的其他取值,此选项无效。
--account-name
mc-cmd
Required
远程 Azure 层用户的 account name。该用户必须对远程存储桶或存储桶前缀具备读/写/列举/删除操作权限。
当 TIER_TYPE 为 azure 时必填。 对 TIER_TYPE 的其他取值,此选项无效。
MinIO 不 支持修改与 Azure 远程层关联的 account name。Azure 存储后端与账号绑定,修改账号会改变存储后端,并导致无法访问已过渡到原账号/后端的任何对象。
--account-key
mc-cmd
Required
与远程 Azure 层关联的 --account-name 对应的 account key。
当 TIER_TYPE 为 azure 时必填。 对 TIER_TYPE 的其他取值,此选项无效。
--credentials-file
mc-cmd
Required
远程 GCS 层用户的 credential file。该用户必须对远程存储桶或存储桶前缀具备读/写/列举/删除操作权限。
当 TIER_TYPE 为 gcs 时必填。 对 TIER_TYPE 的其他取值,此选项无效。
--bucket
mc-cmd
Required
MinIO 过渡对象所使用的远程层存储桶。
--prefix
mc-cmd
Optional
指定 --bucket 下 MinIO 过渡对象使用的前缀路径。
省略此字段则将对象过渡到存储桶根路径。
--storage-class
mc-cmd
Optional
MinIO 过渡对象时使用的 AWS 存储类。MinIO 仅支持以下存储类:
STANDARDREDUCED_REDUNDANCY
省略时默认为 S3_STANDARD。
此选项仅在 TIER_TYPE 为 s3 时生效。 对 TIER_TYPE 的其他取值,此选项无效。
--region
mc-cmd
Optional
指定 TIER_TYPE 的 S3 后端区域,例如 us-west-1。
此选项仅在 TIER_TYPE 为 s3 时生效。 对 TIER_TYPE 的其他取值,此选项无效。
mc admin tier edit
mc-cmd
修改或移除 MinIO 集群中的远程存储层。远程存储层支持通过 MinIO 生命周期管理规则进行对象过渡。
命令语法如下:
此命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias。
TIER_NAME
mc-cmd
Required
命令要修改的远程层名称。该值对应于创建远程层时指定的 mc admin tier add TIER_NAME。
--access-key
mc-cmd
Optional
远程 S3 层用户的 access key。该用户必须对远程存储桶或存储桶前缀具备读/写/列举/删除操作权限。
此选项仅适用于 TIER_TYPE 为 s3 的远程存储层。 对其他 TIER_TYPE,此选项无效。
--secret-key
mc-cmd
Optional
远程 S3 层用户的 secret key。
此选项仅适用于 TIER_TYPE 为 s3 的远程存储层。 对其他 TIER_TYPE,此选项无效。
--account-key
mc-cmd
Required
远程 Azure 层用户的 account key。 使用此选项可轮换与远程层关联的 --account-name 凭证。
此选项仅适用于 TIER_TYPE 为 azure 的远程存储层。 对其他 TIER_TYPE,此选项无效。
--credentials-file
mc-cmd
Required
远程 GCS 层用户的 credential file。该用户必须对远程存储桶或存储桶前缀具备读/写/列举/删除操作权限。
此选项仅适用于 TIER_TYPE 为 gcs 的远程存储层。 对其他 TIER_TYPE,此选项无效。
mc admin tier ls
mc-cmd
列出 MinIO 集群上的所有远程存储层。远程存储层支持通过 MinIO 生命周期管理规则进行对象过渡。
命令语法如下:
此命令接受以下参数:
TARGET
mc-cmd
Required
已配置 MinIO 部署的 alias。
28 - mc admin top
变更: RELEASE.2022-08-11T00-30-48Z
mc admin top 已由 mc support top 替代。
描述
mc admin top 命令返回分布式 MinIO 部署的统计信息, 类似于 top 命令的输出。
仅在 MinIO 部署上使用 mc admin
MinIO 不支持将 mc admin 命令用于其他 S3 兼容服务, 无论这些服务声称与 MinIO 部署具有何种兼容性。
语法
mc admin top locks
mc-cmd
返回 MinIO 部署中最早的 10 个锁。
该命令的语法如下:
该命令支持以下参数:
TARGET
mc-cmd
已配置 MinIO 部署的 alias,命令将从该部署 获取统计信息。
该 alias 必须 对应分布式(多节点)MinIO 部署。 对于 single-node single-drive 部署,该命令会返回错误。
31 - S3 API 兼容性
本页面记录 MinIO 对象存储支持的 S3 API。 如需查看任意 API 的参考文档,请参阅 Amazon S3 的对应文档。
重要
MinIO 强烈建议使用 S3 兼容 SDK 执行对象存储操作。
对象 API
- CopyObject
- DeleteObject
- DeleteObjects
- DeleteObjectTagging
- GetObject
- GetObjectAttributes
- GetObjectTagging
- HeadObject
- ListObjects
- ListObjectsV2
- ListObjectVersions
- PutObject
- PutObjectTagging
- RestoreObject
- SelectObjectContent
对象锁定
- GetObjectRetention
- PutObjectRetention
- GetObjectLegalHold
- PutObjectLegalHold
- GetObjectLockConfiguration
- PutObjectLockConfiguration
不支持的 API 对象端点
多部分上传
- AbortMultipartUpload
- CompleteMultipartUpload
- CreateMultipartUpload
- ListMultipartUploads
- ListParts
- UploadPart
- UploadPartCopy
与 S3 API 在多部分上传方面的差异
ListMultipartUploads需要使用精确的对象名称作为前缀。PutBucketLifecycle不支持AbortIncompleteMultipartUpload生命周期动作。
存储桶 API
- CreateBucket
- DeleteBucket
- DeleteBucketEncryption
- DeleteBucketTagging
- GetBucketEncryption
- GetBucketLocation
- GetBucketTagging
- GetBucketVersioning
- HeadBucket
- ListBuckets
- ListDirectoryBuckets
- PutBucketEncryption
- PutBucketTagging
- PutBucketVersioning
存储桶复制
存储桶生命周期
- GetBucketLifecycle
- GetBucketLifecycleConfiguration
- PutBucketLifecycle
- PutBucketLifecycleConfiguration
- DeleteBucketLifecycle
存储桶通知
- GetBucketNotification
- GetBucketNotificationConfiguration
- PutBucketNotification
- PutBucketNotificationConfiguration