跳转到主要内容

兼容性

SILO 能否直接替换 MinIO?按用户影响分为 12 类兼容或改进、4 类轻微差异、8 类需要按条件检查的变化。

普通 S3 应用通常可以不改代码,用 SILO 替换 MinIO。 常用 S3 API、SigV4、SDK 接入方式和对象磁盘布局延续上游;部署、权限及复制状态需要按下列条件检查。因此,SILO 是有条件的 drop-in replacement

核对日期:2026-09-16,发布状态更新于 2026-09-17。 下表汇总分叉以来的源码与配套组件变化;其中的服务端变化已随 Server 20260916 发布,哪些修复不在更早的 Server 20260903 中,以组件版本矩阵为准。24 项是用户场景分类,不是 API 数量、兼容率或故障概率

🟢 兼容或改进:12 类

这些能力在正常用法下无需迁移适配;依赖旧错误行为、混合版本或历史异常状态的情况另列于橙色项。

类别与一句话变化 触发条件 影响范围与操作 详情索引
G01 · 完整 Web 管理控制台
恢复桶、对象、用户、策略和系统的完整 Web 管理。
通过浏览器管理部署。 管理界面增强;普通 S3 应用无需改动。 Console 功能
G02 · 中文界面与文本预览
增加中英双语和有界、安全的文本预览。
切换界面语言或预览文本对象。 影响 Console 使用体验,不改变对象内容。 双语界面文本预览
G03 · 桶级 CORS
原有 CORS 接口开始实际保存和执行逐桶跨域规则。
浏览器跨域访问,并配置了桶级 CORS。 该桶规则覆盖全局 CORS;对象访问仍需授权。 CORS 行为
G04 · 原生健康检查
新增 silo healthcheck 命令,便于容器和运维探测。
主动采用新探针命令。 原有 HTTP 健康端点继续可用。 命令与范围
G05 · 客户端校验和审计
新增 mcli checksum verify,读取对象并核验校验和。
主动运行完整性审计。 只读检查和报告,不修改或修复对象。 审计命令
G06 · 上传与复制校验和修复
合法上传、分片完成和复制更准确地计算、保存及返回校验和。
使用相关上传或复制路径。 改善 SDK 互操作;非法请求的变化见 O04 分片上传S3 修复
G07 · 加密与压缩处理修复
修正 SSE-C、KMS、压缩与复制组合中的数据及逻辑大小处理。
使用这些加密、压缩或复制组合。 改善新请求的正确性;历史损坏不会因此全部自动修复。 SSE-C 与历史对象联邦复制
G08 · 桶配置并发更新修复
桶配置共用元数据锁,防止并发更新互相覆盖。
同时修改策略、生命周期、加密等桶配置。 管理操作更可靠,现有调用方式不变。 共享配置锁
G09 · 标签与对象锁复制修复
复制更准确地保留并排序标签、保留期与锁状态。
使用标签、Object Lock 的复制或修复。 减少状态丢失与旧事件覆盖;混合版本见 O07 标签排序对象锁排序
G10 · 池迁移与数据修复改进
再平衡、退役及修复更准确地处理标签、版本和删除标记。
迁移存储池、执行 heal 或恢复复制。 改善元数据保留与重试;历史异常仍需检查。 多池一致性复制恢复
G11 · 通知与流式推送修复
修正 NATS/AMQP 配置识别,以及通知、Select 等流式响应刷新。
使用相应通知目标或流式接口。 配置与事件输出更准确;旧数据库配置见 O03 通知配置流式响应
G12 · 运行稳定性与资源回收
修复并发采集、缓冲区所有权和连接回收等问题。
并发读写、指标采集或取消请求。 减少相关崩溃与资源问题,不代表所有负载都更快。 读缓冲修复运行与观测

🔵 轻微差异:4 类

普通应用通常无需调整;硬编码产品文案、指标含义或响应字段的工具仍应检查。

类别与一句话变化 触发条件 影响范围与操作 详情索引
B01 · 产品名称与展示标识
横幅、日志、HTTP 产品身份及界面展示改为 SILO。
阅读输出,或按产品名称匹配规则。 展示变化;硬编码名称的脚本需调整,安装变化见 O01 身份变化客户端输出
B02 · 控制台列表改为分页
对象列表按游标加载,排序、筛选和选择作用于当前页。
在 Console 浏览、筛选或批量选择对象。 操作习惯有变化,应用直接调用 S3 的方式不变。 分页边界
B03 · 监控与诊断信息更完整
新增诊断指标,并修正配额、复制等计数或状态含义。
使用对应指标、仪表盘或告警。 原指标命名空间保留;核对相关展示和告警规则。 指标变化Console 指标
B04 · API 返回字段更丰富
部分复制、分片和 Console 响应增加校验和或会话字段。
读取这些 API 的返回结果。 标准客户端通常可处理;拒绝未知字段的解析器见 O05 分片响应复制响应Console API

🟠 按条件检查:8 类

命中条件,就检查对应项。 这里不表示“一定很少发生”:例如部署名称变化影响迁移管理员;定制签名则主要影响自制客户端。

类别与一句话变化 触发条件 影响范围与操作 详情索引
O01 · 安装与启动配置
交付物改名为 silo / mcli,需核对服务、镜像、目录和权限。
从 MinIO 软件包、容器、systemd 或 Helm 迁移。 管理员执行一次部署迁移检查,通常不改业务代码。 容器迁移软件包与账号客户端配置
O02 · 自定义权限策略
改密、永久删除版本及部分桶操作采用修正后的授权规则。
自定义 Allow/Deny、对象 ARN 授权桶操作,或使用来源 IP 条件。 谁能做什么可能变化;验证有效权限和代理信任配置。 密码权限版本删除桶授权代理信任
O03 · 旧认证及通知配置
旧式认证、数据库通知及部分 TLS、环境文件用法需调整或验证。
OIDC HMAC token、旧数据库分散参数、老代理/TLS 或特殊环境文件写法。 可能影响登录、通知或启动;按对应配置迁移。 OIDC 算法通知连接串TLS环境文件
O04 · 依赖旧错误行为的程序
校验、条件、错误码、退出码和列表上限不再沿用部分旧行为。
依赖错误请求成功、忽略 If-Match,或假设分片上传列表一次超过 1,000 条。 检查错误处理、重试、分页与批处理的最终退出码。 校验错误条件删除分片列表CLI 退出码
O05 · 自制客户端与管理工具
私有接口、签名覆盖、Console 自动化及 Go 包路径存在变化。
使用 ReadMultiple、手写签名、严格响应解析、Go 嵌入或定制 Console。 定制集成和编译需单独验证;普通 S3 SDK 不使用私有存储接口。 私有接口签名Console APIGo 模块
O06 · 多池条件操作与新分片模式
多池写删更严格地核实元数据,strict 分片列表另有升级准备要求。
多池条件写、指定版本删除,或显式启用 strict 分片列表。 故障时可能返回 503,即使 GET 仍成功;strict 需升级全部 writer 并排空旧上传,默认仍为 legacy。 多池条件strict 契约
O07 · 跨站复制、混跑和回滚
IAM 撤销与桶配置删除状态要求协调升级和恢复。
多站点、共享 IAM、不同版本混跑或降级恢复。 保留完整恢复点并联测各端;不能假定只换回旧程序即可回滚。 IAM 升级配置收敛回滚边界
O08 · 自更新及上游在线服务
原地自更新、SUBNET 与上游托管支持集成被停用。
使用 admin updatemcli update 或 MinIO 在线支持流程。 改用软件包、镜像或编排器升级;常规 S3 访问不受此项影响。 服务端更新客户端更新SUBNET

比较范围与版本边界

服务端对照的是分叉时的上游源码 27742d4694622025-12-03);常见的上游最后发行版标签日期是 2025-10-15,两者不是同一个比较点。Console、mcli 的各自基线见控制台说明客户端说明。本页覆盖 API、功能、可见行为与运维变化,同一修复可涉及多个场景。

SILO 对上游 MinIO/MC 保持尽最大努力兼容;正式支持和发布验收的组合为 SILO + SILO Console + mcli + silo-pkg。保留协议、环境变量和磁盘布局,不构成任意上游版本混跑或双向降级的承诺。服务端详细审计保留历史基线和逐项说明,组件版本矩阵区分已发布组件与待发布源码。

曾加入后撤回的访问频率池间分层不属于上述 24 类:它不在分叉时的上游功能中,也从未进入任何公开 Server 版本:20260903 早于该特性,20260916 发布前已将其移除。普通生命周期过期、远程分层、再平衡和池退役仍然保留。

准备迁移时,从 O01–O08 筛选与你有关的条件,再按迁移指南执行。

组件版本

SILO 已发布组件、截至 9 月 16 日的主分支修复与协调升级要求。

密码权限迁移

ChangeMyPassword 与 CreateUser 拆分的适用版本、策略迁移与回滚限制。

访问频率分层移除

可选的 GET 频率池分层特性为何被移除、包含该特性的构建如何迁移,以及升级验收证明了什么、没有证明什么。

Silo 与 MinIO 服务端兼容性

经过源码验证的 Silo 服务端分叉兼容性审计:二进制、配置、S3 与管理行为、存储内部协议、软件包、容器与 Helm。

从 MinIO 迁移到 Silo

哪些改变、哪些不变,以及容器部署如何切换。软件包安装见《原生软件包迁移》。

MCLI 客户端兼容性注记

pgsty/mc 的兼容性、行为变化、安装方式与当前版本

原生软件包迁移

silo RPM/DEB 软件包相对 minio 软件包的变化:文件布局、服务账号、接管语义与注意事项。

Console 兼容性注记

SILO Console 与上游 MinIO Console 的差异

特性设计

Silo 在上游 MinIO 之外新增能力的设计笔记——先落笔,再落地。