1.说明
Minio参照官网文档,使用Docker安装minio只能做到单机多磁盘的方式,这样存在单点故障的问题,
只能参考文档使用Linux上原生安装了。
官方文档如下图:
本次使用的版本为:2023-09-23T03:47:50Z
部署模式:
双机四磁盘的模式,机器ip分别为192.168.50.245与192.168.50.18
双机四磁盘在一台机器挂了,就变为2了,不满足N/2+1的存活,集群就不可用了,所以调整部署策略为3机6磁盘,
机器ip分别为192.168.50.245、192.168.50.18、192.168.50.9
2.安装
2.1 文件目录创建
在245机器执行如下命令,创建minio存储目录
mkdir -p /home/minio/data1
mkdir -p /home/minio/data2
在18机器执行如下命令,创建minio存储目录
mkdir -p /home/minio/data3
mkdir -p /home/minio/data4
在9机器执行如下命令,创建minio存储目录
mkdir -p /home/minio/data5
mkdir -p /home/minio/data6
2.2 制作启动脚本
创建脚本工作目录mkdir -p /home/minio
,执行vi /home/minio/run.sh
进行脚本创建,填入如下内容
#!/bin/bash
export MINIO_ROOT_USER=linxixi
export MINIO_ROOT_PASSWORD=3er4#ER$
/home/minio/minio server \
http://192.168.50.245/home/minio/data1 \
http://192.168.50.245/home/minio/data2 \
http://192.168.50.18/home/minio/data3 \
http://192.168.50.18/home/minio/data4 \
http://192.168.50.9/home/minio/data5 \
http://192.168.50.9/home/minio/data6 --console-address ":10000"
2.3 将minio制作成服务
vim /usr/lib/systemd/system/minio.service
填入如下内容:
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
[Service]
WorkingDirectory=/opt/
ExecStart=/home/minio/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
2.4 赋予权限
将下载的minio文件放到/home/minio/目录下。
chmod +x /usr/lib/systemd/system/minio.service
chmod a+x /home/minio/minio
chmod a+x /home/minio/run.sh
2.5 启动服务并检查
systemctl daemon-reload
systemctl start minio
systemctl enable minio
systemctl status minio.service
说明:需要两台机器都启动后,minio server建立连接后,即可以正常访问了。如遇到部署异常,需要检查相应脚本与程序部署的位置,同时systemctl restart minio
让两个server重新建立连接。
2.6 nginx进行对外访问
添加Nginx的配置如下:
upstream minio{
server 192.168.50.18:9000;
server 192.168.50.245:9000;
server 192.168.50.9:9000;
}
location / {
proxy_set_header Host $http_host;
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_next_upstream error timeout http_404;
proxy_pass http://minio;
}
需要做到Nginx的高可用,可以参考另外一篇Nginx的高可用部署。