分布式存储MINIO集群部署实例

简介:

MinIO是根据Apache许可v2.0发布的高性能对象存储。它与Amazon S3云存储服务兼容。使用MinIO可以构建用于机器学习,分析和应用程序数据工作负载的高性能基础架构。

数据保护:

分布式MinIO 使用擦除代码提供针对多个节点/驱动器故障和位腐烂的保护由于分布式MinIO所需的最小磁盘为4(与擦除编码所需的最小磁盘相同),因此在启动分布式MinIO时,擦除代码会自动启动。

高可用:

如果托管磁盘的服务器脱机,则独立的MinIO服务器将关闭。相反,只要m / 2个服务器或m * n / 2个或更多磁盘在线,具有m个服务器和n个磁盘的分布式MinIO设置将使您的数据安全

例如,一个16台服务器的分布式设置(每个节点200个磁盘)将继续提供文件,即使在默认配置中最多有8台服务器处于脱机状态,即,大约1600个磁盘可以关闭,MinIO也会继续提供文件。但是,您至少需要在线9台服务器才能创建新对象。

环境:

2台centos7操作系统,每台操作系统挂载2个磁盘,总共4块(最少4个),两台服务器的缺点是如果一台服务器挂掉,文件只能读取不能删除与上传.

192.168.175.51

/app/minio/data1  /app/minio/data2

192.168.160.90

/app/mino/data1  /app/minio/data2

注意:文件路径可任意指定,但是必须挂载

下载资源:  wget https://dl.minio.io/server/minio/release/linux-amd64/minio

将minio移动到/home/minio下 ,创建run.sh启动脚本并chmod + x 赋予 minio和run.sh 可执行权限

启动脚本:两台服务器一致

 #!/bin/bash

#浏览器访问的账号和密码,各节点要保持一致,密码不能过于简单否则启动失败
export MINIO_ACCESS_KEY=minioroot   
export MINIO_SECRET_KEY=minioabc-123
#创建/etc/minio配置文件目录 /home/minio/minio server --config-dir /etc/minio --address :9000 http://192.168.175.51/app/minio/data1 http://192.168.175.51/app/minio/data2 http://192.168.160.90/app/minio/data1 http://192.168.160.90/app/minio/data2

设置命令启动服务vim /usr/lib/systemd/system/minio.service

[Unit]
Description=Minio service
Documentation=https://docs.minio.io/

[Service]
WorkingDirectory=/home/minio/
ExecStart=/home/minio/run.sh

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

启动

systemctl daemon-reload
systemctl start minio

#查看启动情况
systemctl status minio    注意:可能出现服务器提示等待另外磁盘连接的情况 ,关闭防火墙

[root@minio2 minio]# systemctl status minio
● minio.service - Minio service
   Loaded: loaded (/usr/lib/systemd/system/minio.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-05-11 21:16:06 EDT; 9min ago
     Docs: https://docs.minio.io/
 Main PID: 5899 (run.sh)
   CGroup: /system.slice/minio.service
           ├─5899 /bin/bash /home/minio/run.sh
           └─5900 /home/minio/minio server --config-dir /etc/minio --address :9000 http://192.168.175.51/app/minio/data1 http://192.168.175.51/app/minio/data2 http://192.168.160...

May 11 21:25:51 minio2 run.sh[5899]: Status:         4 Online, 0 Offline.
May 11 21:25:51 minio2 run.sh[5899]: Endpoint:  http://192.168.160.90:9000  http://127.0.0.1:9000
May 11 21:25:51 minio2 run.sh[5899]: Browser Access:
May 11 21:25:51 minio2 run.sh[5899]: http://192.168.160.90:9000  http://127.0.0.1:9000
May 11 21:25:51 minio2 run.sh[5899]: Object API (Amazon S3 compatible):
May 11 21:25:51 minio2 run.sh[5899]: Go:         https://docs.min.io/docs/golang-client-quickstart-guide
May 11 21:25:51 minio2 run.sh[5899]: Java:       https://docs.min.io/docs/java-client-quickstart-guide
May 11 21:25:51 minio2 run.sh[5899]: Python:     https://docs.min.io/docs/python-client-quickstart-guide
May 11 21:25:51 minio2 run.sh[5899]: JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
May 11 21:25:51 minio2 run.sh[5899]: .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide

访问  任意节点的ip地址:9000 即可访问,输入上面定义的账号密码即可

参考资料:

官方文档 https://docs.min.io/

感谢以下博客主的私信解答

https://blog.csdn.net/sinat_15946141/article/details/105675351?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

https://www.yht7.com/news/16389

原文地址:https://www.cnblogs.com/aloneysir/p/12874984.html