minio分布式集群搭建
1.准备两台服务器,每台上创建两个路径
192.168.3.173挂载磁盘路径:/data/data1和/data/data2
192.168.3.174挂载磁盘路径:/data/data1和/data/data2
生产环境建议至少四台机器,这样挂掉一台机器集群依然可以读写,挂掉两台机器集群依然可读。本文仅以两台机器为例子说明搭建集群 ,挂掉一台能读不能写。
2.创建相关目录(两台机器都要创建目录)
[root@localhost /]# mkdir /data/data1/
[root@localhost /]# mkdir /data/data2/
#创建启动脚本目录,下载minio
mkdir /opt/minio/
cd /opt/minio
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
3.编写集群启动脚本(****2台机器****配置文件相同)
[root@localhost /]# vi /opt/minio/run.sh
!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678
./minio server --address '192.168.3.173:9001' --console-address '192.168.3.173:9002' http://192.168.3.173/data/data1 http://192.168.3.173/data/data2 http://192.168.3.174/data/data1 <u>http://192.168.3.174/data/data2</u>
4.编写服务脚本(所有节点)
[root@localhost minio]# vim /usr/lib/systemd/system/minio.service
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
[Service]
WorkingDirectory=/opt/minio/
ExecStart=/opt/minio/run.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
5.启动minio(两台都要启动)
将下载好的minio文件赋予权限
[root@localhost minio]# chmod +x /opt/minio/minio
赋予启动脚本权限
[root@localhost minio]# chmod +x /opt/minio/run.sh
依次启动每个服务器的minio
[root@localhost minio]# systemctl daemon-reload
[root@localhost minio]# systemctl start minio
查看minio服务状态
[root@localhost minio]# systemctl status minio
● minio.service - Minio service
Loaded: loaded (/usr/lib/systemd/system/minio.service; enabled; vendor preset: disabled)
Active: active (running) since 三 2022-07-27 17:09:26 CST; 2 weeks 1 days ago
Docs: https://docs.minio.io/
Main PID: 16361 (run.sh)
CGroup: /system.slice/minio.service
├─16361 /bin/bash /opt/minio/run.sh
└─16364 ./minio server --address 192.168.3.173:9001 --console-address 192.168.3.173:9002 http://192.168.3.173/data/dat...
7月 27 17:09:30 localhost run.sh[16361]: DeploymentID: 4ece4a76-8f1e-462e-8354-aeeb101e1558
7月 27 17:09:30 localhost run.sh[16361]: Error: disk not found: http://192.168.3.174:9001/data/data1 (errors.errorString)
7月 27 17:09:30 localhost run.sh[16361]: 3: internal/logger/logger.go:270:logger.LogIf()
7月 27 17:09:30 localhost run.sh[16361]: 2: cmd/erasure.go:187:cmd.getDisksInfo.func1()
7月 27 17:09:30 localhost run.sh[16361]: 1: internal/sync/errgroup/errgroup.go:123:errgroup.(Group).Go.func1()
7月 27 17:09:30 localhost run.sh[16361]: Use mc admin info
to look for latest server/disk info
7月 27 17:09:30 localhost run.sh[16361]: Status: 2 Online, 2 Offline.
7月 27 17:09:30 localhost run.sh[16361]: API: http://192.168.3.173:9001
7月 27 17:09:30 localhost run.sh[16361]: Console: http://192.168.3.173:9002
7月 27 17:09:30 localhost run.sh[16361]: Documentation: https://docs.min.io
6.控制台浏览器访问
输入集群任意节点地址+9001或者9002端口,9001是服务端端口,9002是控制台端口,即可访问minio,用户名密码为前面设置的“MINIO_ACCESS_KEY”和“MINIO_SECRET_KEY”
图片1.png
如果地址访问不通,请关闭防火墙或者开放9001和9002端口