欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

minio集群安装文档

时间:2023-07-15
1、准备工作

1、min 官方建议至少4个节点

节点IPdatayouduk2xxx.xxx.xxx.xxx/home/minio/data1 /home/minio/data2youduk3xxx.xxx.xxx.xxx/home/minio/data1 /home/minio/data2youduk4xxx.xxx.xxx.xxx/home/minio/data1 /home/minio/data2youduk5xxx.xxx.xxx.xxx/home/minio/data1 /home/minio/data2

2、mkdir /home/minio/{data1,data2,run}

创建data1,data2文件夹。创建启动脚本run文件夹。

3、目录中二进制文件 miniio 上传到 /home/minio/

4、修改服务器最大可以读取文件数量

/etc/security/limits.conf

soft nofile 65535hard nofile 65535

2、脚本配置

1、配置启动脚本。

MINIO_ACCESS_KEY:用户名,长度最小是5个字符MINIO_SECRET_KEY:密码,密码不能设置过于简单,不然minio会启动失败,长度最小是8个字符–config-dir:指定集群配置文件目录

#!/bin/bashexport MINIO_ACCESS_KEY=adminexport MINIO_SECRET_KEY=admin456789/home/minio/minio server --config-dir /etc/minio --address "youduk2:9029" http://youduk2/home/minio/data1 http://youduk2/home/minio/data2 http://youduk3/home/minio/data1 http://youduk3/home/minio/data2 http://youduk4/home/minio/data1 http://youduk4/home/minio/data2 http://youduk5/home/minio/data1 http://youduk5/home/minio/data2

Minio默认9000端口,在配置文件中加入–address “youduk2:9029” 可更改端口

MINIO_ACCESS_KEY:用户名,长度最小是5个字符
MINIO_SECRET_KEY:密码,密码不能设置过于简单,不然minio会启动失败,长度最小是8个字符

–config-dir:指定集群配置文件目录

2、创建Minio.server

vim /usr/lib/systemd/system/minio.service

[Unit]Description=Minio servicedocumentation=https://docs.minio.io/[Service]WorkingDirectory=/home/minio/runExecStart=/home/minio/run/run.shRestart=on-failureRestartSec=5[Install]WantedBy=multi-user.target

3、修改文件权限

chmod +x /usr/lib/systemd/system/minio.service && chmod +x /home/minio/minio && chmod +x /home/minio/run/run.sh

4、启动集群

systemctl daemon-reload

systemctl start minio

systemctl enable minio

查看集群状态

systemctl status minio.service

5、启动其他节点

youduk3 、youduk4、youduk5 执行上面 准备工作的2,3操作

youduk3 、youduk4、youduk5 执行上面 安装配置的1,2,3操作操作

youduk3 、youduk4、youduk5 执行

sudo systemctl start minio.service

sudo systemctl status minio.servicejournalctl -f -u minio.service

测试 youduk3:9029

页面请求成功。

输入用户名密码 admin admin456789

3、配置安装

环境准备

服务器 : youduk1 ,youduke2 ,youduk3 ,youduk4

文件: /home/minio/data/{data1,data2,data3,data4}

配置文件安装

vim /usr/lib/systemd/system/minio.service

[Unit]Description=MinIOdocumentation=https://docs.min.ioWants=network-online.targetAfter=network-online.target#二进制文件位置AssertFileIsExecutable=/home/minio/minio[Service]WorkingDirectory=/home/minio/User=rootGroup=rootProtectProc=invisible#配置环境地址。EnvironmentFile=-/home/minio/run/minio#ExecStartPre=/bin/bash -c "if [ -z "${MINIO_VOLUMES}" ]; then echo "Variable MINIO_VOLUMES not set in /home/minio/run/minio"; exit 1; fi"ExecStart=/home/minio/minio server $MINIO_OPTS $MINIO_VOLUMES# 设置开机启动# Let systemd restart this service alwaysRestart=always#设置打开文件最大数量# Specifies the maximum file descriptor number that can be opened by this processLimitNOFILE=65536# 指定此进程可以创建的最大 thrjournalctl -f -u minio.serviceeads 数量# Specifies the maximum number of thrjournalctl -f -u minio.serviceeads this process can createTasksMax=infinity# 禁用超时逻辑并等待进程停止# Disable timeout logic and wait until process is stoppedTimeoutStopSec=infinitySendSIGKILL=no[Install]WantedBy=multi-user.target

chmod +x /usr/lib/systemd/system/minio.service

每个节点

/home/minio/run/minio文件配置

# Set the hosts and volumes MinIO uses at startup# The command uses MinIO expansion notation {x...y} to denote a# sequential series.## The following example covers four MinIO hosts# with 4 drives each at the specified hostname and drive locations.#MINIO_VOLUMES="http://youduk2/home/minio/data1 http://youduk2/home/minio/data2 http://youduk3/home/minio/data1 http://youduk3/home/minio/data2 http://youduk4/home/minio/data1 http://youduk4/home/minio/data2 http://youduk5/home/minio/data1 http://youduk5/home/minio/data2"MINIO_VOLUMES="http://youduk{1...4}:9029/home/minio/data/data{1...4}"# Set all MinIO server options## The following explicitly sets the MinIO Console listen address to# port 9001 on all network interfaces、The default behavior is dynamic# port selection.#MINIO_OPTS="--console-address :9001 --address youduk3:9029 --config-dir /etc/minio"MINIO_OPTS="--console-address :9001 --address youduk2:9029" #--address youduk2:9029 写本机域名:端口# Set the root username、This user has unrestricted permissions to# perform S3 and administrative API operations on any resource in the# deployment.## Defer to your organizations requirements for superadmin user name.MINIO_ROOT_USER=amdin# Set the root password## Use a long, random, unique string that meets your organizations# requirements for passwords.MINIO_ROOT_PASSWORD=admin456789# Set to the URL of the load balancer for the MinIO deployment# This value *must* match across all MinIO servers、If you do# not have a load balancer, set this value to to any *one* of the# MinIO hosts in the deployment as a temporary measure.# MINIO_SERVER_URL="http://youduk"

每个节点都要配置 MINIO_OPTS --address youduk2:9029 对应服务器修改成本机的域名

浏览器访问地址 9001 集群开发端口为9029 youduk{1…4} 为一个服务器池

每个节点 软件部署

二进制文件 上传 /home/minio/目录下

chmod +x /home/minio/minio

youduk2 youduk3 youduk4 youduk5 节点分别启动:

systemctl daemon-reload

systemctl start minio

systemctl enable minio

测试地址 http://youduk2:9001

测试地址 http://youduk4:9001

登录用户名-密码

测试成功

4、集群扩容

MinIO 支持两种扩展方式:

通过修改命令行,在命令行上指定新的集群集来扩展通过引入第三方组件etcd,在不动原有集群的基础上实现动态扩展方案 1、配置扩展方式

MinIO 支持通过在命令行上指定新的集群集来扩展分布式集群,多个节点的存储容量和就是分布式MinIO的存储容量。

部署有一个服务器池,由四个具有顺序主机名的 MinIO 服务器主机组成。

youduk1 youduk2youduk3 youduk4

每个主机有 4 个本地连接的驱动器,具有顺序挂载点: 我没有节点。只用目录来测试

/home/minio/data/data1 /home/minio/data/data2/home/minio/data/data3 /home/minio/data/data4

新增服务器池由八个具有顺序主机名的新 MinIO 主机组成:

youduk5 youduk6 youduk7 youduk8youduk9 youduk10 youduk11 youduk12

新增 所有主机都有八个带有顺序挂载点的本地连接磁盘:

/home/minio/data/data1 /home/minio/data/data2/home/minio/data/data3 /home/minio/data/data4/home/minio/data/data5 /home/minio/data/data6/home/minio/data/data7 /home/minio/data/data8

环境配置 与上方配置安装方式相同

每台节点

MINIO_VOLUMES=“http://youduk{1…4}:9029/home/minio/data/data{1…4}” 修改为

MINIO_VOLUMES=“http://youduk{1…4}:9029/home/minio/data/data{1…4} http://youduk{5…12}:9029/home/minio/data/data{1…8}”

​ 通过以上扩展策略,就可以按需扩展集群。重新配置后重启集群,会立即在集群中生效,并对现有集群无影响。如上命令中,我们可以把原来的集群看做一个集群池,新增集群看做另一个集群池,新对象按每个集群池中的可用空间比例放置在集群池中。在每个集群池内,基于确定性哈希算法确定位置。

注意: 添加的每个集群池必须具有与原始集群池相同的磁盘数量(纠删码集)大小,以便维持相同的数据冗余SLA。 例如,第一个集群池有8个磁盘,就可以将集群扩展为16个、32个或1024个磁盘的集群池,只需确保部署的SLA是原始集群池的倍数即可。

2、etcd扩展方案

etcd 用于存储桶DNS服务记录

参考 https://www.sohu.com/a/455702322_115128

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。