MinIO镜像一夜消失,五天后续上来的这个3.2万star项目救了自建存储的人

admin 2026-09-24 06:07:49 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: MinIO官方镜像从DockerHub消失后,RustFS1.0作为Apache2.0协议、3.2万star的S3兼容存储项目成为替代方案。文章详述了从MinIO迁移的完整路径,包括Docker部署、mcmirror同步迁移流程及生产环境检查清单。关键提醒:磁盘格式兼容仍处预览阶段,加密对象无法互通,迁移需提前规划。建议先在测试环境验证再全面切换。 综合评分: 72 文章分类: 解决方案,安全建设,技术标准


MinIO 镜像一夜消失,五天后续上来的这个 3.2 万 star 项目救了自建存储的人

原创

didiplus didiplus

攻城狮成长日记

2026年9月22日 09:26 广东

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

迁移实战预计阅读 7 分钟 · 共 2793 字

MinIO 镜像一夜消失,五天后续上来的这个 3.2 万 star 项目救了自建存储的人

MinIO 镜像消失后的自建存储救场指南

RustFS#S3 兼容#Apache 2.0

READING PATH

阅读路线

7 个章节

01

接过来几乎没有成本

–

02

但迁移有个坑,别想当然

–

03

最快上手:Docker 单机部署

–

04

嫌麻烦?用官方 compose 或一键脚本

–

05

从 MinIO 迁移,走这条最稳的路

–

06

生产上线前,再叮嘱几句

–

07

自建存储最怕的,是上游说没就没

9月11号那天,一堆自建对象存储的人醒来发现事情不对了。MinIO 的官方镜像从 Docker Hub 消失了,README 改了口,说项目不再维护。你昨天还在跑的 docker compose,今天 pull 不到镜像了。依赖它的业务,每一秒都在裸奔。

换基础设施这事儿,最怕的从来不是不好用,是哪天上游突然不干了。

MinIO 这一出,把很多人的选型清单撕开了一道口子。许可证清不清楚,上游还活不活得下去,原来比功能多不多重要得多。

BREAKING

RustFS 1.0 正式版落地

2025年9月16日 · 五天后的接盘答案

3.2万 star#Apache 2.0#S3 兼容

五天后,9月16号,RustFS 1.0 正式版落地了。  3.2万 star,Apache 2.0 协议。不是那种写着开源、商用还得另谈的许可。时间点卡得太巧,像专门接这波迁移来的。

CHAPTER 01

01接过来几乎没有成本SEAMLESS MIGRATION

业务代码一行不用改

它按 S3 那套接口读写,版本控制、对象锁、服务端加密、生命周期、多租户,标着已可用。你的 AWS SDK、aws cli、各类备份工具,改个 endpoint 和密钥就能接。

很多人看向它,理由很直白:

真正的 Apache 2. 0商用、二次分发、闭源集成都相对清晰,不用再纠结开源但另谈

CHAPTER 02

02但迁移有个坑,别想当然WATCH OUT

从 MinIO 平移,得先看清楚一件事:磁盘格式兼容还在预览阶段,默认构建里没开。两边用 SSE/KMS 加密过的对象,对方读不了。

很多人第一反应是:直接挂同一目录就完事。这步走错,上线那天你才会发现数据搬不过来。

加密对象这一条尤其要命。你以为迁移只是换个进程,实际上对方的加密格式钥匙不通用。提前算进迁移方案,别等切流量了才发现桶是空的。

CHAPTER 03

03最快上手:Docker 单机部署DOCKER DEPLOY

适合开发、测试、小规模自用。先把这个跑起来,比看十篇文档都管用。

01

准备数据目录

容器以非 root 用户 10001 运行,权限要对。

bash

mkdir -p /data/rustfs

chown -R 10001:10001 /data/rustfs

02

启动容器

把下面的 Access Key 和 Secret Key 换成你自己的强密钥,可用 openssl rand -base64 24 生成。

bash

docker run -d \

–name rustfs \

–restart unless-stopped \

-p 9000:9000 \

-p 9001:9001 \

-v /data/rustfs:/data \

-e RUSTFS_ACCESS_KEY=”你的AccessKey” \

-e RUSTFS_SECRET_KEY=”你的SecretKey” \

-e RUSTFS_ADDRESS=”:9000″ \

-e RUSTFS_CONSOLE_ADDRESS=”:9001″ \

-e RUSTFS_CONSOLE_ENABLE=true \

rustfs/rustfs:latest \

/data

03

验证服务

bash

docker ps –filter name=rustfs

curl -f http://localhost:9000/health

浏览器打开 http://服务器IP:9001,用刚才配置的密钥登录控制台,建桶、传文件即可。

S3 API :9000控制台 :9001

04

用 AWS CLI 快速验证

bash

export AWS_ACCESS_KEY_ID=你的AccessKey

export AWS_SECRET_ACCESS_KEY=你的SecretKey

aws –endpoint-url=http://127.0.0.1:9000 s3 mb s3://test-bucket

aws –endpoint-url=http://127.0.0.1:9000 s3 cp ./hello.txt s3://test-bucket/

aws –endpoint-url=http://127.0.0.1:9000 s3 ls s3://test-bucket/

业务侧只需要把原来的 MinIO endpoint 和 AK/SK 换成 RustFS 的,代码通常不用动。

CHAPTER 04

04嫌麻烦?用官方 compose 或一键脚本ONE COMMAND

想更省事,直接拉官方仓库。

bash

git clone https://github.com/rustfs/rustfs.git

cd rustfs

先改环境变量里的 RUSTFS_ACCESS_KEY 和 RUSTFS_SECRET_KEY,别用默认值。

bash

docker compose -f docker-compose-simple.yml up -d

同样访问 http://IP:9001 进控制台。

不想用容器,直接跑在机器上,用一键脚本。

bash

curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh

脚本把二进制装到 /usr/local/bin/rustfs,注册 systemd 服务并启动。默认数据目录一般在 /data/rustfs0,端口 9000 和 9001。安装过程中可按提示改路径和端口。

装完务必改 /etc/default/rustfs 里的密钥,再重启。

bash

systemctl restart rustfs

systemctl status rustfs

CHAPTER 05

05从 MinIO 迁移,走这条最稳的路SAFE MIGRATION

推荐路径,别抄近路

MIGRATION

MinIO → RustFS 迁移流程

1

部署干净实例

新机器或新目录部署一套干净的 RustFS

2

配置 mc 别名

分别为旧 MinIO 和新 RustFS 设置 alias

3

镜像同步

用 mc mirror –preserve 同步桶数据

4

校验切流

校验对象数量,抽样下载对比,切应用 endpoint

5

观察下线

观察一段时间再下线旧集群

bash

mc alias set oldminio http://旧MinIO地址:9000 OLD_AK OLD_SK

mc alias set newrustfs http://新RustFS地址:9000 NEW_AK NEW_SK

mc mirror –preserve oldminio/你的桶 newrustfs/你的桶

校验对象数量,抽样下载对比。切应用 endpoint,观察一段时间再下线旧集群。

原地替换这条路有边界。停 MinIO,用同一数据目录启动 RustFS。只适合盘位拓扑完全一致、且充分 staging 验证过的场景。

加密对象、站点复制、部分高级配置,大概率接不住。生产环境更建议走新建加 mirror。

CHAPTER 06

06生产上线前,再叮嘱几句PRODUCTION CHECKLIST

CHECKLIST

生产环境上线清单

1

改默认密钥

rustfsadmin 只适合本地试玩,上生产前换成强随机密钥

2

修正目录权限

挂载宿主机目录时,务必 chown 10001:10001,权限不对容器起不来

3

配置 TLS

对外暴露建议配 TLS,证书挂进容器,设 RUSTFS_TLS_PATH

4

备份策略

重要数据仍要有备份策略,单机 SNSD 没有跨盘冗余

5

高可用部署

真正高可用走多节点多盘 MNMD

6

防火墙收敛

只开放必要端口,9000、9001,或者你改过的那些

CHAPTER 07

07自建存储最怕的,是上游说没就没CONCLUSION

MinIO 这一出之后,很多自建 S3 的人第一次认真把许可证和上游可持续性写进选型清单。

RustFS 1.0 在这个时间点出现,至少给了大家一个清晰、可落地的备选。

先在测试环境跑起来,用真实业务流量压一压,再决定要不要全面切。接口兼容的前提下,迁移成本往往比想象中低。

GET STARTED

准备好从 MinIO 迁移到 RustFS 了吗?

立即动手跑起来

项目地址:https://github.com/rustfs/rustfs 文档:https://docs.rustfs.com/

你现在的对象存储跑的是什么?

MinIO、自建、还是云厂商的 OSS?评论区聊聊上游说没就没的惊魂时刻

· 点赞 ·

喜欢就点个赞吧

· 转发 ·

分享给更多朋友

· 推荐 ·

推荐给身边的人


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。

本文转载自:攻城狮成长日记 didiplus didiplus《MinIO 镜像一夜消失,五天后续上来的这个 3.2 万 star 项目救了自建存储的人》

评论:0   参与:  0