rustfs 是什么?

RustFS 是用 Rust 编写的 Apache-2.0 对象存储服务器,提供 S3、Swift、WebDAV、FTPS 和可选 SFTP 接口,并覆盖版本控制、复制、纠删码、对象锁、KMS、IAM 与 Web 控制台。

⭐ 25,629 Stars 🍴 1,093 Forks Rust Apache-2.0 作者: rustfs
来源:github.com/RustFS/RustFS/blob/main/README.md;https://github.com/RustF… 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

首个稳定版 1.0.0 于 2026-09-16 发布,项目随后继续发布 1.0.1-preview.9,修复纠删存储和复制收敛,并改进控制台路径。

来源:github.com/RustFS/RustFS/releases/tag/1.0.0;https://github.com/RustFS…

核心功能

多协议对象访问

核心 S3 API 已标为 Available,并提供 Swift、WebDAV、FTPS 与可选 SFTP;具体操作仍应按官方兼容矩阵逐项验证。

来源:github.com/RustFS/RustFS/blob/main/README.md
数据保护与复制

支持版本控制、bitrot 防护、对象锁、桶复制、站点复制、扫描和修复;生产采用前要演练节点故障、磁盘故障和恢复。

来源:github.com/RustFS/RustFS/blob/main/README.md
加密与身份

提供服务端加密、RustFS KMS、IAM/Policy、OIDC/SSO 和 Keystone。官方说明 Local、Static KMS 只用于开发测试,生产应使用 Vault 或 AWS KMS。

来源:github.com/RustFS/RustFS/blob/main/README.md
容器与 Kubernetes 部署

官方提供二进制、Docker、Compose 和 Helm 路径;容器以 UID/GID 10001 运行,数据、日志和证书挂载必须具备相应权限。

来源:github.com/RustFS/RustFS/blob/main/README.md

技术架构

RustFS 对外提供 S3 等协议和控制台,内部用 Rust workspace 实现 IAM、加密、纠删存储、复制、扫描修复、事件通知与审计。单机与分布式共用服务入口。Docker 默认把 9000 暴露给 API、9001 暴露给控制台;数据和日志挂载由非 root 用户写入。出站通知受到 allowlist 控制,私网 webhook 也要显式允许。

来源:github.com/RustFS/RustFS/blob/main/README.md;https://github.com/RustF…

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) 稳定版 1.0.0 可选 Vault 或 AWS KMS可选 Vault 或 A… Docker/Podman 或 HelmDocker/Podman… S3 客户端用于兼容性测试S3 客户端用于兼… 多协议对象访问 数据保护与复制 加密与身份 容器与 Kubernetes 部署容器与 Kubernetes 部… rustfs 项目本体 核心功能 关键依赖

技术栈

语言Rust workspace框架自研对象存储、纠删码、S3/Swift 协议与 Web 控制台
稳定版 1.0.0可选 Vault 或 AWS KMSDocker/Podman 或 HelmS3 客户端用于兼容性测试
单机可快速验证;分布式生产需要独立磁盘、TLS、监控、备份与故障演练。S3 Tables 和 MinIO 磁盘兼容仍标为 Preview
来源:github.com/RustFS/RustFS/blob/main/README.md;https://github.com/RustF…

快速上手

第一次测试固定 1.0.0 镜像,创建独立 data 和 logs 目录并把属主设为 10001:10001;只绑定测试网络,设置新的管理员凭证,再启动 9000/9001。用 S3 客户端完成建桶、上传、下载、列举、删除和校验和测试,随后重启容器验证持久化。
来源:github.com/RustFS/RustFS/blob/main/README.md;https://github.com/RustF…

使用场景

适合评估自托管 S3、开发测试对象存储、数据湖或需要 Apache-2.0 许可的场景。生产迁移不能只看“兼容 S3”:要覆盖所用 SDK 的分段上传、签名、版本、生命周期、通知、对象锁和错误码,并验证备份与回滚。

来源:github.com/RustFS/RustFS/blob/main/README.md

优势与局限

优势

  • Apache-2.0 许可且提供预编译资产和镜像
  • S3 核心、复制、对象锁、KMS、IAM 和审计集中在同一服务
  • 容器以非 root 用户运行
  • 官方状态表区分 Available 与 Preview

局限

  • 1.0.0 刚发布,长期生产记录仍需时间积累
  • 1.0.1-preview 系列不是稳定版
  • S3 兼容不是所有 AWS S3 行为的保证,应测试实际 API 子集
  • MinIO 磁盘兼容仍为 Preview,且 MinIO 加密对象不可读取
  • 默认暴露 API 和控制台前必须更换凭证并配置 TLS
  • 项目方性能描述不能替代同硬件基准
  • 本轮未启动服务器或写入对象
来源:github.com/RustFS/RustFS/blob/main/README.md;https://github.com/RustF…

最新版本

稳定版 1.0.0 于 2026-09-16 发布。1.0.1-preview.9 于 2026-09-21 发布,属于预发布,包含纠删存储、复制、控制台路径和发布流程相关改动。

来源:github.com/RustFS/RustFS/releases/tag/1.0.0;https://github.com/RustFS…

实测与证据

status: official_docs_checked_not_run  |  checked_at: 2026-09-23  |  environment: 核对官方 README、Cargo workspace、CHANGELOG、LICENSE 与 Releases  |  limitations: 未下载二进制或镜像,未启动节点、创建桶、写入对象、测试 SDK 兼容、故障恢复、复制、KMS 或性能  |  observed_output: 1.0.0 于 2026-09-16发布;1.0.1-preview.9 于 2026-09-21 发布并标为预发布;官方状态表把 S3 Tables 和 MinIO 磁盘兼容列为 Preview

来源:github.com/RustFS/RustFS/releases;https://github.com/RustFS/RustFS/bl…

同类项目对比

与 MinIO 社区仓库对比:两者都提供 S3 兼容对象存储。RustFS 用 Rust、Apache-2.0,并继续提供版本化二进制和镜像;MinIO 社区仓库采用 AGPLv3,已于 2026-04-25 归档,README 说明社区版改为仅源码分发。现有 MinIO 用户应先列出实际 API 和运维依赖,再做双写、校验与回滚测试,不能因接口名称相同直接替换数据盘。

来源:github.com/RustFS/RustFS/blob/main/README.md;https://github.com/minio…

总结评价

保留。RustFS 没有严重商业漏斗,且 1.0.0 刚稳定发布;尽管本站暂时没有搜索流量,它属于值得更新的基础设施项目。文章把版本状态、非 root 权限、S3 兼容测试、Preview 功能和迁移回滚放在首位。

来源:github.com/RustFS/RustFS/blob/main/README.md;https://github.com/RustF…

常见问题

RustFS 现在应该用 1.0.0 还是 1.0.1-preview.9?

生产评估应从稳定的 1.0.0 开始。1.0.1-preview.9 是预发布版本,适合验证即将到来的修复,不应在没有回滚方案时替换稳定环境。

RustFS 可以直接读取 MinIO 的数据盘吗?

不要这样假设。官方把 MinIO 磁盘兼容列为 Preview,并明确说 MinIO 加密对象不可读取。迁移应通过 S3 API 复制、校验对象和元数据,并保留源端回滚。

RustFS Docker 为什么会报目录无权限?

官方镜像以 UID/GID 10001 的非 root 用户运行。绑定的数据、日志和 TLS 证书目录必须允许该用户读写,或按文档显式使用合适的宿主 UID/GID。

RustFS 写着 S3 compatible,是否代表所有 S3 工具都无需测试?

不代表。应按实际工具测试签名、分段上传、版本、生命周期、通知、对象锁和错误码。官方状态表和兼容矩阵比笼统的兼容口号更有参考价值。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件