RustFS 1.0 介绍与选型指南
RustFS 1.0 介绍与选型指南:官方资料溯源的 Rust 实现 S3 兼容对象存储现状(最新 stable 1.0.3)、纠删码分布式架构、Apache 2.0 许可定位与官方快速上手,以及与 MinIO 上游现状、SeaweedFS、Garage、Ceph RGW 的量化选型对比。基于官方公开资料编写,未做本地安装实测,查询日期 2026-10-19。
RustFS 1.0 介绍与选型指南
目标:基于官方公开资料(GitHub 官方仓库 rustfs/rustfs 的 README 与 Releases 页、官方文档站 docs.rustfs.com)溯源介绍 RustFS 1.0 稳定线的架构、特性与上手路径,并给出与 MinIO 上游现状、SeaweedFS、Garage、Ceph RGW 的选型对比。本文不做本地安装与运行实测,全部数据实查于 2026-10-19;官方资料边界之外的社区数据以 GitHub 仓库元数据实查为准。
一、信息基准
1.1 查询说明
- 查询日期:2026-10-19。
- 信息获取方式:纯官方资料溯源(GitHub 官方仓库 rustfs/rustfs 的 README、Releases 页与仓库元数据,官方站点 rustfs.com 与文档站 docs.rustfs.com),本文不做本地安装与运行实测。
- 版本结论:当前最新稳定版为 RustFS 1.0.3(2026-10-17 发布);1.0.0 于 2026-09-16 正式 GA(此前经 1.0.0-rc.3 至 rc.6 的候选序列),GA 后保持极快迭代(1.0.1:2026-10-03、1.0.2:2026-10-16、1.0.3:2026-10-17)。
- 资料边界声明:RustFS 官方未公布独立的性能评测白皮书,README 中的性能对比为官方自述压测环境(本文不转引具体数值);社区规模以 GitHub 仓库元数据实查为准。
1.2 版本依据
| 项目 | 实查结果(2026-10-19) | 来源 |
|---|---|---|
| 最新稳定版 | 1.0.3(2026-10-17) | github.com/rustfs/rustfs/releases |
| 版本时间线 | 1.0.0 GA(2026-09-16);1.0.0-rc.3~rc.6(2026-08-21~09-11);1.0.1(2026-10-03)、1.0.2(2026-10-16) | github.com/rustfs/rustfs/releases |
| 代码仓库 | rustfs/rustfs(仓库创建于 2023-11-23) | GitHub 仓库元数据 |
| 开源许可 | Apache-2.0 | 仓库 LICENSE 元数据与 README |
| 实现语言 | Rust | README 官方定位 |
| GitHub stars / forks | 35083 / 1601(open issues 61) | GitHub 仓库元数据(2026-10-19 实查) |
| 官方站点与文档 | rustfs.com;docs.rustfs.com | README 官方链接 |
1.3 官方来源清单
| 来源 | 地址 |
|---|---|
| 源码仓库 | https://github.com/rustfs/rustfs |
| Releases 页 | https://github.com/rustfs/rustfs/releases |
| 官方站点 | https://rustfs.com/ |
| 官方文档 | https://docs.rustfs.com/ |
| 安装文档 | https://docs.rustfs.com/en/installation |
| S3 兼容性矩阵 | 仓库 docs/architecture/s3-compatibility-matrix.md |
二、软件概述
本文介绍的是 RustFS 1.0 稳定线(最新补丁 1.0.3,2026-10-17 发布)。
RustFS 是一个用 Rust 编写的开源高性能分布式对象存储系统(官方 README 定位),提供 S3 兼容 API,官方将其定位为面向数据湖、AI 与大数据工作负载的存储底座,并强调三点差异化:以 Rust 实现获得内存安全与性能;采用宽松的 Apache-2.0 许可(官方明确与 AGPL 系产品划清界限);无遥测的数据主权主张(README「No Telemetry」与 GDPR/CCP/APPI 合规表述)。
功能形态上,RustFS 与 MinIO 的拓扑语义同源:官方 README 的「Pool expansion notice」明确说明拓扑规则 follow MinIO(单节点单盘 SNSD 不能原地扩容、多盘池按追加新 Pool 扩展等),但两项目的自动纠删位(parity)选择策略不同。README 特性矩阵覆盖 S3 核心功能、版本控制、Object Lock(WORM)、服务端加密与 KMS、生命周期管理(ILM)、IAM/OIDC/SSO、桶复制与站点复制、Web 控制台、事件通知、Helm Charts 等,另有 OpenStack Swift API 与 Keystone 认证的原生支持。
社区与发布节奏方面,仓库创建于 2023-11-23,当前 35083 stars / 1601 forks(2026-10-19 GitHub 实查),README 展示了 HelloGitHub 收录与 Trendshift 榜单徽章,社区沟通渠道为 Discord;1.0 GA(2026-09-16)后一周内多次发版,处于高速迭代期。
三、核心架构
3.1 部署拓扑
按官方 README 的拓扑口径(follow MinIO 语义):
- SNSD(单节点单盘):仅支持作为独立本地路径部署,不能原地扩展或并入 Pool,迁移需经 S3 通道重建部署;
- 单机多盘 / 多节点多盘:以纠删集(Erasure Set)组织多块盘,通过纠删码提供冗余;扩展方式是追加新 Pool,且已有 Pool 的端点与纠删集宽度必须保持不变;
- 官方提示各 Pool 参数需含省略号(ellipsis)表达式并至少展开为两个盘端点,扩容前应阅读仓库内的 Pool layout 兼容性测试说明。
3.2 服务端口与控制面
官方 Docker 快速上手默认暴露 9000(S3 API) 与 9001(Web 控制台) 两个端口;容器以非 root 用户 rustfs(UID/GID 10001:10001)运行,bind mount 的数据/日志/TLS 目录须提前授予该属主权限(README 明确提示)。仓库的 docker-compose.yml 另含 Grafana、Prometheus、Jaeger 等可观测组件编排。
3.3 数据保护与兼容
纠删码与 bitrot 保护(README 状态矩阵标注 Available)承载数据可靠性;「MinIO On-Disk Compatibility」当前为 🧪 Preview 且默认构建不启用(由 rio-v2 特性门控),官方明确 MinIO 加密对象不可被 RustFS 读取——跨产品迁移应以此为前提评估。
四、功能特性
4.1 S3 兼容与协议覆盖
README 特性矩阵(2026-10-19 实查):S3 核心功能、上传/下载、版本控制、Object Lock(WORM)、服务端加密、KMS、ILM 生命周期与远程 S3 分层、S3 Select、IAM/策略、桶配额、桶复制、站点复制、事件通知、审计日志等均为 ✅ Available;S3 Tables(Iceberg REST Catalog)为 🧪 Preview。另有 OpenStack Swift API(swift cargo feature)与 FTPS/WebDAV/SFTP 协议支持。
4.2 KMS 与身份
RustFS KMS 支持 Vault(KV2/Transit)与 AWS KMS 后端用于生产,Local/Static 后端仅限开发测试(README 注释口径);身份侧提供 IAM/策略、OIDC/SSO 与 OpenStack Keystone 集成。
4.3 许可与数据主权
Apache-2.0 宽松许可 + 官方「无遥测」主张(README 数据主权对比表),是相对 AGPL 系对象存储最直接的差异点,商业集成前仍应按自身合规流程复核许可文本。
4.4 1.0 稳定线状态
1.0.0 于 2026-09-16 GA,随后 1.0.1~1.0.3 在约五周内连续发布(Releases 页实查),问题修复与新特性落地速度快;相应地,版本跟进与升级验证的运维成本也高于成熟期项目。
五、快速上手
以下流程转述自官方 README「Quickstart」节(https://github.com/rustfs/rustfs ),本文不做本地实测。
5.1 一键安装脚本(官方 Option 1)
curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh
5.2 Docker 快速启动(官方 Option 2)
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:1.0.3
官方提示:容器以非 root 用户 10001:10001 运行,所有 bind mount 路径必须可写,否则启动报 permission denied;也支持 podman(:Z,U 挂载标签)与官方 docker-compose-simple.yml。本站已发布的部署实践可参考《RustFS 单节点部署指南(Ubuntu 22.04 与 CentOS 8)》。
5.3 源码构建(官方 Option 3)
官方提供 docker-buildx.sh 脚本支持多架构镜像构建与推送到自定义 Registry(README Option 3 口径)。
六、适用场景与限制
6.1 适用场景
- 私有化 S3 兼容存储:数据湖、AI/大数据负载的对象层(官方定位);
- 对许可敏感的商业集成:Apache-2.0 + 无遥测主张;
- 边缘与 IoT 网关:README 将 Edge & IoT 列为差异化场景;
- 需要运维控制台与纠删码冗余、但不接受 AGPL 义务的中小规模集群。
6.2 限制与注意事项
- 1.0 GA 时间短(2026-09-16),版本迭代快,生产采用需锁定版本并跟踪 changelog;
- S3 Tables、MinIO 磁盘格式兼容等特性仍为 Preview(rio-v2 门控),MinIO 加密对象不可读;
- SNSD 部署不支持原地扩容,拓扑规划要一步到位(官方 Pool expansion notice);
- 生态与第三方工具适配面较新,选型前应核对自身工具链(备份、同步、分析)与 S3 兼容性矩阵;
- 官方性能数据为自述压测,关键负载应自行基准验证。
七、同类选型对比
7.1 候选概览
| 系统 | 定位 | 许可 |
|---|---|---|
| RustFS 1.0 | Rust 实现的 S3 兼容分布式对象存储 | Apache-2.0 |
| MinIO(上游) | 高性能 S3 兼容对象存储(上游已归档) | AGPL-3.0 |
| SeaweedFS 4.48 | 对象存储 + 文件系统 + Iceberg 的分布式存储 | Apache-2.0 |
| Garage 2.4 | Rust 实现的轻量地理分布式 S3 存储 | AGPL-3.0 |
| Ceph RGW(v21 线) | 统一对象/块/文件平台的 S3/Swift 网关 | LGPL-2.1 |
7.2 量化对比(2026-10-19 实查)
| 维度 | RustFS 1.0.3 | MinIO 上游 | SeaweedFS 4.48 | Garage v2.4.1 | Ceph(RGW) |
|---|---|---|---|---|---|
| 许可 | Apache-2.0 | AGPL-3.0 | Apache-2.0 | AGPL-3.0 | LGPL-2.1 |
| GitHub stars | 35083 | 61316 | 35577 | 官方主仓库在自托管 Gitea(git.deuxfleurs.fr),无 GitHub stars 口径 | 17137(ceph/ceph) |
| 最新版本与日期 | 1.0.3(2026-10-17) | 末版 RELEASE.2025-10-15T17-29-55Z(2025-10-16),仓库已 archived | 4.48(2026-09-28) | v2.4.1(2026-09),v1.x 线并行维护 | GitHub 最新 tag v21.3.0;官方文档活跃线为 Tentacle(20.2.x)与 Squid(19.2.x) |
| 维护状态 | 1.0 GA 后高频迭代 | 上游归档(GitHub archived=true,最后推送 2026-04-24) | 活跃 | 活跃(Deuxfleurs 社区) | 活跃(大型基金会式项目) |
| 实现语言 | Rust | Go | Go | Rust | C++ |
| 形态侧重 | S3 兼容 + 控制台 + 纠删码 | S3 兼容标杆 | 对象/文件/POSIX 多形态 | 边缘与地理分布式轻量 S3 | 企业级统一存储(对象/块/文件) |
| 生态成熟度 | 1.0 新线,工具适配面成长中 | 生态最广(但上游停更) | 成熟 | 自托管社区生态 | 最重,组件族庞大 |
(stars、发版与归档状态取自各项目 GitHub 仓库/Releases 页与 Garage 官方 Gitea releases 的 2026-10-19 实查;MinIO 上游归档状态经 GitHub API archived 字段实查,归档后的社区分支动态另见《Kypello 介绍与选型指南》。)
7.3 选型建议
2026 年选 S3 兼容对象存储,首先应直面「MinIO 上游已归档」这一事实:新项目若看重宽松许可与活跃迭代,RustFS(Apache-2.0、Rust、1.0 已 GA)是当前值得首选评估的新锐;需要对象 + 文件系统 + POSIX 多形态、容忍 Go 技术栈的选 SeaweedFS;边缘/自托管/跨地域小集群且预算敏感的场景,Garage 的轻量与地理分布式设计更贴合(见《Garage 2.4 介绍与选型指南》);需要统一对象/块/文件、已有 Ceph 运维能力的大型平台继续用 Ceph RGW。对 RustFS 的最终评估建议放在 1.0.x 线的稳定性表现与自身负载的 S3 兼容性验证之后。
八、参考链接
- 源码仓库:https://github.com/rustfs/rustfs
- 1.0.3 发行页:https://github.com/rustfs/rustfs/releases/tag/1.0.3
- 官方站点:https://rustfs.com/
- 官方文档:https://docs.rustfs.com/
- 安装文档:https://docs.rustfs.com/en/installation
- MinIO 仓库(archived):https://github.com/minio/minio
- SeaweedFS 仓库:https://github.com/seaweedfs/seaweedfs
- Garage 官方仓库:https://git.deuxfleurs.fr/Deuxfleurs/garage
- Ceph 官方文档:https://docs.ceph.com/