MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从数KB到最大5TB都能很好的支持。开源并且用Go语言开发,有web操作界面,我们可以用它来搭建兼容S3协议的存储云服务。相比 hadoop hdfs 分布式存储服务轻量很多,且支持单节点部署。
SDK(API):
官方安装文档,MinIO提供了很多语言的SDK跟API支持:Javascript,Java,python,Golang、.Net。
分部署部署:
1) 分布式MinIO里所有的节点需要有同样的access秘钥和secret秘钥,这样节点才能建立联接。需要在执行minio server命令之前,先将access秘钥和secret秘钥export成环境变量。
2) 分布式MinIOo使用的磁盘里必须是干净的,里面没有数据。
3) 分布式MinIO里的节点时间差不能超过3秒
4) 分布式部署至少需要4个节点,否则启动会报错
MinIO支持单机部署、多租户部署、分布式部署。支持原始文件存储已经纠删码模式存储。单机部署时,可使用minio的客户端工具进行备份。
2.安装MinIOMinIO的安装方式有很多,支持docker容器安装、二进制方式安装,这里我选择Docker安装方式,docker环境默认已安装,docker可参考,本篇主要学习安装、以及上传图片。
2.1 拉取MinIO镜像
# docker pull minio/minio
2.2 查看镜像
# docker images
docker run -p 9090:9000 --name minio \
-v /etc/localtime:/etc/localtime \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
-d minio/minio server /data
查看正在运行的容器:
# docker ps