# 兼容性

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

---

LLMS 索引： [llms.txt](/zh/llms.txt)

---

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


- [🟢 12 类：兼容或改进](#compatible) — 正常用法无需适配，获得新增能力或正确性修复。
- [🔵 4 类：轻微差异](#minor) — 主要影响展示、界面操作和返回信息，通常不改业务代码。
- [🟠 8 类：按条件检查](#conditional) — 命中触发条件时，需要验证或调整部署、策略、工具及升级流程。


**当前发布基线为 20261109。** 请先阅读 [20261109 升级要求](/zh/blog/release/silo-20261109/#upgrade)，核对 batch 记录边界、锁域升级、混合版本恢复与 S3 就绪检查。本页汇总分叉以来的源码与配套组件变化，标明各项修复首次发布的版本。当前组件组合与旧版缺失的修复见[组件版本矩阵](/zh/compatibility/versions/)。

## 20261109 正式版变化 {#maintenance-20261109}

[Server 20261109](/zh/compatibility/server/#maintenance-20261109) 协同交付多池生命周期过期与两阶段原生归档恢复，在 S3 `DeleteObjects` 批量删除及目标端复制 `DELETE` 中强制核查跨池 Object Lock，将 batch 作业绑定到提交者实时权限并引入版本化清单门禁，直接基于持久化记录执行 IAM 变更，并对齐单池纠删集锁域。本批次同步发布 Helm chart `7.0.4`，对齐 `-distroless` 镜像的 UBI CA 信任库，内嵌 [Console 2.7.0](/zh/compatibility/console/#release-270)（十种界面语言与阿拉伯语 RTL、用量后台任务 TLS／预算／停机修复，以及容器 CA 与 `/tmp` 支持），并配套 [mcli 20261109](/zh/compatibility/mcli/#release-20261109)（dry-run、搬移保护、CORS 与 region 修复）。

## 20261026 正式版变化 {#maintenance-20261026}

[Server 20261026](/zh/compatibility/server/#maintenance-20261026)合入了 LDAP 长 DN 登录、内置策略 Reset、实时桶清单、版本桶生命周期过期、分片复制及多池删除修复。读仲裁与自愈策略保持不变；租约失效、部分元数据更新与存量不一致对象的边界详见[组件版本矩阵](/zh/compatibility/versions/#server-20261026)。

## 20261018 正式发布 {#october-2026}

[Server 20261026](/zh/blog/release/silo-20261026/)保留 [20261018](/zh/blog/release/silo-20261018/) 已交付的修复。升级检查包括 Object Lock、IAM 管理凭据授权、普通 LIST 恢复、strict 分片列表退役及 OIDC/JWK 密钥限制，见[服务端兼容性](/zh/compatibility/server/#october-2026)。下方列出的 strict 前提仅适用于 Server 20260916 的可选模式。


## 🟢 兼容或改进：12 类 {#compatible}

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

| 类别与一句话变化                                                                                                                                      | 触发条件                               | 影响范围与操作                                     | 详情索引                                                                                                              |
| ----------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| <span id="g01"></span>**G01 · 完整 Web 管理控制台**<br>恢复桶、对象、用户、策略和系统的完整 Web 管理。                                                | 通过浏览器管理部署。                   | 管理界面增强；普通 S3 应用无需改动。               | [Console 功能](/zh/compatibility/console/#scope)                                                                      |
| <span id="g02"></span>**G02 · 十种界面语言与文本预览**<br>提供十种界面语言（Console 2.7.0／Server 20261109 支持阿拉伯语 RTL）和有界、安全的文本预览。 | 切换界面语言或预览文本对象。           | 影响 Console 使用体验，不改变对象内容。            | [界面语言](/zh/compatibility/console/#i18n)、[文本预览](/zh/blog/design/console-text-preview/)                        |
| <span id="g03"></span>**G03 · 桶级 CORS**<br>原有 CORS 接口开始实际保存和执行逐桶跨域规则。                                                           | 浏览器跨域访问，并配置了桶级 CORS。    | 该桶规则覆盖全局 CORS；对象访问仍需授权。          | [CORS 行为](/zh/blog/release/silo-20260903/#cors-trust)                                                               |
| <span id="g04"></span>**G04 · 原生健康检查**<br>新增 `silo healthcheck` 命令，便于容器和运维探测。                                                    | 主动采用新探针命令。                   | 原有 HTTP 健康端点继续可用。                       | [命令与范围](/zh/compatibility/feature/healthcheck/#command)                                                          |
| <span id="g05"></span>**G05 · 客户端校验和审计**<br>新增 `mcli checksum verify`，读取对象并核验校验和。                                               | 主动运行完整性审计。                   | 只读检查和报告，不修改或修复对象。                 | [审计命令](/zh/reference/minio-mc/mc-checksum-verify/#command-mc.checksum.verify)                                     |
| <span id="g06"></span>**G06 · 上传与复制校验和修复**<br>合法上传、分片完成和复制更准确地计算、保存及返回校验和。                                      | 使用相关上传或复制路径。               | 改善 SDK 互操作；非法请求的变化见 [O04](#o04)。    | [分片上传](/zh/blog/design/uploadpart-checksum/#decision)、[S3 修复](/zh/blog/release/silo-20260903/#s3-correctness)  |
| <span id="g07"></span>**G07 · 加密与压缩处理修复**<br>修正 SSE-C、KMS、压缩与复制组合中的数据及逻辑大小处理。                                         | 使用这些加密、压缩或复制组合。         | 修正新请求，不修改存量对象。                       | [SSE-C 与历史对象](/zh/blog/design/ssec-replica-integrity/)、[联邦复制](/zh/blog/design/federated-copy-object/)       |
| <span id="g08"></span>**G08 · 桶配置并发更新修复**<br>桶配置共用元数据锁，防止并发更新互相覆盖。                                                      | 同时修改策略、生命周期、加密等桶配置。 | 管理操作更可靠，现有调用方式不变。                 | [共享配置锁](/zh/blog/release/silo-20260903/#bucket-metadata)                                                         |
| <span id="g09"></span>**G09 · 标签与对象锁复制修复**<br>复制更准确地保留并排序标签、保留期与锁状态。                                                  | 使用标签、Object Lock 的复制或修复。   | 减少状态丢失与旧事件覆盖；混合版本见 [O07](#o07)。 | [标签排序](/zh/blog/design/replicated-tag-ordering/)、[对象锁排序](/zh/blog/design/object-lock-replication-ordering/) |
| <span id="g10"></span>**G10 · 池迁移与数据修复改进**<br>再平衡、退役及修复更准确地处理标签、版本和删除标记。                                          | 迁移存储池、执行 heal 或恢复复制。     | 改善元数据保留与重试；历史异常仍需检查。           | [多池一致性](/zh/blog/design/multi-pool-object-consistency/)、[复制恢复](/zh/blog/design/replication-reliability/)    |
| <span id="g11"></span>**G11 · 通知与流式推送修复**<br>修正 NATS/AMQP 配置识别，以及通知、Select 等流式响应刷新。                                      | 使用相应通知目标或流式接口。           | 配置与事件输出更准确；旧数据库配置见 [O03](#o03)。 | [通知配置](/zh/compatibility/server/#notify-audit)、[流式响应](/zh/compatibility/server/#s3-behavior)                 |
| <span id="g12"></span>**G12 · 运行稳定性与资源回收**<br>修复并发采集、缓冲区所有权和连接回收等问题。                                                  | 并发读写、指标采集或取消请求。         | 消除相关崩溃与资源泄漏。                           | [读缓冲修复](/zh/compatibility/server/#s3-behavior)、[运行与观测](/zh/compatibility/server/#observability)            |
{.silo-compatibility-table .wide .expand}

## 🔵 轻微差异：4 类 {#minor}

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

| 类别与一句话变化                                                                                          | 触发条件                              | 影响范围与操作                                             | 详情索引                                                                                                                                                                                   |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <span id="b01"></span>**B01 · 产品名称与展示标识**<br>横幅、日志、HTTP 产品身份及界面展示改为 SILO。      | 阅读输出，或按产品名称匹配规则。      | 展示变化；硬编码名称的脚本需调整，安装变化见 [O01](#o01)。 | [身份变化](/zh/compatibility/server/#identity)、[客户端输出](/zh/compatibility/mcli/#identity)                                                                                             |
| <span id="b02"></span>**B02 · 控制台列表改为分页**<br>对象列表按游标加载，排序、筛选和选择作用于当前页。  | 在 Console 浏览、筛选或批量选择对象。 | 操作习惯有变化，应用直接调用 S3 的方式不变。               | [分页边界](/zh/compatibility/console/#pagination)                                                                                                                                          |
| <span id="b03"></span>**B03 · 监控与诊断信息更完整**<br>新增诊断指标，并修正配额、复制等计数或状态含义。  | 使用对应指标、仪表盘或告警。          | 原指标命名空间保留；核对相关展示和告警规则。               | [指标变化](/zh/compatibility/server/#observability)、[Console 指标](/zh/compatibility/console/#metrics)                                                                                    |
| <span id="b04"></span>**B04 · API 返回字段更丰富**<br>部分复制、分片和 Console 响应增加校验和或会话字段。 | 读取这些 API 的返回结果。             | 标准客户端通常可处理；拒绝未知字段的解析器见 [O05](#o05)。 | [分片响应](/zh/blog/design/complete-multipart-checksum-type/)、[复制响应](/zh/blog/design/copyobject-ssec-checksum-response/#impact)、[Console API](/zh/compatibility/console/#api-output) |
{.silo-compatibility-table .wide .expand}

## 🟠 按条件检查：8 类 {#conditional}

**命中条件，就检查对应项。**

| 类别与一句话变化                                                                                                                                          | 触发条件                                                                                                                                                                                                                                                                     | 影响范围与操作                                                                                                                                                                          | 详情索引                                                                                                                                                                                                                                                                                                |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <span id="o01"></span>**O01 · 安装与启动配置**<br>交付物改名为 `silo` / `mcli`，需核对服务、镜像、目录和权限。                                            | 从 MinIO 软件包、容器、systemd 或 Helm 迁移。                                                                                                                                                                                                                                | 管理员执行一次部署迁移检查，通常不改业务代码。                                                                                                                                          | [容器迁移](/zh/compatibility/migration/#docker)、[软件包与账号](/zh/compatibility/binary/#layout)、[客户端配置](/zh/compatibility/mcli/#naming)                                                                                                                                                         |
| <span id="o02"></span>**O02 · 自定义权限策略**<br>改密、永久删除版本、桶写操作及绑定提交者的 batch 作业（20261109）采用修正后的授权规则。                 | 自定义 Allow/Deny、对象 ARN 授权桶操作、batch 作业或使用来源 IP 条件。                                                                                                                                                                                                       | 有效权限可能变化；验证策略、batch 提交者权限与代理信任配置。                                                                                                                            | [密码权限](/zh/compatibility/password-permissions/#migration)、[版本删除](/zh/compatibility/migration/#since-20260806)、[桶授权](/zh/blog/security/object-grant-bucket-reach/)、[Batch 授权](/zh/administration/batch-framework/#silo-lifecycle)、[代理信任](/zh/compatibility/server/#trusted-proxies) |
| <span id="o03"></span>**O03 · 旧认证及通知配置**<br>旧式认证、数据库通知及部分 TLS、环境文件用法需调整或验证。                                            | OIDC HMAC token、旧数据库分散参数、老代理/TLS 或特殊环境文件写法。                                                                                                                                                                                                           | 可能影响登录、通知或启动；按对应配置迁移。                                                                                                                                              | [OIDC 算法](/zh/compatibility/server/#auth-iam)、[通知连接串](/zh/blog/design/notify-url/#operator-remediation)、[TLS](/zh/blog/design/go127-tls-oidc-discovery/)、[环境文件](/zh/blog/design/config-env-file/#compatibility)                                                                           |
| <span id="o04"></span>**O04 · 依赖旧错误行为的程序**<br>校验、条件、错误码、退出码和列表上限不再沿用部分旧行为。                                          | 依赖错误请求成功、忽略 `If-Match`，或启用 Server 20260916 strict 模式后仍假设分片列表一次超过 1,000 条。                                                                                                                                                                     | 检查错误处理、重试、分页与批处理的最终退出码。                                                                                                                                          | [校验错误](/zh/blog/design/complete-multipart-checksum-errors/#impact)、[条件删除](/zh/blog/design/conditional-delete/)、[分片列表](/zh/blog/design/list-multipart-uploads/#implementation-20260916)、[CLI 退出码](/zh/compatibility/mcli/#current-release)                                             |
| <span id="o05"></span>**O05 · 自制客户端与管理工具**<br>私有接口、签名覆盖、Console 自动化及 Go 包路径存在变化。                                          | 使用 `ReadMultiple`、手写签名、严格响应解析、Go 嵌入或定制 Console。                                                                                                                                                                                                         | 定制集成和编译需单独验证；普通 S3 SDK 不使用私有存储接口。                                                                                                                              | [私有接口](/zh/compatibility/server/#storage-rest)、[签名](/zh/blog/design/signed-header-coverage/#impact)、[Console API](/zh/compatibility/console/#api-output)、[Go 模块](/zh/compatibility/server/#source-compatibility)                                                                             |
| <span id="o06"></span>**O06 · 多池操作与 strict 分片模式退役**<br>多池写删、生命周期过期及批量版本清除核实元数据；20260916 的可选 strict 列表模式已退役。 | 多池条件写（含 `CreateMultipartUpload` [#292](https://github.com/pgsty/silo/pull/292)）、ILM 过期（[#278](https://github.com/pgsty/silo/pull/278)）、带锁 `DeleteObjects`（[`6ef3a52fc`](https://github.com/pgsty/silo/commit/6ef3a52fc)），或升级曾启用 strict 列表的部署。 | 池元数据不可读时可能返回 `503`（即使 `GET` 仍成功），且 20261109 带锁桶批量删版本改为顺序执行；Server 20261018 及后续版本忽略 strict 开关并警告，不提供持久列表与严格取消。             | [多池条件](/zh/blog/design/multi-pool-object-consistency/#conditions)、[多池生命周期](/zh/blog/design/multi-pool-lifecycle-expiry/)、[当前分片契约](/zh/blog/design/list-multipart-uploads/#decision-20261018)                                                                                          |
| <span id="o07"></span>**O07 · 跨站复制、混跑和回滚**<br>IAM 撤销、桶配置墓碑、锁域、归档恢复与 batch 记录要求协调升级与恢复。                             | 多站点、共享 IAM、18 台及以上主机的单池布局、运行中的恢复／batch 作业、版本混跑或降级恢复。                                                                                                                                                                                  | 18 台及以上主机单池集群升至 20261109 前须排空并停齐旧进程；混合版本期间 `POST ?restore` 返回 `503`；20261026 拒绝绑定提交者的 v2 batch 清单。回滚前保留完整恢复点并同步恢复所有参与端。 | [IAM 升级](/zh/operations/replication/iam-upgrade/)、[配置收敛](/zh/blog/design/bucket-metadata-convergence/#rollout)、[Batch 升级](/zh/administration/batch-framework/#upgrade-20261109)、[回滚边界](/zh/compatibility/migration/#rollback)                                                            |
| <span id="o08"></span>**O08 · 自更新及上游在线服务**<br>原地自更新、SUBNET 与上游托管支持集成被停用。                                                     | 使用 `admin update`、`mcli update` 或 MinIO 在线支持流程。                                                                                                                                                                                                                   | 改用软件包、镜像或编排器升级；常规 S3 访问不受此项影响。                                                                                                                                | [服务端更新](/zh/compatibility/server/#offline-services)、[客户端更新](/zh/compatibility/mcli/#self-update)、[SUBNET](/zh/compatibility/mcli/#subnet)                                                                                                                                                   |
{.silo-compatibility-table .wide .expand}

## 比较范围与版本边界 {#scope}

服务端对照的是分叉时的上游源码 [`27742d469462`](https://github.com/minio/minio/commit/27742d469462e1561c776f88ca7a1f26816d69e2)（**2025-12-03**，位于 **2025-10-15** 上游最后正式发行版标签之后）。Console、mcli 的各自基线见[控制台说明](/zh/compatibility/console/)与[客户端说明](/zh/compatibility/mcli/)。本页覆盖 API、功能、可见行为与运维变化，同一修复可涉及多个场景。

SILO 对上游 MinIO/MC 保持**尽最大努力兼容**；正式支持和发布验收的组合为 **SILO + SILO Console + mcli + silo-pkg**。保留协议、环境变量和磁盘布局，不构成任意上游版本混跑或双向降级的承诺。[服务端详细审计](/zh/compatibility/server/)保留历史基线和逐项说明，[组件版本矩阵](/zh/compatibility/versions/)列出全栈已发布组件版本。

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

准备迁移时，从 [O01–O08](#conditional) 筛选与你有关的条件，再按[迁移指南](/zh/compatibility/migration/)执行。

---

本节页面：

- [组件版本](/zh/compatibility/versions/): SILO 20261109 正式发布组件、Console 2.7.0、mcli 20261109、silo-pkg 3.16.0、KES 20261026 与升级边界。
- [密码权限迁移](/zh/compatibility/password-permissions/): ChangeMyPassword 与 CreateUser 拆分的适用版本、策略迁移与回滚限制。
- [访问频率分层移除](/zh/compatibility/access-tiering-removal/): 可选的 GET 频率池分层特性为何被移除，以及包含该特性的中间构建如何迁移。
- [Silo 与 MinIO 服务端兼容性](/zh/compatibility/server/): 经过源码验证的 Silo 服务端分叉兼容性审计：二进制、配置、S3 与管理行为、存储内部协议、软件包、容器与 Helm。
- [从 MinIO 迁移到 Silo](/zh/compatibility/migration/): 单节点迁移案例、一致性备份、容器切换、数据验证与恢复边界。
- [MCLI 客户端兼容性注记](/zh/compatibility/mcli/): pgsty/mc 的兼容性、行为变化、安装方式与当前版本
- [原生软件包迁移](/zh/compatibility/binary/): silo RPM/DEB 软件包相对 minio 软件包的变化：文件布局、服务账号、接管语义与注意事项。
- [Console 兼容性注记](/zh/compatibility/console/): SILO Console 与上游 MinIO Console 的差异
- [特性设计](/zh/compatibility/feature/): Silo 在上游 MinIO 之外新增能力的设计笔记——先落笔，再落地。
