Minio
一、概述
Minio 是一个分布式的文件管理系统,用于解决存储管理非结构化数据问题,对于结构化数据我们有关系型数据库,但是对于音频、文件等非结构化数据 我们要进行统一管理就需要使用Minio
特点:
minio支持海量存储,可按zone扩展,支持单个对象最大5TB
兼容Amazon S3 接口,充分考虑开发人员的需求和体验
低冗余且磁盘损坏高容忍
读写性能优异
minio主要面对非结构化数据(图片、视频、文件等)
基本概念:
-
Object:对象
在minio存储系统中,所以可管理的都被视为一个对象,例如 文件、音频、视频、图片等
-
Bucket:桶,最高目录
在minio系统中,根据存储文件所属划分 多个最高级的目录,这里叫做桶
-
Drive:磁盘
磁盘就是 minio数据存储的具体实际位置(win / linux 下xxx位置)
-
Set:磁盘集合
minio 是分布式文件系统,会把一个对象 存储到多个磁盘中,这多个磁盘就是磁盘集合 Set
注意:
minio web 默认端口 9000
minio 有自己的一套数据校验 和 数据恢复机制,将元数据和编码数据分开存储,所以当编码数据损坏可以将元数据重新编码 进行恢复,元数据损坏 可以将编码数据进行反编码进行恢复
中文文档:http://docs.minio.org.cn/docs/
二、环境部署
有两种方式进行安装:
虚拟机直接安装
通过docker进行安装
docker进行安装
- 拉取docker镜像
docker pull minio/minio
- 设置minio用到的文件路径
mkdir minio 进入minio目录:
mkdir data mkdir config
- 启动服务:注意,这里要单独设置console的端口,不然会报错,且无法访问
这种安装方式 MinIO 自定义 Access 和 Secret 密钥要覆盖 MinIO 的自动生成的密钥
docker run --name minio
-p 9999:9999
-d --restart=always
-e "MINIO_ROOT_USER=admin"
-e "MINIO_ROOT_PASSWORD=admin123"
-v /home/minio/data:/data
-v /home/minio/config:/root/.minio
minio/minio server /data
--console-address '0.0.0.0:9999'
- 防火墙设置,需要为minio开放两个端口,一个9000端口,一个静态端口,此处为9999
sudo ufw allow 9999
- 登录客户端(浏览器):注意—>此处的端口,是你设置的console的端口:9999
实现效果:
图示: