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=********
export MINIO_ROOT_PASSWORD=********
/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需要配合VIP+Keepalive实现高可用。
添加 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;
}
由于minio-console没有特点前缀可以方便进行Ng转发配置,所以只能访问Minio API接口,console可以用真实ip+10000端口进行访问。
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
















- 最新
- 最热
只看作者