分布式对象存储服务器 MinIO 牛刀小试

数据存储包括三种类型,分别是块存储,文件存储和对象存储。有关这三种类型的差别,可以参考 对象存储、文件存储和块存储的区别

MioIO 是一个开源的分布式对象存储系统,非常适合于存储大容量非结构化的数据,例如图片,视频,日志文件,备份数据等。本文讲述如何快速搭建 MioIO 服务端和客户端,以便于对 MioIO 有个概要了解。

MinIO 服务端安装

MioIO 是一个非常轻量级的对象存储系统,可以使用 Docker 快速搭建 MinIO 服务。

1
2
docker pull minio/minio
docker run -p 9000:9000 minio/minio server /data

执行以上命令,就启动了 MinIO 服务。有关使用 Docker 启动 MinIO 的详细介绍,可以参考链接 https://docs.min.io/docs/minio-docker-quickstart-guide

打开浏览器,输入地址 http://127.0.0.1:9000/,输入用户名 minioadmin 和密码 minioadmin,便进入 MinIO 的管理页面。

在 MinIO 管理页面,可以进行文件的浏览、上传下载操作。

MinIO 客户端安装

MinIO Client(mc)提供 lscatcpdifffind 等UNIX命令,用来对存储在 MinIO 服务端的桶和文件进行操作,并支持对 Amazon S3 云存储文件进行操作。

可以使用 Docker 来快速安装 mc:

1
2
docker pull minio/mc
docker run minio/mc ls play

上述第一个命令拉取 mc 镜像,第二个命令启动 mc 容器,并列出 MinIO 官方演示环境 play 的内容。
如果需要使用 mc 操作其他 S3 兼容的服务,可以采取以下方式启动容器:

1
docker run -it --entrypoint=/bin/sh minio/mc

启动容器后接下来可以使用 mc 的其他命令,例如:

1
mc config host list

输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
gcs  
URL : https://storage.googleapis.com
AccessKey : YOUR-ACCESS-KEY-HERE
SecretKey : YOUR-SECRET-KEY-HERE
API : S3v2
Lookup : dns

local
URL : http://10.88.115.119:9000
AccessKey : minioadmin
SecretKey : minioadmin
API : S3v4
Lookup : auto

play
URL : https://play.min.io
AccessKey : Q3AM3UQ867SPQQA43P2F
SecretKey : zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG
API : S3v4
Lookup : auto

s3
URL : https://s3.amazonaws.com
AccessKey : YOUR-ACCESS-KEY-HERE
SecretKey : YOUR-SECRET-KEY-HERE
API : S3v4
Lookup : dns

可以通过修改文件 ~/.mc/config.json 来修改 mc config host list 展示出来的配置。

为了使用 mc 对上面我们搭建的 MinIO 服务进行测试,我们修改了 local 的配置:

local
URL : http://10.88.115.119:9000
AccessKey : minioadmin
SecretKey : minioadmin
API : S3v4
Lookup : auto

其中,http://10.88.115.119:9000 为 MinIO 服务端地址,读者可以根据实际情况进行调整。

执行

1
mc ls local

输出

[2020-01-22 07:37:53 UTC] 0B leo/

执行

1
mc ls local/leo

输出

[2020-01-22 07:37:53 UTC] 696KiB 屏幕截图(1).png

在 MinIO 服务中,我们创建了一个名为 leo 的桶,并在该桶下上传了一个名为 屏幕截图(1).png 的文件。

至于其他 mc 命令,大家可以自行测试。

参考资料