对象存储MinIO的使用

518 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

1、前言

之前的负责开发维护的APP里有一个类似考勤的功能,使用了人脸识别,需要保存用户的人脸数据。最近发现人脸识别项目所在服务器存储空间满了,造成了用户无法使用的问题。因为种种原因,项目是部署在IDC上,无法进行硬盘扩容。刚开始考虑到将其上云,使用云服务商提供的对象存储,但是最后考虑到用户的人脸照片属于个人隐私数据,为了安全合规,还是将数据存放到公司服务器上。于是,就考虑基于MinIO分布式文件系统来改造。 ​

2、搭建MinIO

​ 首先,使用MinIO来做文件系统,一是方便统一管理,而且后续扩容也很简单,增加节点即可,同时其性能也很强。这里,我是基于Docker搭建的,生产环境也是。可能有的公司处于数据安全性的问题,对于关键服务,不让使用容器化技术。这里我认为也是见仁见智把,不过使用Docker确实方便了不少,摆脱了环境不一致的折磨。

# 1、拉取最新的minio镜像
docker pull minio/minio

# 2、创建容器
# 一定要将minio的数据与配置文件挂载到服务器上。这里创建两个文件夹,一个用来挂载数据,另一个来挂载配置文件,后续万一容器出现问题,数据还在。我们只需要重新创建一个新容器就可以加载原有数据了。
mkdir -p /data/minio/data
chmod 777 /data/minio/data 
mkdir -p /data/minio/config
chmod 777 /data/minio/config

docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-e "MINIO_ROOT_USER=minio" \  --指定root用户
-e "MINIO_ROOT_PASSWORD=minio-root" \  --指定root用户密码
-v /data/minio/data:/data \    --挂载数据文件夹
-v /data/minio/config:/root/.minio \   --挂载配置文件夹
minio/minio server /data --console-address ":9001"  --指定控制台端口

3、使用MinIO

在浏览器输入:http://服务器IP:9001/,访问成功就代表着环境搭建好了。 image.png 可以看到控制台功能还是非常多的。我们主要用到的有Bucket的创建,监控、多用户这些。这里的Bucket可以理解为存储桶,不同的Bucket可以来区分不同类别的数据。(PS:使用API上传文件时也要带上Bucket信息)

image.png 然后,系统监控里我们也能看到很多数据,也可以查看minio日志。同时minio还有很多API,大家也可以自己慢慢探索。

好了、本期就先介绍到这里,有什么需要交流的,大家可以随时私信我。😊