1. minio介绍

1.1. 简介

MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储。 它是与 Amazon S3 云存储服务兼容的 API。 使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。

1.2. 优点

Minio使用纠删码erasure code和校验和checksum来保护数据免受硬件故障和无声数据损坏。 即便丢失一半数量(N/2)的硬盘,仍然可以恢复数据。

Amazon S3兼容

Minio使用Amazon S3 v2 / v4 API。可以使用Minio SDK,Minio Client,AWS SDK和AWS CLI访问Minio服务器。

Amazon Simple Storage Service (简单存储服务),简称 amazon (S3) 是一个公开的服务,Web 应用程序开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档。 S3 提供一个 RESTful API 以编程方式实现与该服务的交互。

数据保护

Minio使用Minio Erasure Code来防止硬件故障。也许会损坏一半以上的driver,但是仍然可以从中恢复。

高度可用

Minio服务器可以容忍分布式设置中高达(N / 2)-1节点故障。而且,您可以配置Minio服务器在Minio与任意Amazon S3兼容服务器之间存储数据。

Lambda计算

Minio服务器通过其兼容AWS SNS / SQS的事件通知服务触发Lambda功能。支持的目标是消息队列,如Kafka,NATS,AMQP,MQTT,Webhooks以及Elasticsearch,Redis,Postgres和MySQL等数据库。

加密和防篡改

Minio为加密数据提供了机密性,完整性和真实性保证,而且性能开销微乎其微。使用AES-256-GCM,ChaCha20-Poly1305和AES-CBC支持服务器端和客户端加密。加密的对象使用AEAD服务器端加密进行防篡改。

可对接后端存储

除了Minio自己的文件系统,还支持DAS、 JBODs、NAS、Google云存储和Azure Blob存储。

sdk支持

基于Minio轻量的特点,它得到类似Java、Python或Go等语言的sdk支持

术语 含义
Object 存储到MinIO的基本对象。如文件,字节流等
Bucket 存储Object的逻辑空间,每个Bucket之间的数据时相互隔离的。对于用户而言,相当于存放文件的顶层文件夹。
Drive 存储Object的磁盘。在MinIO启动时,以参数的方式传入。
Set 一组Drive的集合。根据集群规模自动划分Set,每个Set中的Drive分布在不同位置。
- 一个对象存储在一个Set上。
- 一个集群划分成多个Set。
- 一个Set包含的Drive数量是固定的,默认由系统根据集群规模自动计算出。
- 一个Set中的Drive尽可能分布在不同的节点上。
EC 纠删码(Erasure Code),保证高可靠。
- n 份原始数据,m份编码数据。
- 任意小于等于m份的数据丢失,以通过剩下的数据还原出来。

集群架构

  • Drive:可以理解为一块磁盘

  • Set:一组Drive的集合

    • 默认由系统根据集群规模自动计算得出
    • MINIO_ERASURE_SET_DRIVE_COUNT
    • 一个对象存储在一个Set上
    • 一个集群划分为多个Set
    • 一个Set包含的Drive数量是固定的
    • 一个SET中的Drive尽可能分布在不同的节点上

img

2. 快速入门

2.1. windows版安装

minio中文主页: http://www.minio.org.cn/

minio中文文档: http://docs.minio.org.cn/docs/

minio Cookbook快速入门https://www.bookstack.cn/read/MinioCookbookZH/19.md

minio英文主页: https://min.io/

minio英文文档: https://docs.min.io/

主页页面image-20220727012235271

下载页面

image-20220727014136804

依赖

image-20220727014536465

文档页面

image-20220727014028714

2.2. 启动服务器

找到服务器所在的文件夹,打开命令窗口,输入下面指令启动服务器

minio server ./data 

image-202207270122

image-20220727020339407

指定当前目录下的data文件夹为本地容器,并将其中的文件映射到服务器中。./data 并不是固定的,可以根据自己的需求指定相应文件夹。

2.3. 进入服务器控制台

在浏览器地址栏输入以下地址进入服务器控制台

localhost:9000

image-20220727020614475

账号密码默认都为minioadmin,通过管理员账号进入控制台

image-20220727020948257

2.4. 新建Bucket(桶)

image-20220727023223388

image-20220727021913032

2.5. 简单使用

2.5.1. 上传文件

image-20220727022950666image-20220727023420752

image-20220727023716294

image-20220727023805828

2.5.2. 下载文件

image-20220727024018473

文件会自动下载

image-20220727024111387

2.5.3. 文件分享

image-20220727024629016

如人饮水,冷暖自知。
最后更新于 2023-08-02