rustfs/rustfs
RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.
RustFS – 高性能分布式对象存储(Rust)
简介 – RustFS 是一个用 Rust 编写的开源、Apache-2.0 许可的对象存储系统。它旨在结合 MinIO 的易用性和 Rust 提供的内存安全与原始速度。该服务支持 S3 API(核心功能、版本控制、加密、生命周期等),还支持 OpenStack Swift、SFTP/FTPS/WebDAV 和 Web 控制台。
对 AI/ML 的重要性 – 现代 AI 管道需要快速、可靠的对象存储来存储训练数据、模型工件和推理结果。RustFS 宣传“数据湖支持”和“针对高吞吐量大数据和 AI 工作负载进行优化”,使其成为数据密集型 ML 工作负载存储层的候选方案。
主要特性(如 README 中所述)
- 高性能 – 用 Rust 构建,实现低开销、内存安全执行。
- 分布式、容错架构 – 可使用纠删码池作为单节点或多节点集群运行。
- 广泛的 S3 兼容性 – 核心 S3 操作、版本控制、对象锁定(WORM)、服务器端加密、生命周期/ILM、存储桶复制、事件通知等。
- OpenStack Swift API 和 Keystone 身份验证 – 原生支持 Swift 及其身份验证模型。
- 其他协议 – FTPS、WebDAV、SFTP(可选 Cargo 功能)。
- KMS 集成 – Vault(KV2/Transit)和 AWS KMS 后端;本地/静态后端用于测试。
- 可观测性 – 内置日志、Prometheus 指标、Grafana 仪表板、Jaeger 追踪。
- Web 控制台 – 用于存储桶和对象管理的图形界面。
- Helm 图表、Docker 镜像、Nix flake 和 x-cmd 安装程序 – 多种部署选项。
- 宽松的 Apache-2.0 许可证 – 无“病毒性”AGPL 限制。
典型用例
| 用例 | RustFS 的帮助 |
|---|---|
| AI/ML 数据湖 | 为大型训练数据集和模型检查点提供 S3 兼容的高吞吐量存储。 |
| 边缘/IoT 网关 | 占用空间小的 Rust 二进制文件,无遥测,适合本地或边缘部署。 |
| 混合云 | 可在本地或容器/Kubernetes 中运行,提供与现有云工具配合使用的私有 S3 端点。 |
| 企业合规 | Apache-2.0 许可证,GDPR/CCPA/APPI 友好,无隐藏遥测,支持 OIDC/SSO 实现细粒度 IAM。 |
| 备份/归档 | 支持存储桶复制、版本控制和对象锁定以实现不可变存储。 |
入门(快速开始选项)
- 一键脚本 –
curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh - Docker – 运行官方镜像(非 root 用户
rustfsUID/GID10001:10001)。示例:
如有必要,将mkdir -p data logs && chown -R 10001:10001 data logs docker run -d -p 9000:9000 -p 9001:9001 \ -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latestlatest替换为特定版本标签。 - Docker Compose – 现成的
docker-compose-simple.yml包含 RustFS 以及 Prometheus、Grafana 和 Jaeger,用于可观测性。 - Helm 图表 – 通过
https://charts.rustfs.com/处的图表在 Kubernetes 集群上安装。 - 从源码构建 – 使用提供的
docker-buildx.sh脚本或make目标构建多架构 Docker 镜像,或使用 Cargo 直接编译二进制文件。 - Nix flake / x-cmd – 适用于 NixOS 用户或喜欢
x-cmd安装程序的用户。
管理要点
- 控制台 – 可在
http://localhost:9001访问(默认凭据rustfsadmin / rustfsadmin)。 - TLS – 挂载证书目录并设置
RUSTFS_TLS_PATH以启用。 - 通知 – 通过
RUSTFS_NOTIFY_*环境变量支持 Webhook;外部连接必须通过RUSTFS_OUTBOUND_ALLOW_ORIGINS进行白名单。 - 池扩展 – 单节点单磁盘部署无法就地扩展;多驱动器池需要仔细的几何配置(请参阅池布局兼容性文档)。
- OIDC – 支持 Microsoft Entra ID 的可选角色声明映射;通过
RUSTFS_IDENTITY_OPENID_*环境变量进行配置。
许可证
- Apache License 2.0 – 宽松、商业友好,无“病毒性”条款。
了解更多
- 文档和安装指南 – https://docs.rustfs.com/en/installation
- GitHub 仓库 – https://github.com/rustfs/rustfs(CI 徽章、问题跟踪器、讨论)
- 社区 – README 中的 Discord 链接,以及多语言 README 链接。
TL;DR
RustFS 是一个基于 Rust 的 Apache-2.0 许可对象存储系统,提供完整的 S3 兼容性、分布式容错操作和 Web 控制台。它面向高吞吐量 AI/ML 数据湖工作负载,同时提供边缘友好的部署选项(Docker、Helm、Nix 等)和强大的安全性/合规性保证。
相关
- 项目
- 项目
- 项目
- 项目
- 项目