网易首页 > 网易号 > 正文 申请入驻

Silo 发布:兼容 S3/MinIO 的开源对象存储

0
分享至

半年前,老冯写了一篇《[1]》,讲了开源对象存储项目 MinIO 放弃维护,软件供应链断裂的故事,上了 HN 头条。那篇文章里我立了个 flag:这个摊子我来接。半年过去了,先交个账。

•Docker 镜像累计拉取 50 万次,GitHub 上 1984 Star了;•发了 9 个版本,处理了 14 项安全漏洞,包括一个高危•一批开源项目已经在用,有的直接设成了默认依赖:

RAGFlow 的默认 Compose 编排、Dokploy 的产品模板、Grafana Loki 的 Helm 随附服务、戴尔 HPC 平台 Omnia、 也进入了、nixpkgs 的软件包,DaoCloud 的公共镜像加速,还有几十个中小项目也切换了。


不经意间,这个 Fork 就成为了最有影响力,最活跃的 MinIO 分支了。


当初 Fork MinIO,纯粹是因为 Pigsty 自己要用,得把窟窿补上。补着补着才发现,蹲在这个坑里的人还真是不少。今天写这个,也是因为昨天晚上刚刚发布新版本 RELEASE.2026-08-06T00-00-00Z。 这一版有不少新东西,值得所以说。

完整的改名

在 2 月那篇文章里,我已经提到过这个项目最大的隐患在于商标。因为 MinIO 虽然是一个开源项目,但是开源项目并不带有商标的使用权。

老冯一个人维护了 Pigsty 这么大的项目,放在以前肯定是没有那么多时间去搞重命名这样的事,所以就很懒,直接点了 Fork,打包了一下,名字也懒得改,GitHub 仓库就叫 pgsty/minio。

要是放在以前,这也就是自己给自己用,这倒是无所谓。但是现在,已经有 50 万次下载,这么多知名开源项目把它作为上游了,这让我感觉到这个问题再不解决,那就是在给以后埋雷了。

为什么呢?虽然我在仓库的各个角落都说明 Silo 是独立的社区分支,和 MinIO 公司没有任何关系,但是确实存在这样的可能: 如果 MinIO 用商标来申请 DMCA,把这个 GitHub 的 Docker 仓库给下架掉,那就会直接影响并破坏供应链的完整性。

一个建在别人商标上、随时可能被一封律师函掐断的供应链,本身就是最大的供应链风险。这颗雷得主动拆掉,不能等它响。 所以呢,我就下定决心,正式把项目名字、仓库、二进制和所有涉及到商标与品牌的部分, 彻彻底底的做了一次重命名,从 MinIO 重命名为 Silo 了。

为什么叫Silo

这个分支的名字为什么叫 Silo 呢?说来挺有意思。因为在数据世界里面,Silo 是一个贬义词,代表“数据孤岛”的意思,是数据库和数据仓库极力避免沾染的一个东西。

但是老冯秉持“贱名好养活”的理念。就像我的主项目 pigsty —— 英文含义就是 “猪圈” 和 “脏乱差”,这个意象的联想也很不好,但反正最后也做跑出来了。

而且特别搭配的是 Silo 它还有“谷仓”、“粮仓”的意思,拿来给对象存储命名还是非常贴切。在 Pigsty 宇宙里面,作为 PG 的备份仓库,确实也是一个很好的搭配,


当然,这个名字其实半年前写那篇宣言的时候就已经定好了,只不过这一次,我们是确确实实地把它落地了。 包括 GitHub 仓库名、Docker 仓库名、二进制名、RPM 包、Deb 包名、镜像名,我们都统一修改成了 Silo。

当然,需要明确说明的一点是,我们修改的只是这些品牌和商标。我们不会去动 API、数据存储格式、监控指标、配置参数名称这些东西。 动这些东西,第一,它们不在商标的覆盖范围内;第二,改这些纯属是给用户和自己找不自在。

兼容性:改了什么,没改什么

有人会问:既然是改名,怎么还留着 MINIO_* 环境变量和 /minio/* 路由,是不是没改干净?

MINIO_ROOT_PASSWORD 这个名字属于你的 docker-compose.ymlminio_bucket_usage_total_bytes 属于你的 Grafana 面板和告警规则; .minio.sys 属于你磁盘上那几百 TB 数据。改掉它们,对我来说就是一行命令,但你就得停一次机全量导出导入一遍数据,这笔账都不用算第二遍。

所以改名的原则一句话:改商标与品牌,不改接口与版权


如果你使用的是 RPM/DEB 包,那么可能会多几条命令,因为 FHS,User,二进制的名字确实变化了。 但如果你是用老冯的 Pigsty 来通过 Ansible 部署 Silo 的话,这些部署层面的复杂度也都封装好了,其实对用户也没啥区别。


除了改名,这一版还有四件事值得单独说:控制台、安全、网站,以及一份宣言。

控制台:会说中文了

2025年5月,上游把完整管理控制台从社区版里砍成了残桩,只留一个残废的对象浏览器。今年2月我把它接了回来,但说实话,接回来的东西挺糙:界面陈旧,仪表盘查的还是早就不存在的指标。这次修了三样。

第一,它会说中文了。

对象存储的运维使用者里,相当一部分人第一语言是中文,而这套界面从来只有英文。新版把它变成了双语,所有页面、帮助条目、文档链接全覆盖,切换按钮就在每页页头。


而且呢,一旦这条路跑通以后,你要想加其他语言的 i18n 也很容易。目前来说只做了中文,而且添加中文支持的同时,我们也优化了这个界面,把图片和图标都换成了 SVG 矢量图,提前压缩了资源。 这样一来,原来的 10MB 嵌入式控制台大小被压缩到不到 3MB,尺寸大小反而大幅缩小了

第二,仪表盘读的是真指标了。

之前那个控制台仪表盘查的是 MinIO Metrics V2,现在 MinIO 和 Silo 的指标已经到 V3 了,这次我们也给升级了。 而且有几个本来就已经坏掉的面板,下午我们也都一起修掉了,也把整个界面美化了一下


第三,把没用的东西给阉了。


顺手把 SUBNET ,License 管理,遥测之类乱七八糟的东西都清理干净了。

安全:一个 9.1 分的漏洞,但没有 CVE

这一轮一共修了六个安全问题,每一个都在安全编年史[3]里一事一文写清楚了,这里只说一句话版本:

节点间路径穿越:分布式集群的内部通信协议上,一批可以逃出磁盘目录的路径操作;•对象授权越界到桶:一个尾斜杠,让本该只管对象的 bucket/* 授权够到了桶级操作,租户能把自己的桶设成匿名公网可读写;•策略条件被客户端遮蔽:客户端传上来的参数,能覆盖服务端自己算出来的鉴权条件值;•重复分片编号:上传一个 5 MiB 的分片,用 [1,1] 提交,服务端返回 200 和一个 10 MiB 的对象;•来源地址可伪造aws:SourceIp 策略和审计日志里的客户端 IP,对能直连 API 端口的人来说想写什么写什么;•通知配置键没注册:一条坏掉的 NATS 配置,能把 Kafka、Webhook、MQTT 所有通知一起无声关停。

其中第一条要单独拎出来说。

6 月我们修过上游的 CVE-2026-42600,一个内部端点的路径穿越,官方评分 4.9。修完我在公告结尾留了句话:删掉这个端点只证明这个端点没了,不等于同类问题已经查干净。8 月初我发现这不仅仅是一个小漏洞,影响范围要更大。

严重程度完全不是一个量级。攻击者可以在磁盘目录之外任意写文件,可以把存着 IAM 与配置的系统卷整个搬进一个能读的桶里,可以递归删掉整棵目录树,也可以用一条请求把进程打崩。按 CVSS 3.1 评估,最严重那条能到 9.1 分,而上游那条是 4.9。

但这次拿不到 CVE 编号。 CVE 流程需要一个受影响产品的维护方来认领、协调披露,而 minio/minio 已经归档只读,那边没人了。所以只能自己修、自己公告、自己把话说清楚。仓库归档最现实的代价就在这儿:漏洞不会因为仓库变成只读就消失,它只是从此没有人负责了。

范围要讲明白:这些路由只在分布式纠删部署里注册,且需要 cluster root 或节点间凭据,单机部署不受影响。但如果你在跑分布式 MinIO,节点间网络又不是完全可信的,请尽快升级,或者迁移到 Silo。

完整的威胁模型、复现向量、修复方案,以及我们自己在修的过程中踩的坑,都写在这篇公告[4]里了。

此外,我们还修了不少安全问题,而且会把过程中的思考,决策都沉淀成文档记录,细节都放在官网网站上了。


网站:silo.pgsty.com

以前这个 Fork 的主页非常简陋,就是 Github README 上几句话,没了。


这两天,老冯用 Fable 搓了一个完整网站出来,包括好几个栏目,文档,博客,下载,中英双语,看上去一下子就挺像那么回事了:




Silo 宣言

网站上还有一个专门的页面,叫《Silo 宣言[11]》,十一条。

说实话我一开始挺犹豫要不要写这玩意。“宣言”两个字自带一股中二气,而且开源世界最不缺的就是承诺,尤其是那些后来一条都没兑现的承诺。 MinIO 自己的 SECURITY.md 到今天还写着“我们总会为最新版本提供安全更新”,而仓库已经归档半年了。

所以我给这一页立了条纪律:这里的每一条,要么是我们已经在做、且有公开证据的事实;要么是我们刻意拒绝承诺的事。

一个兑现不了的承诺,比没有承诺更糟。按这条纪律筛完,剩下的东西大概是这样:

第一条是退场条款。 Fork 是手段,不是身份。若上游恢复对社区版的承诺,我们乐见其成,愿意收缩范围,并把我们的修复回馈上游。

第三条是许可证。 永远 AGPLv3,没有 CLA,版权保留在每位贡献者手里,所以重新授权在结构上就不可能。顺带表个态:我们认为通过 S3 API 使用 Silo 不构成衍生作品,许可证永远不会被拿来当威胁或者销售工具用。上游当年正是这么用它的。

第五条是“永不清单”。 不把既有功能移进付费墙、不给下载设注册墙、不加遥测(上游那些回连路径是被整体移除的,不是默认关闭)、不引入 CLA、不变更许可证、不以商标追究正常使用与描述性提及。这份清单只增不减,条目可以补充,永远不能删除。

第九条是延续性,也是我认为最该有人追问的一条:仓库归属 pgsty 组织而非个人账号;构建过程完整文档化并附溯源证明,任何人都能在没有我们的情况下从源码重建等价制品;万一项目停止积极维护超过六个月,我们会公开声明并妥善归档,而不是让它慢慢烂掉。

第十一条管的是这页纸自己。 增补与加强即时生效,削弱或删除任何一条,须提前九十天公示。


还有件事,首页 FAQ 里写了,这里再说一次:Coding Agent 是这个项目功能开发与代码 Review 的主力。

上一篇《续命 MinIO:承诺兑现[12]》里我讲过 Blind Manager 那套打法,Codex 打铁、Claude Code 站在对抗视角挑毛病、来回收敛、我看 diff 拍板。这一版还是这么干的,只是规模大了不少:28 个提交、396 个文件、六阶段发布前验收。

配套的承诺是:每个变更都必须过 CI 和人工审核,所有建设性变更都要经过人类的利弊权衡才会合入;Agent 的完整思考记录归档留存,它们做过的权衡会作为设计文档保留下来。你在安全编年史里读到的那些“被否决的方案”“我们自己制造的四次回归”,就是这套记录的公开产出。

我不打算把 AI 藏起来假装这是纯手工,那是不可能的,而且也不会更好 —— 这就是 2026 年一个人维护一个中型基础设施项目的真实样子,藏着才是不诚实。

拿去用

旧的 pgsty/minio 仓库与镜像保持已发布状态,冻结在 RELEASE.2026-08-04 作为存档,不会删除。但后续所有更新只在 pgsty/silo 上发布。


References

[1] MinIO 已死,MinIO 复生: /db/minio-resurrect
[2] silo.pgsty.com: https://silo.pgsty.com/zh/
[3] 安全编年史: https://silo.pgsty.com/zh/blog/security/
[4] 这篇公告: https://silo.pgsty.com/zh/blog/security/internode-path-containment/
[5] 发布说明: https://silo.pgsty.com/zh/blog/release/
[6] 安全编年史: https://silo.pgsty.com/zh/blog/security/
[7] 兼容性审计: https://silo.pgsty.com/zh/compatibility/
[8] Docker 迁移: https://silo.pgsty.com/zh/compatibility/migration/
[9] 原生软件包迁移: https://silo.pgsty.com/zh/compatibility/binary/
[10] 下载页: https://silo.pgsty.com/zh/download/
[11] Silo 宣言: https://silo.pgsty.com/zh/about/manifesto/
[12] 续命 MinIO:承诺兑现: /db/minio-promise-kept
[13] GitHub Releases: https://github.com/pgsty/silo/releases
[14] github.com/pgsty/silo: https://github.com/pgsty/silo
[15] silo.pgsty.com/zh: https://silo.pgsty.com/zh/
[16] silo.pgsty.com: https://silo.pgsty.com/
[17] 从 MinIO 迁移到 Silo: https://silo.pgsty.com/zh/compatibility/migration/
[18] Pigsty MinIO 模块: https://pigsty.cc/docs/minio/
[19] MinIO 已死: /db/minio-is-dead
[20] MinIO 已死,谁能接盘?: /db/minio-alternative
[21] MinIO 已死,MinIO 复生: /db/minio-resurrect
[22] 续命 MinIO:承诺兑现: /db/minio-promise-kept
[23] Silo 20260806 发布说明: https://silo.pgsty.com/zh/blog/release/silo-20260806/
[24] Silo 宣言: https://silo.pgsty.com/zh/about/manifesto/

数据库老司机

点一个关注 ⭐️,精彩不迷路

对 PostgreSQL, Pigsty,下云,AI 感兴趣的朋友

欢迎加入 PGSQL x Pigsty 交流群 QQ 619377403

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
“瓶盖大王”切入液冷风口,收获10天4个涨停板

“瓶盖大王”切入液冷风口,收获10天4个涨停板

和讯网
2026-09-06 11:35:03
银行催你换三代社保卡?内部员工坦白 3 个真话,别再被套路了

银行催你换三代社保卡?内部员工坦白 3 个真话,别再被套路了

娱乐圈见解说
2026-09-05 03:26:57
普京明确表示:乌克兰武装部队每月损失8000至1.2万人;乌克兰最高拉达(议会)议员公开表示:乌克兰女性大规模服役只是时间问题

普京明确表示:乌克兰武装部队每月损失8000至1.2万人;乌克兰最高拉达(议会)议员公开表示:乌克兰女性大规模服役只是时间问题

吉刻新闻
2026-09-05 11:42:26
决不放过,空军少将刚出家门就被乱枪打成筛子,4名警卫又怎样?

决不放过,空军少将刚出家门就被乱枪打成筛子,4名警卫又怎样?

聚峰军评
2026-09-05 10:40:37
古埃及法老乱伦,为何不觉得违背伦理?甚至觉得:一般人是没机会

古埃及法老乱伦,为何不觉得违背伦理?甚至觉得:一般人是没机会

墨策史
2026-08-11 20:21:55
“养条狗都比你强!”老公主在雨中崩溃痛哭,评论区里没有一点同情!

“养条狗都比你强!”老公主在雨中崩溃痛哭,评论区里没有一点同情!

林林先生
2026-09-03 11:14:07
工地男子扛蛇皮袋坐软卧被乘客举报,乘警检查后,全车人集体起立

工地男子扛蛇皮袋坐软卧被乘客举报,乘警检查后,全车人集体起立

悬案解密档案
2025-07-14 16:42:58
太可恶!男子随身携带剪刀,在上海医院专挑幼童下手!恶行不止一起……已被警方刑拘

太可恶!男子随身携带剪刀,在上海医院专挑幼童下手!恶行不止一起……已被警方刑拘

新民晚报
2026-09-06 11:03:04
黄磊首度回应“做饭难吃,豆角没熟”梗,并谈及不再录制《向往的生活》

黄磊首度回应“做饭难吃,豆角没熟”梗,并谈及不再录制《向往的生活》

天津美食全搜罗
2026-09-04 07:04:20
中央5台直播女篮世界杯时间表:9月6日,CCTV5直播中国PK捷克

中央5台直播女篮世界杯时间表:9月6日,CCTV5直播中国PK捷克

薇说体育
2026-09-06 11:29:44
科大讯飞出轨女主更多照片曝光:她长得娇小可爱,丈夫应该再给她一次机会

科大讯飞出轨女主更多照片曝光:她长得娇小可爱,丈夫应该再给她一次机会

汉史趣闻
2026-09-01 13:47:29
“100%椰子水”大翻车!配料表仅有“椰子水” 却检出山梨酸及钾盐

“100%椰子水”大翻车!配料表仅有“椰子水” 却检出山梨酸及钾盐

闪电新闻
2026-09-05 11:21:22
上海交大:在血常规检查中,这6项数值异常,可能是“肿瘤”信号

上海交大:在血常规检查中,这6项数值异常,可能是“肿瘤”信号

健康科普365
2026-09-06 11:30:21
地产首富,落幕!

地产首富,落幕!

新浪财经
2026-09-06 11:30:29
武则天第一次临幸“和尚”后,为何会激动不已?

武则天第一次临幸“和尚”后,为何会激动不已?

文史道
2026-08-10 22:36:24
一位字节员工吐槽:外人一听年薪60万,下意识就换算成月薪5万。实际上,基本工资可能还不到一半,剩下的是年终奖、季度奖、股票,还有税

一位字节员工吐槽:外人一听年薪60万,下意识就换算成月薪5万。实际上,基本工资可能还不到一半,剩下的是年终奖、季度奖、股票,还有税

纯洁的微笑
2026-09-05 12:13:47
如果当年不搞计划生育,今天的中国会有20亿人吗?

如果当年不搞计划生育,今天的中国会有20亿人吗?

贱议你读史
2026-09-05 02:12:31
丰田新车官宣:9月21日,正式上市

丰田新车官宣:9月21日,正式上市

科技堡垒
2026-09-06 11:39:30
越南以《旧金山和约》声索西沙主权,该怎么驳斥他们?

越南以《旧金山和约》声索西沙主权,该怎么驳斥他们?

小陆搞笑日常
2026-09-06 05:26:59
特斯拉中国宣布新优惠,但这要求确实过分啊!

特斯拉中国宣布新优惠,但这要求确实过分啊!

XCiOS俱乐部
2026-09-05 20:05:02
2026-09-06 14:27:00
老冯云数 incentive-icons
老冯云数
数据库老司机,云计算泥石流,PostgreSQL大法师
232文章数 62关注度
往期回顾 全部

科技要闻

DeepSeek被曝将采购16万颗华为昇腾950DT

头条要闻

美媒炒作中国成"孤家寡人" 数天后美国成"唯一反对方"

头条要闻

美媒炒作中国成"孤家寡人" 数天后美国成"唯一反对方"

体育要闻

本西蒙斯加盟国王,不管怎样,回来就好

娱乐要闻

低调富养!郭富城两女儿入读香港名校

财经要闻

亏损高达200亿,昔日彩电霸主走下巅峰!

汽车要闻

带升降立标MPV 岚图梦想家9预售价42.99万起

态度原创

教育
时尚
数码
手机
军事航空

教育要闻

日常英语:进错厕所了,很尴尬

金秋最流行的鞋子,“红色”更时髦!

数码要闻

首次亮相IFA,小米洗衣机即获欧洲最高能效

手机要闻

飞傲预热全球首款便携安卓数字转盘DT11,零售价预计2000元左右

军事要闻

美伊互袭油轮 伊朗军方称或对美进行更大规模打击

无障碍浏览 进入关怀版