这个项目能做什么
RustFS 是一个用 Rust 实现的开源分布式对象存储系统。它提供 S3 兼容 API,面向数据湖、AI 和大数据工作负载,其既定目标是结合 MinIO 式的简洁性与 Rust 的内存安全性。它基于 Apache 2.0 许可证发布。
README 中描述的核心能力:
- S3 兼容性:上传/下载、版本控制、对象锁定(WORM)、服务端加密、S3 Select、存储桶配额、事件通知、IAM/策略、审计日志和可观测性。各个 S3 功能的覆盖情况在仓库文档的兼容性矩阵中跟踪。
- 分布式运行:分布式模式和单节点模式、位腐保护、修复与扫描器、池扩展/退役、存储桶复制和站点复制、生命周期管理(ILM),包括分层到远程 S3。
- 安全与身份:RustFS KMS 支持 Vault(KV2/Transit)和 AWS KMS 后端用于生产环境(Local 和 Static 后端文档说明仅用于开发/测试)、OIDC/SSO、OpenStack Keystone 认证以及多租户。
- 协议与接口:原生 OpenStack Swift API 和 Keystone 集成、FTPS、WebDAV 和 SFTP。Swift 和 SFTP 是可选的 cargo feature;FTPS 和 WebDAV 在默认构建中。
- 运维:Web 控制台、Kubernetes Helm chart、日志与可观测性,以及关于扫描器运行时控制、驱动器超时调优和出站连接策略的文档。
预览或受限项目:S3 Tables(一个支持 PyIceberg 和 DuckDB 的 Iceberg REST Catalog)被标记为预览,MinIO 磁盘格式兼容性被置于 feature flag 之后,不属于默认构建;MinIO 加密的对象据称无法被 RustFS 读取。
文档中记录的部署选项包括一行安装脚本、Docker 和 Podman 镜像(容器以非 root UID/GID 10001:10001 运行,因此绑定挂载的数据、日志和 TLS 目录必须对该用户可写)、Docker Compose、通过 docker-buildx.sh 或 Make 目标从源码构建多架构镜像、用于 Kubernetes 的 Helm chart、带有 NixOS 模块的 Nix flake 以及名为 rc 的 S3 兼容客户端,还有 x-cmd。
README 还记录了池扩展规则:单节点单驱动器部署仅支持独立模式,无法就地扩展或作为池添加;现有多驱动器池应保持端点和纠删集宽度不变,并通过追加新池来扩展。它指出拓扑规则遵循 MinIO,但自动奇偶校验选择在两个项目之间有所不同。
启动后通过端口 9001 上的 Web 控制台(默认凭据 rustfsadmin/rustfsadmin)和端口 9000 上的 S3 API 进行访问。README 包含一个带环境变量的 webhook 通知示例、关于私有/容器网络端点出站连接允许列表的说明,以及 Microsoft Entra ID 应用角色的 OIDC roles-claim 示例。
文档、变更日志、GitHub Discussions、Discord 和问题跟踪器均提供链接以获取支持。该项目由社区驱动,基于 Apache 2.0 许可;RustFS 是 RustFS, Inc. 的商标。
评论
0 评分人数达到10人后显示
登录后参与讨论。