定义
MinIO 是一套软件定义的对象存储系统,采用 Go 语言写成,对外提供与亚马逊 S3 兼容的 API 接口。[1] 所谓对象存储,是指把数据连同其元数据作为一个不可分割的对象整体保存,而不是像传统文件系统那样以目录层级来组织;对象以存储桶作为最上层容器进行归类。[3] MinIO 能够处理图片、音视频、日志、备份以及容器镜像等非结构化数据,其设计目标之一是让存储可以直接被应用程序编程调用,而不必由存储管理员介入中间环节。
原理
MinIO 的存储栈主要由三部分组成:MinIO 服务器负责提供对象存储服务,MinIO 客户端(mc)是用于对象与文件管理的命令行工具,另有客户端 SDK 供开发者在应用程序中调用 S3 兼容服务。[1] 命令行的用法与常见的 UNIX 命令相近,支持类似 ls、cp、mirror、diff 的操作,并可在 Linux、macOS 与 Windows 上运行。[1]
在数据保护方面,所有 MinIO 部署都采用擦除码后端,使用里德-所罗门码把对象切分为数据块与校验块,冗余程度可由用户配置。[4] 在最大校验块为驱动器总数一半的配置下,只要仍有多于一半的驱动器可用,读写即可继续;例如 12 个驱动器的情况下,即使只剩 7 个驱动器,系统仍能写入新对象或重建已有对象。[2] 此外,它对 HighwayHash 算法做了优化实现,在读取时计算哈希、写入时进行校验,以识别并修复静默数据损坏。[2]
安全方面,MinIO 支持服务器端与客户端加密,采用 AES-256-GCM、ChaCha20-Poly1305 与 AES-CBC 等方案,并可与 HashiCorp Vault 等密钥管理方案配合使用。[2] 身份管理上,它可与 OpenID Connect 兼容的提供商以及主要外部身份提供商集成,实现集中化的访问控制。[2] 在部署形态上,MinIO 提供单节点单驱动器、单节点多驱动器以及多节点多驱动器等拓扑,其中多节点多驱动器方案面向企业级高性能场景,可扩展到 PB 级以上的容量与性能。[4]
发展历程
MinIO 由位于美国硅谷的技术创业公司 MinIO 公司开发,该公司成立于 2014 年 11 月,创始团队成员此前曾参与 GlusterFS 的开发工作。[1] 项目在 2015 年 6 月发布首个正式版本,早期以 Apache 许可证 2.0 版发布,后于 2021 年迁移至 GNU AGPLv3 许可证。[1] 公司在 2015 年获得 330 万美元种子轮融资,2017 年又获得 2000 万美元 A 轮融资。[5]
MinIO 早期提供过网关功能,用于让基于 POSIX 的传统存储系统或云存储服务获得 S3 兼容能力。由于 S3 API 已成为事实标准,且版本控制、存储桶复制、对象锁定等能力难以在网关模式下支持,该项目宣布弃用网关并在随后彻底移除。[6] 2024 年 11 月,MinIO 发布面向人工智能与数据工作负载的产品 AIStor。 2025 年 5 月,社区版代码中移除了 Web 管理界面;同年 12 月,项目在代码托管平台上宣布进入维护模式,不再添加新功能,仅保留安全修复。 此后其社区版本不再继续开发,公司重心转向商业版本。[7]
应用
MinIO 常被用于图片与媒体库、周期性备份以及历史日志等非结构化数据的存放,业务应用只需把 S3 客户端的接入地址指向 MinIO 部署,即可读写对象。[8] 支持 S3 插件的建站程序也可以把媒体文件直接存入 MinIO 的存储桶,从而减轻本地系统盘的压力。[8]
由于与 S3 API 兼容,Spark、Presto 等大数据应用以及 TensorFlow、Jupyter Notebook、PyTorch 等机器学习工具无需修改代码即可在其上运行,Rubrik、Veeam 等备份软件也属于这类生态应用。[9] MinIO 可运行在自有物理机、虚拟机、公有云或容器编排环境中,因此也适用于私有云、混合云和边缘计算场景。[10]
局限
MinIO 要求对用于对象存储的驱动器或卷拥有独占访问权,其他进程、脚本或人员不应直接操作这些驱动器或其上的数据分片、校验分片与元数据文件,否则可能导致超出其修复能力的数据损坏。[3] 这意味着它难以与已有程序共用同一块磁盘,部署时需要为其单独规划数据盘。[8]
擦除码主要应对磁盘损坏和节点宕机,对误删除、人为清空数据等情况并不提供保护,因此仍需配合独立的异地备份。[8] 其 S3 接口本身不对传输过程加密,若服务需要对外提供,通常要在前面加一层安全传输代理或负载均衡。[8] 在平台支持方面,MinIO 对在 macOS、Windows 或容器化部署中运行多驱动器拓扑不提供支持保证,并建议长期开发与生产环境使用 Linux 或 Kubernetes。[4]
参见
参考资料
- MinIO [引用日期2026-10-14]
- MinIO 对象存储 [引用日期2026-10-14]
- 对象管理 [引用日期2026-10-14]
- 安装和部署 MinIO [引用日期2026-10-14]
- sdxcentral.com 上的网页 [引用日期2026-10-14]
- Deprecation of the MinIO gateway [引用日期2026-10-14]
- Was ist MinIO? [引用日期2026-10-14]
- MinIO 对象存储部署:服务器 S3 兼容存储实战 [引用日期2026-10-14]
- Five Years in the Making [引用日期2026-10-14]
- MinIO分布式对象存储系统_【最新版】_云商店-华为云 [引用日期2026-10-14]