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

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.

相关推荐
热点推荐
08年新加坡陪读妈妈案:4女1男同住一屋,两个月后,以3死1残收场

08年新加坡陪读妈妈案:4女1男同住一屋,两个月后,以3死1残收场

莫地方
2026-07-02 00:10:59
紫石英号事件直观暴露出实力差距:华野麾下所有炮兵的火力总量相加,竟然比不过英军一艘重型巡洋舰的火力

紫石英号事件直观暴露出实力差距:华野麾下所有炮兵的火力总量相加,竟然比不过英军一艘重型巡洋舰的火力

唠叨说历史
2026-08-04 14:32:49
周星驰《功夫女足》22亿票房直接下线,放弃增收,背后布局藏野心

周星驰《功夫女足》22亿票房直接下线,放弃增收,背后布局藏野心

草莓解说体育
2026-08-06 13:24:25
初中生开窍的顺序,还挺准的!顺序一旦对,成绩自动往上飞

初中生开窍的顺序,还挺准的!顺序一旦对,成绩自动往上飞

好爸育儿
2026-08-07 08:35:25
账上只剩9万5,欠债1941万!40年老牌国货倒在了2026年的夏天

账上只剩9万5,欠债1941万!40年老牌国货倒在了2026年的夏天

品牌观察官
2026-08-07 20:06:15
记者:沃特森团队认为掘金的续约报价缺乏尊重

记者:沃特森团队认为掘金的续约报价缺乏尊重

懂球帝
2026-08-08 07:29:28
河南好演员张春香底裤被扒!民办教师起步,获多个荣誉,幻想破灭

河南好演员张春香底裤被扒!民办教师起步,获多个荣誉,幻想破灭

阿笎评论哥
2026-08-07 12:30:51
严阵以待、全力备战!陈吉宁检查调度台风“白海豚”防御工作

严阵以待、全力备战!陈吉宁检查调度台风“白海豚”防御工作

澎湃新闻
2026-08-07 21:56:28
爆轰波撕裂天空!印度这一炸直接改写高超音速格局,中国要当心了

爆轰波撕裂天空!印度这一炸直接改写高超音速格局,中国要当心了

让你大开眼界
2026-07-29 12:32:15
中国第一2米36巨人鲍喜顺,坚持生娃不听劝,如今儿子长多高?

中国第一2米36巨人鲍喜顺,坚持生娃不听劝,如今儿子长多高?

至死不渝的爱情
2026-07-26 15:54:15
嫁错人太可怕!被前夫公开骂“性欲太强”的她,活成张柏芝对照组

嫁错人太可怕!被前夫公开骂“性欲太强”的她,活成张柏芝对照组

阿讯说天下
2026-08-02 04:31:47
赵松源失点!河床门将两连扑,疯狂庆祝挑衅染黄,金冠成造点

赵松源失点!河床门将两连扑,疯狂庆祝挑衅染黄,金冠成造点

奥拜尔
2026-08-07 21:16:51
5岁孩子开学花了2000美元!美国妈妈把购物袋一字排开,网友越看越懵:这钱到底花哪了?

5岁孩子开学花了2000美元!美国妈妈把购物袋一字排开,网友越看越懵:这钱到底花哪了?

北美省钱快报
2026-08-07 04:09:53
刘伯承晚年南京隐居,许世友发现个奇怪现象:刘帅见到肖永银才笑

刘伯承晚年南京隐居,许世友发现个奇怪现象:刘帅见到肖永银才笑

秋枫凋零
2026-07-17 22:03:59
男孩想把猫送给女同学,猫咪死扒门框不撒手,结局太解气了!

男孩想把猫送给女同学,猫咪死扒门框不撒手,结局太解气了!

Magic宠物社
2026-08-06 18:35:07
没生意还全国乱窜,遭大众抵制的“安徽补漏帮”,究竟有啥猫腻?

没生意还全国乱窜,遭大众抵制的“安徽补漏帮”,究竟有啥猫腻?

最美的笔触
2026-07-26 03:57:52
为什么往死里扫黄?网友分享太真实了,一次说透

为什么往死里扫黄?网友分享太真实了,一次说透

另子维爱读史
2026-05-27 20:16:03
朱女士迎来舆论反噬!网友怒斥,销毁胚胎不是女方要求的吗?对方申请销毁了,那她得知消息,手抖什么呢

朱女士迎来舆论反噬!网友怒斥,销毁胚胎不是女方要求的吗?对方申请销毁了,那她得知消息,手抖什么呢

火山詩话
2026-08-07 13:29:22
2026年下半年:要做好“潮水退却”的准备,房价或将超你想象!

2026年下半年:要做好“潮水退却”的准备,房价或将超你想象!

巢客HOME
2026-08-06 05:25:03
美国打压进口多晶硅,中国驻美使馆回应《环球时报》记者相关问询

美国打压进口多晶硅,中国驻美使馆回应《环球时报》记者相关问询

环球网资讯
2026-08-08 06:40:06
2026-08-08 08:43:00
老冯云数 incentive-icons
老冯云数
数据库老司机,云计算泥石流,PostgreSQL大法师
210文章数 58关注度
往期回顾 全部

科技要闻

突然涨价,"只收电费钱"的梁文锋,变了吗

头条要闻

超360个问题 投资者涌进宇树交流会提问王兴兴

头条要闻

超360个问题 投资者涌进宇树交流会提问王兴兴

体育要闻

去年信誓旦旦3000万 今年NBA查无此人

娱乐要闻

周也热恋结束,六个字暴露单身状态

财经要闻

一枚“回旋镖”,击中王思聪

汽车要闻

越7全球首秀 传祺开始进攻方盒子越野

态度原创

时尚
手机
本地
教育
数码

夏天穿彩色真的很合适,不沉闷、不老套,高级养眼有时尚感

手机要闻

荣耀MagicOS 10 8月更新第二批推送:覆盖Magic7系列等多款机型

本地新闻

课本里的童年,绍兴正上演

教育要闻

初中数学竞赛题,创新性很强

数码要闻

三星发布首款搭载DeepPix技术的ISOCELL HPC图像传感器

无障碍浏览 进入关怀版