题图:pexels
什么是Minio
以下是摘自官网的介绍
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
总结几个字就是:轻量、简单。而且支持全平台和docker容器安装。
具体的介绍可查看官网链接:https://docs.min.io/cn/
集群安装
本集群由2台服务器构成(官方推荐集群最小4台服务器),每个服务器上挂载两个磁盘目录,最小数据挂载点为4个
数据存储目录(两台机器都创建)
节点1
mkdir -p /opt/minio/data1
mkdir -p /opt/minio/data2
节点2
mkdir -p /opt/minio/data1
mkdir -p /opt/minio/data2
添加启动脚本
进入/opt/minio目录,创建run.sh文件,注意两台都要创建,内容一模一样
#!/bin/bash
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=minio
nohup ./minio server http://192.168.2.227/opt/minio/data1 http://192.168.2.227/opt/minio/data2 \
http://192.168.2.228/opt/minio/data1 http://192.168.2.228/opt/minio/data2
下载安装
进入到/opt/minio目录,执行脚本
wget https://dl.min.io/server/minio/release/linux-amd64/minio
文件授权
chmod +x minio
chmod +x /opt/minio/run.sh
注意:两台都需要执行上面的操作授权,否则启动失败
测试
浏览器输入集群任意节点地址+9000端口,即可访问minio,用户名密码为前面设置的“MINIO_ACCESS_KEY”和“MINIO_SECRET_KEY”,可创建“bucket”并上传文件测试
以下是登录之后的页面
nginx代理配置
在nginx配置目录下创建文件,nginx 配置目录:/etc/nginx/conf.d
vim minio.conf
upstream minio.xxx.cn {
server 192.168.2.234:9000 weight=5 ;
server 192.168.2.238:9000 weight=5 ;
}
server {
listen 80;
server_name minio.gr-data.cn;
client_max_body_size 20M;
charset utf-8;
location / {
proxy_set_header Host $http_host;
client_body_buffer_size 10M;
client_max_body_size 10G;
proxy_buffers 1024 4k;
proxy_read_timeout 300;
proxy_pass http://minio.xxx.cn/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}