---
url: /rustfs/introduction.md
description: >-
  RustFS是什么？用Rust从零重写的高性能分布式对象存储，100%兼容S3、Apache
  2.0协议，4KB小对象吞吐达MinIO的2.3倍，支持替换MinIO二进制原地迁移。2026年9月16日 1.0.0
  正式版发布，3.2万Star，五分钟搞懂这个国产开源存储新星
---

# 认识RustFS —— 用Rust重写的S3对象存储，1.0正式版刚刚发布

先看一组让人血压升高的数字。

某能源央企原来用 **50 台 x86 服务器**跑 MinIO 集群，年维保费用高得离谱，还过不了信创国产化验收。换成 RustFS 之后，**12 台鲲鹏服务器**就撑起了原有业务，维保费用直降 80% 以上，顺顺利利通过验收。

再看看另一头：2021 年 MinIO 把许可证从 Apache 2.0 换成 **AGPL v3**。这一换，所有把对象存储嵌进自有产品里卖的厂商、所有做托管对象存储的云厂商、所有改过源码不想公开的公司，法务那边全亮了红灯。有人掏钱买商业授权，有人开始满世界找替代品。

> 一个存储系统的许可证变更，能让整个行业重新洗牌——这就是开源的权力游戏，也是 RustFS 存在的全部理由。

而就在**今天，2026 年 9 月 16 日**，RustFS 放出了 **1.0.0 正式版（GA）**。距离上一个候选版 `1.0.0-rc.6`（9 月 11 日）只隔了 5 天，最后这 5 天里合进了 **190+ 个 PR**。三年长跑，从 alpha 一路跌跌撞撞走到 GA，作者自己都说"GA 不是终点，是可靠性承诺兑现的起点"。

## 什么是 RustFS

RustFS 是一个用 **Rust 从零重写**的开源分布式对象存储系统，**100% 兼容 Amazon S3 API**，Apache 2.0 协议，主打 AI 数据中心、数据湖和海量非结构化数据场景。

如果你用过 AWS S3 或 MinIO，它的操作模型你完全不用学——同样的 SDK、同样的 `mc` 命令行、同样的集成姿势。官方 README 里那句 slogan 相当嚣张：

> 🚀 2.3x faster than MinIO for 4KB object payloads.

翻译成人话：**在 4KB 小对象场景下，吞吐大约是 MinIO 的 2.3 倍。**

几个硬指标（截至 2026 年 9 月 16 日）：

* **最新版本**：`1.0.0`（GA，2026-09-16 发布），此前是 `1.0.0-rc.6`（09-11）、`rc.5`（09-02）、`rc.4`（08-28）、`rc.3`（08-21）、`rc.2`（08-14）——一个多月憋了 6 个 RC，冲刺节奏很凶
* **GitHub Star**：3.2 万+，贡献者 167 人，提交 6700+ 次
* **许可证**：Apache 2.0，永久开源（团队公开承诺过）
* **官宣全球实例数**：270 万+
* **开发语言**：Rust，编译期所有权检查，没有 GC

### 为什么是 Rust

这是 RustFS 最值得说的一点，也是它和 MinIO（Go 写的）、Ceph（C++ 写的）最本质的分野。

Go 有垃圾回收。负载一上来，GC 一跑就是 stop-the-world，延迟毫无征兆地抖一下——对存储这种"可靠性就是命"的系统，这种抖动是致命的。Rust 靠编译期的所有权规则管内存，**没有 GC，就没有 GC 尖刺**；缓冲区溢出、use-after-free、空指针解引用这些，编译器直接给你拦在发布之前。

有 Reddit 用户实测完两家的总结很传神：

> "如果你有怪兽级 CPU，RustFS 和 MinIO 基本打平。但硬件一弱，RustFS 明显赢——这大概就是 Rust 的魔法吧。"

**硬件越寒酸，RustFS 的优势越明显。** 边缘设备、老服务器、便宜云主机，这套逻辑直接成立。

### 核心架构：四个平面撑起一个集群

官方把能力拆成七个"平面"，理解起来其实就四层：

* **数据平面 —— 纠删码（RS/EC）**：Reed-Solomon 算法，可配 EC 8+4 这类拓扑，把 3 副本的冗余成本压到 1.2 左右，同时保证盘坏了能自愈。1.0.0 里大量工作就砸在这：MRF（修复记录框架）提交快照写入器、可持久重放的检查点、EC8+4 重启后的分片重建语义——全是"盘炸了怎么把数据捞回来"的硬功夫。
* **集群平面 —— MNMD 分布式部署**：多节点多盘（Multi-Node Multi-Drive），无元数据中心节点，水平/垂直双向扩展，没有单点故障。这点跟 MinIO 的哲学一致——**没有元数据协调者可以挂**。
* **池平面 —— 动态编排**：`rebalance()` 支持节点动态加入退出、数据自动重分布、扩容退役不中断业务。
* **访问平面 —— 多协议**：S3 为核心，AWS SDK 原样可用，`mc` 等 MinIO 工具链直接复用。
* **信任平面 —— IAM/KMS**：SSE-S3、SSE-C、SSE-KMS 服务端加密，可对接 HashiCorp Vault 管密钥，支持 TLS。
* **运维平面 —— 可观测**：OpenTelemetry 链路追踪、Prometheus 指标、健康检查端点。
* **运行时平面 —— 云原生**：Helm Chart 一键上 K8s，Operator 管租户和生命周期。

## 核心特点

* **4KB 小对象快 2.3 倍**：官方口径，IoT 遥测、日志、缩略图库这类小文件海量场景收益最直接——小对象场景下单次操作开销占主导，Rust 的效率优势会成倍放大。
* **Apache 2.0，商业友好**：没有 copyleft，没有源码披露义务，想改想卖想闭源随你。这是它狙击 MinIO AGPL v3 的第一杀器。
* **MinIO 原地替换（drop-in）**：官方支持**直接换二进制或容器镜像**完成原地迁移，桶元数据、对象标签、对象锁定、版本控制、桶复制、IAM、生命周期管理都能读，PB 级数据不用搬来搬去。
* **完整的 S3 能力矩阵**：版本控制、WORM 合规、服务端加密、桶复制、生命周期与分层（ILM/Tiering）、纠删码——企业选型的 checklist 基本勾满。
* **无 GC 的延迟一致性**：没有 stop-the-world，P99 延迟曲线比 Go 系平滑，弱硬件上优势尤其明显。
* **内存安全**：编译期拦掉整类内存漏洞，对要过等保、过信创验收的场景是加分项。
* **AI 与 Agent 原生**：已加入 **NVIDIA Inception 计划**，正在做原生 **RDMA** 支持，并把纠删码和数据加密**卸载到下一代 DPU**；roadmap 上还有 GPU Direct Storage 和 WebDAV。1.0.0 的 CI 里甚至出现了 **S3 Tables（Iceberg REST Catalog）** 功能套件——它想当 AI 数据中心那块存储基石，野心不小。
* **可观测性留在本机**：官方强调"no foreign logging"，遥测和日志不出你的控制边界。这点对信创和合规场景其实很关键。

> RustFS 不是"又一个 MinIO 克隆"。它是用 Rust 把 MinIO 的设计哲学重做一遍，顺手把许可证、GC 抖动和内存安全这三件事一起解决掉。

## 谁在用：真实案例，带硬数据

需要说明的是，RustFS 没有像商业厂商那样挂一墙客户 Logo，公开案例多来自社区、媒体和技术博主的一线记录——但数字都挺实在：

* **某能源央企（信创替代）**：原 50 台 x86 服务器跑 MinIO 集群，年维保费用极高且过不了信创验收。换 RustFS 后仅用 **12 台鲲鹏服务器**承载原有业务，硬件成本砍掉大半，维保费用**下降 80% 以上**，数据恢复速度明显提升，业务中断时间极短，顺利通过信创国产化验收。
* **某自动驾驶企业（AI 训练）**：用 RustFS 存 **PB 级**大模型训练数据，GPU 利用率从 **50% 多提升到 90% 左右**，训练周期大幅缩短。GPU 在那儿空转等数据，是 AI 训练最贵的浪费。
* **某自动化码头（边缘场景）**：5 台工业级边缘服务器组集群，替代原有 FC SAN + Windows 文件共享。结果：**AGV 调度成功率 95% → 99.97%**，数据同步延迟 **32 秒 → 48ms**，年故障停机 **48 小时 → 1.2 小时**，年维护成本 **1200 万元 → 180 万元**，存储利用率 **42% → 89%**。改造周期 60 天，累计业务中断不到 2 小时。
* **某电商成长型团队**：30 人技术团队、1 名专职运维，日均订单数据 500GB，原 MinIO 高峰期卡顿。用 Operator 一键部署 3 节点集群，针对"写多读少"把分片调到 64MB，写入性能提升 40%。结果是 **1 名运维即可维护，集群稳定运行 6 个月无故障，业务增长 3 倍**（日均 500GB → 1.5TB）。

社区里还有第三方压测对比（A100 ×8、万兆网、3 节点集群）加载 100GB 训练数据：RustFS 8 分 23 秒，MinIO 12 分 47 秒，Ceph 21 分 15 秒。

### 但有句实话必须说

我向来不喜欢只讲好话。RustFS 现在有两条硬伤你得知道：

1. **大文件顺序读还打不过 MinIO**。2025 年中的一次社区压测（GitHub Issue #73，4 节点集群、20MiB 对象）显示：MinIO 约 **53 Gbps 吞吐 / 24ms 首字节**，RustFS 约 **23 Gbps / 260ms**。写入性能两者接近，差距集中在特定大文件读模式上，官方已把它列进 roadmap。
2. **成熟度时间还不够**。MinIO 从 2014 年就在生产环境跑，Stack Overflow 上问题成堆、文档成山、有商业 SLA。RustFS 从 2023 年才起步，**1.0.0 是今天才发的**。大规模集群、超高压场景的稳定性，还需要更多真实时间来验证。

> 我的建议：新项目、中小规模、信创场景、小对象密集、或者被 AGPL 卡住脖子的——现在就可以认真评估。核心业务、PB 级存量、零容错、要厂商背书的——先压测、先灰度、先演练故障恢复，别拿核心数据赌一个刚满月的 1.0。

## 初体验：一条 Docker 命令跑起来

想亲手摸一下，最快就是 Docker。官方文档给出的标准姿势：

```bash
# 拉镜像
docker pull rustfs/rustfs:latest

# 建个持久化卷，换容器数据不丢
docker volume create rustfs-data

# 起服务
docker run -d \
  --name rustfs \
  --restart unless-stopped \
  -p 9000:9000 \
  -p 9001:9001 \
  -v rustfs-data:/data \
  -e RUSTFS_ACCESS_KEY="<your-access-key>" \
  -e RUSTFS_SECRET_KEY="<your-secret-key>" \
  -e RUSTFS_ADDRESS=":9000" \
  -e RUSTFS_CONSOLE_ADDRESS=":9001" \
  -e RUSTFS_CONSOLE_ENABLE=true \
  -e RUSTFS_OBS_LOGGER_LEVEL=error \
  -e RUSTFS_OBS_LOG_DIRECTORY="/var/log/rustfs/" \
  rustfs/rustfs:latest \
  /data

# 验证一下
curl --fail http://localhost:9000/health
```

几个新手必踩的坑，提前说：

* **9000 是 S3 API 端口，9001 是控制台端口**。浏览器打开 `http://localhost:9001`，用上面设的 access key 登录。
* **别用 `rustfsadmin` 这种默认值当密码**。用 `openssl rand -base64 24` 生成一把强密钥。
* **挂宿主机目录会权限报错**。容器以非 root 用户 `rustfs`（uid `10001`）运行，挂目录前先 `chown -R 10001:10001 /path/to/dir`。
* **上生产前**：用多节点架构、开 TLS、配日志轮转、定备份策略。

多节点也简单，每个节点上跑（Docker 默认 bridge 网络不支持多节点，要 `--network host`）：

```bash
docker run -d \
  --name rustfs \
  --network host \
  -v /mnt/rustfs/data:/data \
  -e RUSTFS_ACCESS_KEY="<your-access-key>" \
  -e RUSTFS_SECRET_KEY="<your-secret-key>" \
  -e RUSTFS_ADDRESS=":9000" \
  -e RUSTFS_CONSOLE_ADDRESS=":9001" \
  -e RUSTFS_CONSOLE_ENABLE=true \
  -e RUSTFS_VOLUMES="http://node{1...4}:9000/data/rustfs{0...3}" \
  rustfs/rustfs:latest
```

如果你想一步到位玩全套可观测（Grafana + Prometheus + OTel Collector + Jaeger），官方仓库里带了 compose 文件：

```bash
git clone https://github.com/rustfs/rustfs.git
cd rustfs
docker compose --profile observability up -d
```

K8s 用户直接 `helm install` 或上 Operator，官方文档都有。想深抠就看 [docs.rustfs.com](https://docs.rustfs.com/)，觉得有意思的话顺手给 `rustfs/rustfs` 点个 Star——167 个贡献者里，下一个可能就是你。

> 入门别贪多：先把它当成"免费用、不用改代码、还能原地换掉 MinIO 的 S3"来用。等吃透了纠删码拓扑和池编排，再谈替换核心存储。

## 进阶

更多开源技术干货和学习资料，关注公众号「遇码」，领取专属福利。
