MinIO存储简介

MinIO是开源(AGPL v3.0协议)高性能对象存储,提供了Amazon S3云存储服务兼容的API,可以用于处理非结构化数据,例如图片、视频、日志文件,备份和容器镜像。最大支持5TB对象。

MinIO特点

MinIO简化了分布式存储的功能(有利有弊):

  • 专注于高性能,但简化了架构(相比较GlusterFS和Ceph),所以不支持动态扩展(提供有限的扩展运维能力)

  • 支持物理主机和容器化运行

  • 简化了分布式存储的多种冗余模式(例如GlusterFS实际上支持非常多的存储数据冗余方案),只提供 N/2 数据和 N/2 奇偶校验块 的容灾(存储中一半是数据盘,一半是校验盘,允许1/2磁盘故障不丢失数据),以切合高性能和数据容灾,这种方案其实也简化了代码,更易于开发和维护

  • 适合追求性能同时需要降低运维难度的存储环境,例如 Machine Learning Atlas 提供大量的图片存储进行在线训练

  • 运维简便,对于大多数只要求容量和性能的用户场景非常适合(很多用户可能长期都用不上高扩展性)

  • 兼容AWS S3(V2和V4),对于很多已经在S3上开发应用的公司,可以比较容易迁移到自建的MinIO集群

  • 提供了多种企业级的认证扩展,方便集成到企业现有认证系统

  • 存储加密适合企业级数据安全要求

备注

MinIO存储的特点是专注和S3兼容: 对于大多数企业用户,可能更关注是如何实现AWS S3兼容的私有云存储,MinIO即切合这样的市场需求。

此外,在 Netflex 开源的 云原生 Spinnaker 就采用了MinIO实现持久化存储,实现企业级持续部署。

此外,MinIO还可以基于其他分布式存储后端来实现数据存储,也就是将MinIO的后端磁盘替换成分布式存储 Gluster AtlasCeph Atlas 输出的块设备,或者是 iSCSI 输出的快设备,都能够实现兼有S3易用性和后端分布式存储保障数据可靠性,适合大型数据存储(例如由云厂商维护超大规模分布式存储)之上构建小型对象存储服务。(举例: Minio on GlusterFS Volume Guide

参考