1.概要

MinIO是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。MinIO兼容Amazon的S3分布式对象存储项目,采用Golang实现,客户端支持Java、Python、Javacript、 Golang语言。

Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows、Linux、OS X和FreeBSD上。安装和配置非常简单,基本是复制可执行程序,单行命令就可以运行起来。Minio还可以通过容器部署以及部署到k8s集群,详细部署方式可以查看官方文档。

MinIO 是高性能的对象存储,是为海量数据存储、人工智能、大数据分析而设计的,单个对象最大可达5TB,适合存储海量图片、视频、日志文件、备份数据和容器/虚拟机镜像等。MinIO客户端与存储服务器之间采用http/https通信协议。部署方式分为单机部署和分布式部署两种。

官方文档地址:MinIO Quickstart Guide| Minio中文文档

2.部署(此处以单机版为例)

2.1下载minio

具体如下图,地址:https://min.io/download#/windows

k8s 部署tomat mysql k8s 部署minio_开源

选择windows-64位下载,下载后如图:

  • minio.exe       服务端程序
  • mc.exe             客户端程序2.2部署

k8s 部署tomat mysql k8s 部署minio_开源_02

2.2部署 

首先新建一个minioData文件夹用来存储上传的文件,如下图

k8s 部署tomat mysql k8s 部署minio_运维_03

 在minio.exe文件夹的路径处输入cmd进入命令行界面(该exe文件不能双击运行) 输入命令:minio.exe server D: \minioData  “D: \minioData” 为刚创建的文件夹的路径

k8s 部署tomat mysql k8s 部署minio_运维_04

如果出现上图红字警告字体,启动不成功,端口报错,

可以使用以下命令:minio.exe server D: \minioData --console-address “:9006” --address “:9005”

k8s 部署tomat mysql k8s 部署minio_运维_05

到此minio启动成功,浏览器登陆:http://127.0.0.1:9006/login,即可进入minio界面

k8s 部署tomat mysql k8s 部署minio_k8s 部署tomat mysql_06

输入账号密码(默认都是minioadmin)

k8s 部署tomat mysql k8s 部署minio_开源_07

2.3 Minio Console后台使用 

Buckets

首先,点击create Bucket创建Buckets

k8s 部署tomat mysql k8s 部署minio_运维_08

其次,输入需要创建的Buckets名称,点击创建

k8s 部署tomat mysql k8s 部署minio_开源_09

 创建Buckets 成功,如下图

k8s 部署tomat mysql k8s 部署minio_开源_10

2.3.2 文件上传 

文件或文件加上传

k8s 部署tomat mysql k8s 部署minio_k8s 部署tomat mysql_11

选择文件上传,上传成功如图

k8s 部署tomat mysql k8s 部署minio_开源_12

 2.3.3 文件预览与查看

点击文件,右侧展示该文件的详细信息

k8s 部署tomat mysql k8s 部署minio_服务器_13

针对图片和PDF文件,可在浏览器中预览,如下图

k8s 部署tomat mysql k8s 部署minio_服务器_14

3.客户端使用

在mc.exe文件夹的路径处输入cmd进入命令行界面(该exe文件不能双击运行)

输入命令:mc.exe –help

k8s 部署tomat mysql k8s 部署minio_服务器端_15

刚才安装服务器端时,有这样一句话复制出来执行下

k8s 部署tomat mysql k8s 部署minio_开源_16

在命令框中执行这句命令:

mc.exe alias set myminio http://192.168.51.154:9005 minioadmin minioadmin

myminio 设置的添加服务端的别名

http://192.168.51.154:9005  服务端地址&端口号

minioadmin 服务端账号&密码

k8s 部署tomat mysql k8s 部署minio_服务器端_17

这时表示目前客户端已经添加服务器端地址成功

3.1服务端Buckets及文件查看

可执行以下命令查看服务端的Buckets 信息了,命令:mc ls myminio

k8s 部署tomat mysql k8s 部署minio_运维_18

目前服务端没有创建Buckets 因此没有任何展示

在服务器创建Buckets步骤可参考文档2.3 Minio Console 后台使用相关步骤创建

创建完成后,再次使用以上命令,如下图

k8s 部署tomat mysql k8s 部署minio_服务器端_19

 3.2创建Bucket

在客户端创建bucket命令:mc mb minicc

minioncc 创建的bucket名称

k8s 部署tomat mysql k8s 部署minio_服务器端_20

查看该文件夹下所有文件 

k8s 部署tomat mysql k8s 部署minio_k8s 部署tomat mysql_21

3.3 显示文件对象内容

命令:mc cat bucket名称/文件名称

k8s 部署tomat mysql k8s 部署minio_服务器端_22

3.4文件拷贝(上传)

3.4.1文件上传

命令:mc cp 文件名称 服务器端别名/服务器端已存在的bucket名称

k8s 部署tomat mysql k8s 部署minio_服务器_23

3.4.2 文件夹上传 

命令:mc cp –recursive 文件夹名称 服务器端别名/服务器端已存在的bucket名称

k8s 部署tomat mysql k8s 部署minio_服务器端_24

3.5文件查找 

命令:mc find 服务器端别名/服务器端已存在的bucket名称 –name 匹配条件

k8s 部署tomat mysql k8s 部署minio_运维_25

4.将minio安装为windows服务 

4.1 下载NSSM服务器封装软件

下在地址:NSSM - the Non-Sucking Service Manager

k8s 部署tomat mysql k8s 部署minio_k8s 部署tomat mysql_26

4.2编写启动批处理文件

利用nssm把minio.exe安装成windows服务,用控制台打开的程序,在生产环境中命令窗口很容易被误关掉,因此改成windows服务

4.2.1写个可以把程序运行起来的批处理文件

minio.bat 内容如下

@echo off CHCP 65001rem minio.exe文件所在目录set miniPath=‪D:\soft_install\OSSrem 存储上传的文件目录set minDataPath=D:\minioDatarem 9005&9006均为服务提供时访问端口号%miniPath%\minio.exe server %minDataPath% --console-address ":9005" --address ":9006"pause

4.2.2 使用nssm安装minio.bat

安装服务

命令:nssm install MinIOService minio.bat

MinIOService 服务名称

k8s 部署tomat mysql k8s 部署minio_k8s 部署tomat mysql_27

安装完成后,可直接在windows服务中查看 

k8s 部署tomat mysql k8s 部署minio_服务器端_28

卸载服务

命令:nssm remove MinIOService confirm

k8s 部署tomat mysql k8s 部署minio_k8s 部署tomat mysql_29

启动安装好的“MinIOService”后,可直接访问minio console后台,如下图

k8s 部署tomat mysql k8s 部署minio_服务器_30

 

此时,miniIO已经开机设置完成。