对象存储MinIO入门介绍

常见的对象存储方式对比

  • 直接将图片保存到服务的硬盘

    • 优点:开发便捷,成本低
    • 缺点:扩容困难
  • 使用分布式文件系统进行存储

    • 优点:容易实现扩容
    • 缺点:开发复杂度稍大(尤其是开发复杂的功能)
  • 使用nfs做存储

    • 优点:开发较为便捷
    • 缺点:需要有一定的运维知识进行部署和维护
  • 使用第三方的存储服务

    • 优点:开发简单,拥有强大功能,免维护
    • 缺点:付费

对象存储MinIO

MinIO是世界上最快的对象存储服务器,在标准硬件上,读写速度分贝为183GB/s 和 171GB/s,对象存储可以作为主要存储层,用于Spark,Presto,TensorFlow,H20.ai 以及替代产品等各种工作负载用于Hadoop HDFS

MinIO是一种高性能的分布式对象存储系统,它是软件定义的,可在行业标准硬件上运行,并且在Apache 2.0许可下,百分百开放源代码。

文档地址:https://docs.min.io/cn/

下载

set_your_key_here使用的是Docker的方式安装MinIO,首先拉取对应的镜像

1
docker pull minio/minio

然后set_your_key_here需要创建两个目录,用于保存set_your_key_here的文件和配置

1
2
mkdir -p /home/minio/data
mkdir -p /home/minio/config

启动容器

启动容器,后面有个目录,就是需要挂载的硬盘目录

1
2
3
4
5
6
7
docker run -p 9000:9000 --name minio \
-e "MINIO_ACCESS_KEY=set_your_key_here" \
--privileged=true \
-e "MINIO_SECRET_KEY=set_your_key_here" \
-v /home/minio/data:/data \
-v /home/minio/config:/root/.minio \
minio/minio server /data

上面的配置中,包含两个重要的信息【以后登录时会用到,可以修改成自己的】

  • MINIO_ACCESS_KEY:公钥
  • MINIO_SECRET_KEY:密钥

如果需要后台运行,使用这条语句

1
2
3
4
5
6
7
docker run --privileged -d -it -p 9000:9000 --name minio \
-e "MINIO_ACCESS_KEY=set_your_key_here" \
--privileged=true \
-e "MINIO_SECRET_KEY=set_your_key_here" \
-v /home/minio/data:/data \
-v /home/minio/config:/root/.minio \
minio/minio server /data

访问

成功启动之后就可以在相对应的端口打开对应的web界面了。这里指定port为9000,实际情况可以自己随意调整。