欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-18 12:34:48
...

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

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

MinIO 服务端安装

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

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

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

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

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

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

MinIO 客户端安装

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

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

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

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

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

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

mc config host list

输出:

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

执行

mc ls local

输出

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

执行

mc ls local/leo

输出

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

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

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

参考资料

  • https://github.com/minio/minio
  • https://docs.min.io/
  • https://docs.min.io/cn/minio-client-complete-guide.html
  • https://www.alibabacloud.com/zh/knowledge/difference-between-object-storage-file-storage-block-storage
  • https://zhuanlan.zhihu.com/p/39572049