在部署集群前,要注意一个问题,就是不要把minio使用的数据目录放在系统盘上,如果环境服务器没有分配数据盘,去给服务器申请几个数据盘在部署吧,不然服务起不来。
本文主要分两个部分:
1.minio集群搭建
2.配置minio界面接入prometheus监控
实验环境简单说明:
三台centos7.9的服务器,IP地址分别是:
192.168.10.148
192.168.10.152
192.168.10.156
minio集群搭建
1.下载minio二进制文件以及minio的客户端mc,不要客户端mc可以不下载。
wget https://dl.min.io/server/minio/release/linux-amd64/minio && chmod +x minio && mv minio /usr/local/bin wget https://dl.min.io/client/mc/release/linux-amd64/mc && chmod +x mc && mv mc /usr/local/bin
2.格式化磁盘:
说明,我这次的实验环境是三台服务器,每台额外分配五个数据盘,共计提供给minio集群使用为15个数据盘,因为是测试环境所以磁盘大小只给了50G,生产请自行评估,本次是将所有磁盘都格式化为xfs文件系统,格式化文件系统后我在根目录下分别创建了data1,data2,data3,data4,data5五个目录给这五个数据盘挂载,详细磁盘格式化以及挂载方法自行百度,这里不详细赘述,实在不懂就评论区问吧。
sdb 8:16 0 50G 0 disk /data1
sdc 8:32 0 50G 0 disk /data2
sdd 8:48 0 50G 0 disk /data3
sde 8:64 0 50G 0 disk /data4
sdf 8:80 0 50G 0 disk /data5
3.做好三台服务器的时间同步及hosts配置,关闭防火墙 以及selinux
vim /etc/security/limits.conf #设置打开文件的数量限制
* - nofile 65535 root - nofile 65535
4.创建环境变量文件
vim /etc/default/minio #minio服务的环境变量文件
MINIO_VOLUMES="http://192.168.10.148:9000/data1/minio http://192.168.10.148:9000/data2/minio http://192.168.10.148:9000/data3/minio http://192.168.10.148:9000/data4/minio http://192.168.10.148:9000/data5/minio http://192.168.10.152:9000/data1/minio http://192.168.10.152:9000/data2/minio http://192.168.10.152:9000/data3/minio http://192.168.10.152:9000/data4/minio http://192.168.10.152:9000/data5/minio http://192.168.10.156:9000/data1/minio http://192.168.10.156:9000/data2/minio http://192.168.10.156:9000/data3/minio http://192.168.10.156:9000/data4/minio http://192.168.10.156:9000/data5/minio" MINIO_OPTS="--console-address :9001" #minio服务监听端口号 MINIO_ROOT_USER=minioadmin #minio网页端的登录账号 MINIO_ROOT_PASSWORD=minioadmin #minio网页端的登录密码 MINIO_PROMETHEUS_AUTH_TYPE="public" MINIO_PROMETHEUS_URL="http://192.168.10.148:9090" #配置prometheus监控的服务器地址 #MINIO_SERVER_URL="http://192.168.192.163:9000" #负载均衡地址,没有负载均衡就不要放开注释 #MINIO_VOLUMES变量更改说名:本示例使用三台服务器,每台服务器分五个磁盘供minio服务使用,所有这里要把所有节点使用的所有数据目录都写上
5.创建服务的系统管理文件
vim /etc/systemd/system/minio.service
[Unit] Description=MinIO Documentation=https://min.io/docs/minio/linux/index.html Wants=network-online.target After=network-online.target AssertFileIsExecutable=/usr/local/bin/minio [Service] WorkingDirectory=/usr/local User=root Group=root ProtectProc=invisible EnvironmentFile=-/etc/default/minio ExecStartPre=/bin/bash -c "if [ -z "${MINIO_VOLUMES}" ]; then echo "Variable MINIO_VOLUMES not set in /etc/default/minio"; exit 1; fi" ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES Restart=always LimitNOFILE=65536 TasksMax=infinity TimeoutStopSec=infinity SendSIGKILL=no [Install] WantedBy=multi-user.target
6.启动并设置服务为开机自动启动
systemctl enable minio.service --now
配置minio界面接入prometheus监控
Prometheus官网下载地址:Download | Prometheus
下载适合自己的版本:
1.将下载好的安装包放到服务器上解压
2.将解压后的目录改名:
mv prometheus-2.49.1.linux-amd64 prometheus cd prometheus
3.修改配置文件监控minip
vim prometheus.yml #配置如下
- job_name: minio-job metrics_path: /minio/v2/metrics/cluster scheme: http static_configs: - targets: ['192.168.10.148:9000', '192.168.10.152:9000', '192.168.10.156:9000'] #更改为自己的minio地址 - job_name: node static_configs: - targets: ['192.168.10.148:9001', '192.168.10.152:9001', '192.168.10.156:9001'] #更改为自己的minio地址
4.注册系统管理服务
vim /etc/systemd/system/prometheus.service
[Unit] Description=Prometheus Monitoring Wants=network-online.target After=network-online.target [Service] User=root Group=root Type=simple ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml --storage.tsdb.path=/opt/prometheus/data --web.console.templates=/opt/prometheus/consoles --web.console.libraries=/opt/prometheus/console_libraries #这一块注意更改为自己实际的服务路径 Restart=always [Install] WantedBy=multi-user.target
5.启动并设置服务开机自动启动
systemctl enable prometheus.service --now
6.最后访问minio服务的控制台,效果图如下:
访问地址:http://服务器IP:9001