一、S3 API 限制

以下标准严格遵循S3协议标准进行规范。

项目规格
最大对象大小5 TiB
最小对象大小0 B
单次 PUT 操作的最大对象大小非分片上传:500 GiB;分片上传:5 TiB
每次上传的最大分片数量10,000
分片大小范围5 MiB 至 5 GiB;最后一个分片可为 0 B 至 5 GiB
每次列出分片请求返回的最大分片数量10,000
每次列出对象请求返回的最大对象数量1,000
每次列出分片上传请求返回的最大分片上传数量1,000
存储桶名称的最大长度63 个字符
对象名称的最大长度1024 个字符
每个 / 分隔的对象名称段的最大长度255 个字符
单个对象的最大版本数量10,000(可配置)

二、 擦除编码限制

EC参数请,基于里德-所罗门矩阵的EC算法进行配置。以实际EC参数配置为准。

项目规格
每个集群的最大服务器数量无限制
最小服务器数量1
当服务器数量为 1 时,每个服务器的最小驱动器数量1(适用于单节点单驱动器部署,无法提供额外的可靠性或可用性)
当服务器数量为 2 或更多时,每个服务器的最小驱动器数量1
每个服务器的最大驱动器数量无限制
读取仲裁数N/2
写入仲裁数(N/2) + 1

三、 对象命名限制

文件系统与操作系统限制

RustFS 中的对象名称主要受底层操作系统和文件系统的限制。例如,Windows 和某些其他操作系统限制使用某些特殊字符,如 ^*|\/&";

请根据您的操作系统和文件系统的具体情况,参考相关文档以获取完整的限制列表。

RustFS 建议在生产环境中使用基于 XFS 文件系统的 Linux 操作系统,以获得更好的性能和兼容性。

命名冲突处理

在 RustFS 中,应用程序必须为所有对象分配唯一且不冲突的键。这包括避免创建名称可能与父对象或同级对象名称冲突的对象。RustFS 在发生冲突的位置执行 LIST 操作时将返回空集。

例如,以下操作会导致命名空间冲突:

PUT data/hello/2025/first/a.csv
PUT data/hello/2025/first  # 与现有对象前缀冲突

PUT data/hello/2025/first/
PUT data/hello/2025/first/vendors.csv  # 与现有对象冲突

尽管您可以对这些对象执行 GET 或 HEAD 操作,但名称冲突会导致在 hello/2025/first/ 路径执行 LIST 操作时返回空结果集。

商业支持购买咨询