一、什么是minio

在说minio之前说说什么是对象存储,我们可以看下 阿里云OSS 的解释。

 对象存储服务OSS(Object Storage Service)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

官方解释:Minio 是个基于 Golang 编写的开源对象存储套件,基于Apache License v2.0开源协议,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用,例如 NodeJS、Redis、MySQL等。

MinIO号称是目前速度最快的对象存储服务器。在标准硬件上,对象存储的读/写速度最高可以高达183 GB/s和171 GB/s。对象存储可以作为主存储层,用来处理Spark、Presto、TensorFlow、H2O.ai等各种复杂工作负载以及成为Hadoop HDFS的替代品。 

二、Minio特性

1. 云原生应用程序的存储
MinIO可以作为云原生应用程序的对象存储后端。它可以与Kubernetes集成,多租户支持,作为存储卷使用,提供持久性存储和数据共享。

2. 大规模数据分析
MinIO可以用于存储和分析大规模的数据集。它可以与流行的大数据处理框架(如Apache Spark和Apache Hadoop)集成,提供高性能的数据访问和处理能力。

3. 备份和灾难恢复
MinIO可以用作备份和灾难恢复解决方案。它支持数据冗余和高可用性,可以在多个地理位置复制数据,以确保数据的安全性和可靠性。

4. 多媒体存储和分发
MinIO可以用于存储和分发多媒体内容,如图片、视频和音频文件。它可以与内容分发网络(CDN)集成,提供快速的内容传输和缓存功能。

5. IoT数据存储和分析
MinIO可以用于存储和分析大规模的物联网(IoT)数据。它可以处理来自传感器和设备的实时数据,并提供高性能的数据存储和查询功能。

6.高性能
作为一款高性能存储,在标准硬件条件下,其读写速率分别可以达到 55Gb/s 和 35Gb/s。并而 MinIO 支持一个对象文件可以是任意大小,从几kb到最大5T不等

7.可扩展
不同MinIO集群可以组成联邦,并形成一个全局的命名空间,并且支持跨越多个数据中心。

8.可对接多种后端存储:
除了Minio自己的文件系统,还支持 DAS、 JBODs、NAS、Google云存储和 Azure Blob存储。

三、术语解释

1、S3
Simple Storage Service,简单存储服务,这个概念是Amazon在2006年推出的,对象存储就是从那个时候诞生的。S3提供了一个简单Web服务接口,可用于随时在Web上的任何位置存储和检索任何数量的数据。

2、Object
存储到 Minio 的基本对象,如文件、字节流,Anything...

3、Bucket
用来存储 Object 的逻辑空间。每个 Bucket 之间的数据是相互隔离的。

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

5、Set
一组 Drive 的集合,分布式部署根据集群规模自动划分一个或多个 Set ,每个 Set 中的 Drive 分布在不同位置。一个对象存储在一个 Set 上

四、Windows下的安装

1、下载minio.exe

2、创建data和logs目录

在D盘下创建data和logs目录,分别用来存储数据和日志

3、启动

不指定日志输出目录启动

.\minio.exe server D:\minio\data --console-address ":9001" --address ":9000" 

 也可以指定日志输出目录启动

.\minio.exe server D:\minio\data --console-address ":9001" --address ":9000" > D:\minio\logs\minio.log

系统会在D:\minio\logs产生日志文件

minio.log的文件内容如下,指明了用户名为minioadmin和密码为minioadmin

4、登录

http://localhost:9001/

用户名为:minioadmin和密码为minioadmin

5、创建桶

 名称为zyf-bucket

6、上传文件

系统会产生如下文件

五、在Centos下安装minio

1、创建minio文件夹,打开并下载minio
cd /usr/local
mkdir minio
cd minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio

或者下载后直接拷贝到centos服务器上

2、为该文件添加可执行权限
chmod +x minio
3、创建minio存储文件目录data和日志目录logs
mkdir -p /usr/local/minio/data;
mkdir -p /usr/local/minio/logs;

4、启动

4.1、未指定访问端口号启动,启动后用户名和密码默认都为:minioadmin

./minio server /usr/local/minio/data

4.2、或者 指定访问端口

./minio server --address :9000 --console-address :9001 /usr/local/minio/data

4.3、后台启动,并指定端口号和日志路径

nohup ./minio server --address :9000 --console-address :9001 /usr/local/minio/data > /usr/local/minio/logs/minio.log 2>&1 &

查看日志

4.4、在4.3的基础上指定用户名和密码

MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=12345678 nohup ./minio server --address :9000 --console-address :9001 /usr/local/minio/data > /usr/local/minio/logs/minio.log 2>&1 &

4.5、创建启动文件(用户名【必须>=3位】为zhangyanfen,密码【必须>=8】为 12345678)

在 /usr/local/minio/目录下,新建一个run.sh并编辑以下内容。注:用户名和密码自己设置

vim run.sh

内容如下:

#!/bin/bash
export MINIO_ROOT_USER=zhangyanfen
export MINIO_ROOT_PASSWORD=12345678
# nohup启动服务 指定文件存放路径 日志文件路径 
nohup ./minio server --address :9000 --console-address :9001 /usr/local/minio/data > /usr/local/minio/logs/minio.log 2>&1 &

为其赋予执行权限

chmod u+x run.sh

启动minio并查看日志

bash run.sh

# 查看日志

tail -200f /usr/local/minio/logs/minio.log

5、访问

http://localhost:9001 ,用户名:minioadmin  密码:minioadmin

6、创建桶,并上传文件文件

创建桶zyf-test,并上传文件2222.docx文件

参考文档:

https://zhuanlan.zhihu.com/p/259594073

附实践操作代码https://download.csdn.net/download/zyf1203/89588805

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐