MinIO是文件存储系统
官方网站 //min.io
易上手可扩展 开源项目 适合于存储大容量非结构化的数据 例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等
对象文件可以是任意大小,从几kb到最大5T不等 标准硬件读/写速度上达183 GB / 秒 和 171 GB / 秒

MinIO优势
1.Minio 有良好的存储机制
2.Minio 有很好纠删码的算法与擦除编码算法
3.可向大数据方面过渡
4.docker搭建非常方便
minio 单独部署
//docs.min.io/docs/minio-erasure-code-quickstart-guide.html
Minio 兼容Amason的S3分布式对象存储项目采用Golang实现客户端支持Java,Python,Javacript, Golang语言
MinIO is a High Performance Object Storage released under GNU Affero General Public License v3.0. It is API compatible with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, analytics and application data workloads.
This README provides quickstart instructions on running MinIO on bare metal hardware, including container-based installations. For Kubernetes environments, use the MinIO Kubernetes Operator.
适用场景:
1.对象存储
2.文件服务器
原理
MinIO分布式集群是指在多个服务器节点均部署MinIO服务
将其组建为分布式存储集群
对外提供标准S3接口以进行统一访问

MinIO集群采用去中心化无共享架构
各节点间为对等关系
连接至任一节点均可实现对集群的访问
方案还选择Nginx的轮询实现各个节点的负载均衡
openim minio快速部署/使用文档
1.部署minio(unix)
docker单机模式部署    
docker run -d -p 9000:9000 -p 9090:9090 --name minio \
-e "MINIO_ROOT_USER={{YOUR_ACCESS_KEY}}" \
-e "MINIO_ROOT_PASSWORD={{YOUR_SECRET_KEY}}" \
-v /mnt/data:/data \
-v /mnt/config:/root/.minio \
minio/minio server /data --console-address ':9090'
将-e docker 容器内环境变量MINIO_ROOT_USER和MINIO_ROOT_PASSWORD的值即{{YOUR_ACCESS_KEY}}和{{YOUR_SECRET_KEY}}替换成自己定义的值
用以登录管理后台和生成临时密钥
9000 端口即minio API的端口
9090端口为minio web管理端的端口
docker容器内环境变量MINIO_ROOT_USER为web管理端的登录账户
环境变量MINIO_ROOT_PASSWORD为登录密码
--console-address 即docker内部web管理系统端口,可不做修改
开放端口浏览器进行访问
http://ip:9090 (账号密码:{{YOUR_SECRET_KEY}}
如果不能网络访问 可能是 解决报错WARNING: IPv4 forwarding is disabled. Networking will not work.
WARNING: IPv4 forwarding is disabled. Networking will not work.
echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf
systemctl restart network && systemctl restart docker
Object
存储到 Minio 的基本对象 如文件 字节流 Anything
Bucket
用来存储 Object 的逻辑空间
每个 Bucket 之间的数据相互隔离
对于客户端而言就相当于存放文件的顶层文件夹

docker集群部署
  # 192.168.1.1
  docker run -d -p 10010:9000 -p 10011:9090 --name minio_cluster \
       -e "MINIO_ROOT_USER={{YOUR_ACCESS_KEY}}" \
       -e "MINIO_ROOT_PASSWORD={{YOUR_SECRET_KEY}}" \
       -v /mnt/data:/data \
       -v /mnt/config:/root/.minio \
       minio/minio server \
       http://192.168.1.1/data \
       http://192.168.1.2/data \
       http://192.168.1.3/data \
       http://192.168.1.4/data \
       --console-address ':9090'
 
  docker run -d -p 10010:9000 -p 10011:9090 --name minio_cluster1 \
           -e "MINIO_ROOT_USER={{YOUR_ACCESS_KEY}}" \
           -e "MINIO_ROOT_PASSWORD={{YOUR_SECRET_KEY}}" \
           -v /mnt/data1:/data \
           -v /mnt/config1:/root/.minio \
           minio/minio server \
           http://127.0.0.1/data1 \
           http://192.168.1.2/data2 \
           http://192.168.1.3/data3 \
           http://192.168.1.4/data4 \           
           --console-address ':9090'
           
  docker run -d -p 10020:9000 -p 10021:9090 --name minio_cluster2 \
               -e "MINIO_ROOT_USER={{YOUR_ACCESS_KEY}}" \
               -e "MINIO_ROOT_PASSWORD={{YOUR_SECRET_KEY}}" \
               -v /mnt/data:/data \
               -v /mnt/config:/root/.minio \
               minio/minio server \
               http://192.168.1.1/data \
               http://192.168.1.2/data \
               http://192.168.1.3/data \
               http://192.168.1.4/data \
               --console-address ':9090'

docker Minio和docker相关