MinIO| 青训营笔记

202 阅读3分钟

这是我参与「第五届青训营」伴学笔记创作活动的第15天

一、MinIO概述 MinIO是一个高性能的对象存储系统,可以运行在各种云平台和硬件设备上,包括本地硬件、云服务器、Docker容器和Kubernetes集群。 它支持 AWS S3 协议,因此可以很容易地与现有的 S3 应用程序和工具集成。

MinIO可以运行在分布式环境中,可以横向扩展,实现高可用、高扩展、高性能的对象存储服务。 提供多种数据保护和数据管理功能,包括数据加密、版本管理、生命周期管理、访问控制等。 可以通过Web界面、命令行界面、SDK和REST API等多种方式访问MinIO。 部署和管理非常简单,可以快速部署、扩展和升级。

  1. MinIO的基本概念 S3 - Simple Storage Service,简单存储服务,这个概念是亚马逊在2006年推出的,对象存储就是从那个时候诞生的。 S3 提供了一个简单的 Web 服务接口,可用于在 Web 上随时随地存储和检索任意数量的数据。 Object——Minio中存储的基本对象,比如文件,字节流,Anything...

Bucket——用于存储Object的逻辑空间。 每个桶之间的数据是相互隔离的。

Drive——部署Minio时设置的磁盘,Minio中的所有对象数据都会存储在Drive中。

集合——驱动器的集合。 分布式部署根据集群大小自动划分一个或多个Set,每个Set中的Drives分布在不同的位置。

对象存储在集合中 一个cluster被分成多个Set 一个Set包含的Drive数量是固定的,默认由系统根据簇大小自动计算 一个SET中的驱动尽可能分布在不同的节点上

MinIO的架构设计 MinIO的架构设计是基于分布式对象存储服务的需求,主要包括以下核心组件:

MinIO Server:MinIO Server是一个高性能的对象存储服务器,可以存储和检索大规模数据对象,支持多租户和多协议访问。 MinIO Server可以通过水平扩展向集群中添加新的节点,从而提高性能和可用性。

MinIO Client:MinIO Client 是一个与 MinIO Server 交互的工具。 可以通过命令行、API、SDK等方式访问MinIO Server,进行对象的上传、下载、删除、复制等操作。 MinIO客户端还支持文件系统网关和NFS网关等特性,可以将对象存储服务映射到本地文件系统或远程文件系统。

MinIO Gateway:MinIO Gateway是一个轻量级网关,提供与AWS S3、Azure Blob等云对象存储的接口兼容,使MinIO Server可以与其他云存储服务集成。 通过MinIO Gateway,用户可以使用MinIO API操作其他云存储服务的对象,也可以将其他云存储服务的对象上传到MinIO Server进行存储和管理。

MinIO Erasure Code:MinIO Erasure Code是一种数据保护和冗余技术,可以将数据分成多个数据段,通过编码生成多个纠错段。 当数据出现故障时,MinIO Erasure Code 可以从纠错碎片中重建原始数据,从而保证数据的完整性和可用性。

MinIO 控制台:MinIO 控制台是一个用于管理和监控 MinIO 服务器的 Web 界面。 提供节点状态、性能指标、访问日志等信息的可视化展示,方便用户对集群进行管理和故障排除。