跳到内容

使用限制

1. 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 (可配置)

2. 纠删码限制

EC 参数根据 Reed-Solomon 矩阵 EC 算法配置。实际限制取决于具体的纠删码(EC)配置。

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

3. 对象命名限制

文件系统和操作系统限制

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

请参阅相关文档,获取基于您特定操作系统和文件系统的完整限制列表。

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

命名冲突处理

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

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

bash
PUT data/hello/2025/first/a.csv
PUT data/hello/2025/first # Conflicts with existing object prefix

PUT data/hello/2025/first/
PUT data/hello/2025/first/vendors.csv # Conflicts with existing object

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

根据 Apache 许可证 2.0 发布。