在部署集群前,要注意一个问题,就是不要把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集群已经搭建完成,下方的配置监控请按需配置
配置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 #这里注意更改自己prometheus服务的路径
Restart=always
[Install]
WantedBy=multi-user.target
5.启动并设置服务开机自动启动
systemctl enable prometheus.service --now
6.最后访问minio服务的控制台,效果图如下:
访问地址:http://服务器IP:9001