minio 单节点部署
192.168.3.202
cd /opt/minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
单机启动 默认9000端口
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server /opt/minio/data --console-address ":9090" --address :9000
- 访问http://192.168.3.202:9090/即可
minio 分布式部署
192.168.3.201、192.168.3.202
先决条件:1.服务器之前网络互通 2.均已安装minio可执行文件
在每个服务器上运行如下命令
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=password
export CI=true
/opt/minio/minio server \
http://192.168.3.201/opt/minio/data1 http://192.168.3.201/opt/minio/data2 \
http://192.168.3.202/opt/minio/data1 http://192.168.3.202/opt/minio/data2 --console-address ":7001" --address :7000
封装成脚本 start_minio.sh
#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=password
export CI=true
nohup /opt/minio/minio server \
http://192.168.3.201/opt/minio/data1 http://192.168.3.201/opt/minio/data2 \
http://192.168.3.202/opt/minio/data1 http://192.168.3.202/opt/minio/data2 --console-address ":7001" --address :7000 \
> /opt/minio/log/minio.log 2>&1 &
cd /opt/minio
vi start_minio.sh
sudo chmod 777 start_minio.sh
mkdir log
sudo sh start_minio.sh
报错1:
Error: Disk /mnt/data is part of root disk, will not be used (*errors.errorString)
解决:
https://github.com/minio/minio/issues/15039
报错2:
解决:
删除数据存储目录(data{1,2}),不要事先创建,重新启动。
nginx反向代理
vi /opt/minio/nginx.conf
如下内容
events {
worker_connections 1024;
}
http {
upstream http_minio {
server 192.168.3.201:7000;#映射地址端口
server 192.168.3.202:7000;#映射地址端口
}
server{
listen 7777;#访问端口
server_name 192.168.3.201;#访问地址
ignore_invalid_headers off;
client_max_body_size 0;
proxy_buffering off;
location / {
proxy_set_header Host $http_host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-Host $host:$server_port;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
proxy_set_header X-Forwarded-For $remote_addr;
client_body_buffer_size 10M;
client_max_body_size 10G;
proxy_buffers 1024 4k;
proxy_read_timeout 300;
#proxy_connect_timeout 300;
#proxy_http_version 1.1;
#chunked_transfer_encoding off;
#proxy_ignore_client_abort on;
proxy_pass http://http_minio;
}
}
}
执行
sudo /usr/sbin/nginx -c /opt/minio/nginx.conf
访问http://192.168.3.201:7777即可
模拟宕机
退出201的minio程序,管理界面依旧可以访问,bucket依旧可以下载数据(分布式优势,自带纠删码功能。只要宕机未超过一半,数据都能恢复)