每个租户的 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 域)
BucketAnalytics、BucketMetrics、BucketLogging(请使用 bucket notification API)
MinIO 不支持的 Amazon S3 Object API 列表
- ObjectACL(请改用 bucket policies)
MinIO 对对象名的限制
- MinIO 对对象名的限制受操作系统和文件系统的限制。例如,在 Windows 平台或不支持特殊字符的文件系统中,不允许使用包含 ^*|/&”; 这些字符的对象名。
这个列表并不完整,限制取决于你使用的操作系统和文件系统——请查阅你的操作系统供应商提供的特殊字符限制清单。
MinIO 推荐在生产环境中使用 Linux 操作系统。
- 对象名不允许与其父路径发生冲突,使用这种冲突行为的应用应该调整逻辑,确保使用不冲突的唯一键。例如以下冲突的键路径是不被支持的:
PUT <bucketname>/a/b/1.txt
PUT <bucketname>/a/b
或者:
PUT <bucketname>/a/b
PUT <bucketname>/a/b/1.txt