每个租户的 MinIO Server 限制

为了获得最佳的生产环境配置,MinIO 推荐使用 Linux 内核版本 4.x 或更高版本。

Erasure Code(纠删码,多块硬盘 / 多台服务器)

项目 规格说明
每个集群最多服务器数量 无限制
最少服务器数量 02
当服务器数量为 1 时,每台服务器的最少硬盘数 02
当服务器数量为 2 或 3 时,每台服务器的最少硬盘数 01
当服务器数量为 4 时,每台服务器的最少硬盘数 01
每台服务器最多的硬盘数 无限制
读取 quorum(法定数) N/2
写入 quorum(法定数) N/2+1

S3 API 限制

项目 规格说明
最大 Bucket 数量 无限制(建议不要超过 500000 个 Bucket)——见下面 NOTE
每个 Bucket 最大对象数量 无限制
最大对象大小 50 TiB
最小对象大小 0 B
每次 PUT 操作的最大对象大小 5 TiB
每次上传的最大分片数 10,000
每个分片的大小范围 5 MiB 到 5 TiB。最后一个分片可以是 0 B 到 5 TiB
每次列出分片的最大返回数量 10000
每次列出对象的最大返回数量 1000
每次列出 multipart 上传的最大返回数量 1000
Bucket 名称的最大长度 63
对象名称的最大长度 1024
使用 “/“ 分隔的对象名片段的最大长度 255
每个对象的最大版本数量 10000(可以配置更高值,但我们不建议超过 10000)

**NOTE:**虽然 MinIO 本身并没有限制 Bucket 的数量,但你的集群硬件在应对不同工作负载和扩展模式时存在自然上限。我们强烈建议使用 MinIO SUBNET 获取针对你的生产使用场景的架构和容量规划建议。


MinIO 不支持的 Amazon S3 API 列表

我们认为以下 API 在 AWS S3 之外的环境中作用不大或功能重复。如果你认为某些 API 是必须支持的,请考虑在 GitHub issue 中说明原因和使用场景。

MinIO 不支持的 Amazon S3 Bucket API 列表

  • BucketACL(请改用 bucket policies

  • BucketCORS(所有 Bucket 默认启用 CORS,支持所有 HTTP 动作,你也可以选择性地限制 CORS 域)

  • BucketWebsite(请使用 caddynginx 作为静态网站托管)

  • BucketAnalytics、BucketMetrics、BucketLogging(请使用 bucket notification API)

MinIO 不支持的 Amazon S3 Object API 列表


MinIO 对对象名的限制

  • MinIO 对对象名的限制受操作系统和文件系统的限制。例如,在 Windows 平台或不支持特殊字符的文件系统中,不允许使用包含 ^*|/&”; 这些字符的对象名。

这个列表并不完整,限制取决于你使用的操作系统和文件系统——请查阅你的操作系统供应商提供的特殊字符限制清单。

MinIO 推荐在生产环境中使用 Linux 操作系统。

  • 对象名不允许与其父路径发生冲突,使用这种冲突行为的应用应该调整逻辑,确保使用不冲突的唯一键。例如以下冲突的键路径是不被支持的:
  1. PUT <bucketname>/a/b/1.txt
  2. PUT <bucketname>/a/b

或者:

  1. PUT <bucketname>/a/b
  2. PUT <bucketname>/a/b/1.txt