MinIO简介

Minio是一个高性能的对象存储服务器,它兼容Amazon S3 API,设计目的是为了提供云存储服务的性能和可扩展性,同时还保持着本地存储的简单性和易用性。Minio可以在Linux、MacOS和Windows等操作系统上运行,可以通过命令行界面或RESTful API进行管理。

Minio的核心是对象存储,对象是一组二进制数据和元数据的组合。对象可以存储为文件,也可以存储为内存中的数据结构。在Minio中,对象存储桶是一组对象的集合,类似于文件系统中的文件夹。每个对象存储桶都有一个唯一的名称,它可以在Minio集群中全局唯一。

Minio的架构采用了分布式的设计,可以将数据分散存储在多个节点中,从而实现数据的高可用和容错性。Minio支持多种存储介质,可以轻松地将数据存储到本地磁盘、Amazon S3、Google Cloud Storage、Microsoft Azure Blob Storage等云存储服务中。

Minio的数据访问是通过RESTful API实现的,可以提供各种数据管理功能,如创建、删除、读取、写入对象等。Minio的API与Amazon S3 API兼容,这意味着可以使用Amazon S3 SDK和工具来与Minio交互。

Minio的特点包括简单、可靠、功能完善、去中心化架构、分布式锁管理等。Minio采用简单可靠的集群方案,摒弃复杂的大规模的集群调度管理,减少风险与性能瓶颈,聚焦产品的核心功能,打造高可用的集群、灵活的扩展能力以及超过的性能。Minio支持云原生,能与Kubernetes、Docker、Swarm编排系统良好对接,实现灵活部署。Minio采用去中心化的无共享架构,对象数据被打散存放在不同节点的多块硬盘,对外提供统一命名空间访问,并通过负载均衡或者DNS轮询在各个服务器之间实现负载均衡。Minio专门设计并实现了dsync分布式锁管理器,来控制数据一致性。

docker pull minio/minio
bash

image.png

启动容器

注意:–console-address指定MinIO Console的运行端口(否则会以随机端口运行)

docker run -p 9000:9000 -p 9001:9001 --name minio \
--restart=always \
-v /home/minio/data:/data \
-e MINIO_ROOT_USER=minioadmin \
-e MINIO_ROOT_PASSWORD=minioadmin \
-d minio/minio server /data --console-address ":9001"
bash

其中附件挂载的目录为/home/minio/data;管理员用户名:minioadmin ,密码:minioadmin ,执行前可进行修改。

访问MinIO管理界面

启动后可通过http://服务器IP:9001进入Web管理界面,服务器需要开放9001端口,访问界面如下图所示

image.png