MinIO系列之快速搭建文件存储服务

·  阅读 1956

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动

MinIO介绍

MinIO 是一款高性能、分布式对象存储系统. 它是一款软件产品, 可以100%的运行在标准硬件。即X86等低成本机器也能够很好的运行MinIO。

在Apache License v2.0下发布的对象存储服务器。它与Amazon S3云存储服务兼容。它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/VM镜像等。对象的大小可以从几KB到最大5TB。

MinIO与传统的存储和其他的对象存储不同的是:它一开始就针对性能要求更高的私有云标准进行软件架构设计。因为MinIO一开始就只为对象存储而设计。所以他采用了更易用的方式进行设计,它能实现对象存储所需要的全部功能,在性能上也更加强劲,它不会为了更多的业务功能而妥协,失去MinIO的易用性、高效性。 这样的结果所带来的好处是:它能够更简单的实现局有弹性伸缩能力的原生对象存储服务。

MinIO在传统对象存储用例(例如辅助存储,灾难恢复和归档)方面表现出色。同时,它在机器学习、大数据、私有云、混合云等方面的存储技术上也独树一帜。当然,也不排除数据分析、高性能应用负载、原生云的支持。

近期minio进行了升级,升级后的版本把API端口和管理端口做了区分,为了方便演示,我们使用历史版本,进行说明,新版本的特性单独说明。

存储架构

Minio针对不同应用场景也设置了对应的存储架构:

示例1:单主机,单磁盘

以下示例在一块磁盘上托管三个租户。

minio --config-dir ~/tenant1 server --address :9001 /data/tenant1
minio --config-dir ~/tenant2 server --address :9002 /data/tenant2
minio --config-dir ~/tenant3 server --address :9003 /data/tenant3
复制代码

image-20210930123107197

示例2:单主机,多块磁盘 (erasure code)

以下示例在多块磁盘上托管三个租户。

image-20210930123151270

分布式部署

要在分布式环境中托管多个租户,同时运行多个分布式MinIO实例。

示例3 : 多主机,多块磁盘 (erasure code)

以下示例在一个4节点集群中托管三个租户。在4个节点里都执行下列命令:

export MINIO_ACCESS_KEY=<TENANT1_ACCESS_KEY>
export MINIO_SECRET_KEY=<TENANT1_SECRET_KEY>
minio --config-dir ~/tenant1 server --address :9001 http://192.168.10.11/data/tenant1 http://192.168.10.12/data/tenant1 http://192.168.10.13/data/tenant1 http://192.168.10.14/data/tenant1
​
export MINIO_ACCESS_KEY=<TENANT2_ACCESS_KEY>
export MINIO_SECRET_KEY=<TENANT2_SECRET_KEY>
minio --config-dir ~/tenant2 server --address :9002 http://192.168.10.11/data/tenant2 http://192.168.10.12/data/tenant2 http://192.168.10.13/data/tenant2 http://192.168.10.14/data/tenant2
​
export MINIO_ACCESS_KEY=<TENANT3_ACCESS_KEY>
export MINIO_SECRET_KEY=<TENANT3_SECRET_KEY>
minio --config-dir ~/tenant3 server --address :9003 http://192.168.10.11/data/tenant3 http://192.168.10.12/data/tenant3 http://192.168.10.13/data/tenant3 http://192.168.10.14/data/tenant3
复制代码

image-20210930123250416

快速入门

在Docker中运行MinIO单点模式。

docker run -p 9000:9000 -d\
  -e "MINIO_ACCESS_KEY=ProEXEC" \
  -e "MINIO_SECRET_KEY=ONRPROEXEC" \
  -v /data/minio1:/data1 \
  minio/minio:RELEASE.2020-12-12T08-39-07Z server /data1
复制代码

在上面的示例中自定义了 MINIO_ACCESS_KEYMINIO_SECRET_KEY 请注意修改,执行以上命令在控制台显示如图信息说明启动成功。

image-20210930124002323

界面功能

访问 http://127.0.0.1:9000/ 输入账号密码进入:

image-20210930124234739

界面右下角的 + 号按钮可以创建 bucket 和上传文件,进行简单的管理操作。

简单的文件存储服务器搭建成功,要想后台运行在docker启动时添加 -d 参数即可。

是不是很简单,今天到这里就结束了,下一篇将介绍,客户端工具和如何使用命令行进行管理。

分类:
开发工具
标签:
收藏成功!
已添加到「」, 点击更改