👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:

👉这是一个或许对你有用的开源项目
国产Star破10w的开源项目,前端包括管理后台、微信小程序,后端支持单体、微服务架构
RBAC权限、数据权限、SaaS多租户、商城、支付、审批工作流、大屏报表、ERP、
CRM、WMS、MES、EAM、HRM、OA、FMS、PMS、AI大模型、AI工作流、AI Agent、IoT物联网、IM实时聊天等功能:
- 多模块:https://gitee.com/zhijiantianya/ruoyi-vue-pro
- 微服务:https://gitee.com/zhijiantianya/yudao-cloud
- 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK25 + SpringBoot4、JDK17/21+SpringBoot3、JDK8/11+Spring Boot2三版本 QUOTE
开源存储的机会来了,迁移之前先看清能力边界。
现在刷 GitHub Trending,榜上大部分都是 AI 相关的,大模型、Agent、MCP 工具,十个项目八个带 AI。基础设施类的项目想上一次榜,机会很小。
所以 RustFS 确实非常难得。一个做对象存储的基础软件,2025 年 7 月正式发布,一年时间 Star 数破三万,我写这篇文章的时候已经三万四千多了。这期间它 9 次登上 GitHub Trending 总榜,50 多次拿下 Rust 语言榜第一,没沾 AI 概念的光,纯靠存储这件事本身卷出来。
— 仓库首页实时截图,Star 与 Fork 计数同时可见
— Star 增长曲线,拐点出现在 2025 年 7 月
这件事得从 2025 年说起。5 月,MinIO 社区版一刀砍掉 Web 控制台的管理功能,删了 11 万行代码,控制台只剩一个光秃秃的文件浏览器;10 月,社区版的安装包和 Docker 镜像停发;12 月直接官宣进入维护模式,仓库归档,新功能不再有了。
MinIO 官方主力转去闭源收费的商业版 AIStor。用了这么多年的对象存储标杆,说不维护就不维护,很多企业和个人开发者一下没了着落,急需找开源平替。RustFS 就是在这个窗口里补上来的。
ruoyi-vue-pro
基于 Spring Boot + MyBatis Plus + Vue & Element & Ant Design 实现的后台管理系统 + 用户小程序,RBAC权限、数据权限、SaaS多租户、商城、支付、审批工作流、大屏报表、ERP、CRM、WMS、MES、HRM、EAM、OA、FMS、PMS、AI大模型、AI工作流、AI Agent、IoT物联网、IM实时聊天等功能
项目地址:https://github.com/YunaiV/ruoyi-vue-pro
视频教程:https://doc.iocoder.cn/video/
— 官方项目主视觉
它是一个用 Rust 写的分布式对象存储,S3 兼容,Apache 2.0 协议,国内团队做的。定位不绕弯子,就是 MinIO 的平替。从功能清单看,基本是照着 MinIO 一条一条对齐的。
官方公布的数字是这样的,Docker 镜像拉取超过 1000 万次,全球装机量 270 万,贡献者 160 多位。官方的说法是它是世界上增长最快的对象存储系统。这话是不是第一不好说,但在对象存储这种慢热的基础软件品类里,一年从 0 涨到三万 Star,确实不多见。
Apache 2.0 这个选择值得一提。同类里不少项目用 AGPL,商用时要考虑开源义务;Apache 2.0 没有这层顾虑,这也是它敢喊平替的底气之一。
yudao-cloud
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element & Ant Design 实现的后台管理系统 + 用户小程序,RBAC权限、数据权限、SaaS多租户、商城、支付、审批工作流、大屏报表、ERP、CRM、WMS、MES、HRM、EAM、OA、FMS、PMS、AI大模型、AI工作流、AI Agent、IoT物联网、IM聊天等功能
项目地址:https://github.com/YunaiV/yudao-cloud
视频教程:https://doc.iocoder.cn/video/
第一件是纠删码。数据切成数据片加校验片,坏几块盘数据照样完整。达到同样的可靠性,纠删码的磁盘开销比传统三副本能省出一半左右,而且盘越多省得越多。对一个要买几十块盘的团队来说,这一条直接决定预算。
第二件是 bitrot 保护和后台自愈。硬盘用久了会有 bitrot,数据放在盘上慢慢坏掉,平时不读根本不知道。它有巡检机制,扫到坏数据会自动修复,不用等到真出事才发现。
第三件是对象锁和版本控制。开了对象锁以后,锁定期内的数据改不了也删不掉,能防误操作,也能防勒索软件,这年头这条不是锦上添花。
— 控制台总览界面
MinIO 砍掉的那个控制台,
RustFS 这边是全功能免费给的。建桶、传文件、配权限、桶复制、生命周期管理、查看审计日志,界面上全能点。官方的说法是所有功能都可以在控制台操作,不用被逼着去背命令行。
对运维来说这一点很实在。遇到问题打开网页就能处理,不用到处翻文档找命令。MinIO 用户对这件事的感受应该最深,因为被拿走的就是这个。
协议上它给得比 MinIO 还宽一点。S3 是最基本的完全兼容,AWS CLI、s3cmd、各语言的 S3 SDK,原来接 MinIO 的代码一行不用改。除 S3 之外还有 WebDAV、Swift API、FTP 和 SFTP,另外还支持 OpenStack Keystone 认证。不过要留意,Swift 和 SFTP 是编译时要显式开启的特性,不是装上就有;WebDAV 和 FTPS 才是默认构建里带的。
安全那块是 IAM 加 OIDC,用户、用户组、策略分层管,单点登录支持 Keycloak、Authing、LDAP;KMS 能接 Vault 和 AWS KMS,服务端加密支持 SSE,审计日志内置。有一点得写准,Vault 支持的是 KV2 与 Transit 后端,Local 和 Static 那两个后端只用于开发测试,别拿去上生产。国产化方面,麒麟、统信这类系统都有适配,跑信创项目可以留意。
还有一个挺讨巧的地方,官方单独做了一个 MCP Server,把存储操作包装成 AI 能直接调用的工具。装好之后,支持 MCP 的客户端就能直接列出所有桶、查看文件、上传下载、建桶删桶。配置就是在客户端的 MCP 配置里填上地址和密钥,官方给了二进制和 Docker 两种用法。一个存储项目主动往 AI 工具链上靠,这个动作本身就说明它在想什么。
运维工具上,命令行有自己的 rc 对标 MinIO 的 mc,用惯 mc 的切过去没什么学习成本;集群侧桶复制、站点复制、存储池扩容和退役、数据分层到远端 S3 都是现成的,事件通知支持 webhook,Kubernetes 环境有 Helm Chart 和 Operator。
— S3 Tables 架构图
最近它把 S3 Table 放出来并开源了,这块值得单独说。MinIO 也有 S3 Table,但只放在商业版里卖,按 RustFS 官方的说法,企业要用这项功能得付十几万甚至几十万美金。
S3 Table 是 AWS 先做的东西,让对象存储支持表格式,写进桶里的数据就是一张张能查的表,Spark、DuckDB 这些计算引擎连上来就能读写,不用自己再搭一套元数据服务。
RustFS 的做法是把 Apache Iceberg 的 REST Catalog 做进了存储内核。一个进程、一个 9000 端口,同时提供标准 S3 接口和 Iceberg REST Catalog 接口;Spark、DuckDB、PyIceberg 不用装插件,连上就能建表写数据查数据。
— S3 Tables 控制台界面
用起来也不复杂,在控制台建桶的时候点一下启用表存储桶,这个桶就变成表桶了,命名空间和表都能在界面上管理,表的结构和快照都能看。
— S3 Table 表详情
来源作者照着官方文档里的 Spark 例子跑了一遍,配好地址和密钥,建命名空间、建表、写数据,跑完刷新控制台就能看到表,整个过程没什么卡点;官方文档里 PyIceberg 和 DuckDB 的例子也是现成的。
但有一条得说清楚,官方特性表里 S3 Tables 这一项标的状态是预览 ,不是已发布。预览在官方定义里意味着「带 opt-in 开关或有限兼容性声明」。所以来源那句建议是对的,先在测试环境玩明白,再往生产上放。
顺带提一句它的方向。官方给 RustFS 的定位是面向 AI 数据中心的存储基础设施,除 S3 Table 外,RDMA、DPU 卸载这类低延迟数据路径也在推进,官方还提到今年 4 月加入了 NVIDIA Inception 加速器。这些动作基本都是围绕 AI 场景做的。
正在用 MinIO 的人最关心的应该是切换成本,可以拆成三块看。
代码这块基本不用动。RustFS 兼容 S3,原来项目里用的 AWS SDK、各语言的 S3 SDK、MinIO 的 SDK,把连接地址和密钥换成 RustFS 的就能跑。个别边缘接口可能有差异,官方仓库里有 S3 兼容性清单,关键业务切之前对着查一遍。
工具也不用换。AWS CLI、s3cmd 这些直接能用,连 MinIO 自家的 mc 都可以继续用,等用熟了想换成 RustFS 自己的 rc 也来得及。
难的是数据。老数据还在 MinIO 里,要用 mc mirror 或者 rclone 这类工具把桶同步过来,它们都支持 S3 到 S3 的拷贝,数据量大就分批跑。这里有个坑要注意,mc mirror 只搬对象的当前版本,如果桶开了版本控制、历史版本还要留,就得换个搬法。
稳妥的做法是迁移期间两套系统同时在线,新业务先写到 RustFS,老数据慢慢搬;全部搬完、正式切流量之前再跑一次增量同步,把这期间 MinIO 上新改动的数据补齐,验证没问题再把 MinIO 下线。这样整个过程对业务基本没有影响。
另外官方仓库里也提到,RustFS 支持和 MinIO、Ceph 这些 S3 兼容平台之间做迁移和共存,磁盘格式层面的兼容也在推进,不过这一项目前同样标的是预览。
— 官方下载页的服务端安装段
docker run -d --name rustfs -p 9000:9000 -p 9001:9001 -v rustfs-data:/data rustfs/rustfs:latest
但用 Docker 之前有个坑必须先处理。 容器是以非 root 用户 rustfs(UID/GID 10001:10001)运行的,如果你要把宿主机的目录挂进去,得先保证那个目录对这个用户可写,否则启动时直接权限拒绝。官方中文文档给的示例是先建目录再改属主。
mkdir -p data logs
chown -R 10001:10001 data logs
不想用 Docker 的话,Linux 上跑官方的一键脚本。
curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh
装完打开 http://localhost:9001 就是控制台,9000 是数据端口、9001 是界面端口,别搞混。建桶、传文件、配权限,界面上点一点就完事;想试 S3 Table,建桶的时候把「启用表存储桶」打开,然后接 Spark 或者 DuckDB。
还有一条安全提醒必须说。 官方下载页的注意事项里写着,装完请立即修改 RUSTFS_ACCESS_KEY 和 RUSTFS_SECRET_KEY,禁止使用默认值 rustfsadmin。一个存储服务挂着默认密钥暴露在网上是什么后果,不用多讲。
如果服务跑在 Kubernetes 上,可以用官方 Operator 部署,多租户管理和存储池扩容都能自动化,安装两条命令。
helm repo add operator https://operator.rustfs.com
helm install operator operator/rustfs-operator
装完会起两个 pod,一个是 Operator 自己,一个是它自带的控制台。创建租户提交一个 Tenant 配置就行,比如指定 4 个节点、每个节点 4 块盘,剩下的调度、初始化、部署都交给 Operator。
官网的下载页里 Windows、macOS、Linux 都有对应版本,安装方式也有源码编译、二进制包、Docker、Kubernetes 四条路,按自己的环境选就行。
对象存储这个领域已经很多年没有新玩家发展得这么快了。一年三万 Star,功能和 MinIO 基本对齐,控制台完整免费,S3 Table 这种别人收费的功能也开源了,协议还是 Apache 2.0,商用基本不用操心。
一是 S3 Table 与 MinIO 磁盘格式兼容这两项,官方标的状态都还是预览,别按已发布的功能去规划。
二是要长期跑生产,默认密钥这件事当天就得改掉,容器挂载目录的属主也得先处理。
三是 S3 兼容是「已支持特性范围内的广泛兼容」,不是逐条 100% 对齐,官方有兼容性清单,关键业务切之前值得逐条过一遍。
四是它的快速成长里有相当一部分是 MinIO 让出来的窗口,接下来能不能把窗口变成护城河,还得看后续版本。
MinIO 停止维护之后,这个位置总要有人来填。从现在的功能完成度和社区势头看,RustFS 是最接近的一个。不管有没有替换打算,都可以花点时间装一个试试。
仓库地址是 https://github.com/rustfs/rustfs 。最后交代一句,我没有实际部署过 RustFS,上面的功能描述来自官方 README 与来源正文,来源作者那段 Spark 例子实测是他自己跑的。
欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,“长按”或“扫描”下方二维码噢:

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)