当前位置: 首页 > news >正文

Rocky Linux 9.3 上部署 MinIO 集群的完整指南(含多节点配置)

1. 环境准备与基础配置

在Rocky Linux 9.3上部署MinIO集群前,需要确保系统环境满足基本要求。我建议使用至少4台配置相同的服务器(3个存储节点+1个仲裁节点),每台配备:

  • 4核CPU及以上
  • 8GB内存起步
  • 100GB系统盘+多块数据盘(建议用XFS文件系统)
  • 稳定的千兆内网连接

先在所有节点执行基础环境配置:

# 更新系统并安装依赖 sudo dnf update -y sudo dnf install -y curl wget lsof xfsprogs # 关闭SELinux(生产环境需按需配置) sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config # 时间同步(集群节点时间必须一致) sudo dnf install -y chrony sudo systemctl enable --now chronyd

数据盘建议用XFS格式并挂载到统一路径,比如/minio/disk{1..n}。这是我常用的自动化脚本:

#!/bin/bash DISKS=("/dev/sdb" "/dev/sdc") # 根据实际磁盘修改 for disk in "${DISKS[@]}"; do sudo mkfs.xfs -f $disk UUID=$(blkid -s UUID -o value $disk) DISK_NUM=$(echo $disk | grep -o '[0-9]\+$') MOUNT_POINT="/minio/disk$DISK_NUM" sudo mkdir -p $MOUNT_POINT echo "UUID=$UUID $MOUNT_POINT xfs defaults,noatime 0 0" | sudo tee -a /etc/fstab done sudo mount -a sudo chown -R minio:minio /minio

2. MinIO多节点集群部署

2.1 二进制文件安装

在所有节点执行以下命令安装MinIO二进制文件:

# 下载最新稳定版(示例为2023年12月发布的RELEASE.2023-12-06T18-11-18Z) wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio chmod +x /usr/local/bin/minio mkdir -p /etc/minio /var/log/minio # 创建专用用户 useradd -r minio -s /sbin/nologin chown minio:minio /etc/minio /var/log/minio

2.2 集群配置文件

主配置节点(通常选择第一个节点)创建/etc/default/minio,关键参数说明:

MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=YourStrongPassword123! MINIO_VOLUMES="http://node{1...3}/minio/disk{1...4}" # 3节点4磁盘示例 MINIO_OPTS="--address :9000 --console-address :9001" MINIO_SERVER_URL="http://minio-cluster.yourdomain.com" # 集群访问域名

将配置文件同步到所有节点:

# 使用rsync同步配置 rsync -avz /etc/default/minio node2:/etc/default/ rsync -avz /etc/default/minio node3:/etc/default/

2.3 Systemd服务配置

所有节点创建/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 [Service] User=minio Group=minio EnvironmentFile=/etc/default/minio ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES Restart=always LimitNOFILE=65536 TimeoutStopSec=20 SendSIGKILL=no [Install] WantedBy=multi-user.target

启动集群服务(注意顺序):

# 所有节点执行 systemctl daemon-reload systemctl enable --now minio # 检查集群状态(任意节点执行) minio server info

3. 高可用与负载均衡配置

3.1 Nginx反向代理

建议使用Nginx做负载均衡,配置示例:

upstream minio_servers { server node1:9000; server node2:9000; server node3:9000; keepalive 32; } server { listen 80; server_name minio.yourdomain.com; location / { proxy_pass http://minio_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_connect_timeout 300; proxy_http_version 1.1; proxy_set_header Connection ""; } }

3.2 防火墙规则

统一开放必要端口:

firewall-cmd --permanent --add-port=9000/tcp # API端口 firewall-cmd --permanent --add-port=9001/tcp # 控制台端口 firewall-cmd --permanent --add-service=http firewall-cmd --reload

4. 运维监控与优化

4.1 监控配置

启用Prometheus监控:

# 在所有MinIO节点配置 mc admin prometheus generate minio

将生成的配置加入Prometheus的scrape_configs。推荐监控指标:

  • 节点在线状态
  • 存储空间使用率
  • 请求延迟百分位
  • 网络吞吐量

4.2 性能调优

根据实际负载调整内核参数:

# 提高TCP连接复用 echo 'net.ipv4.tcp_tw_reuse = 1' >> /etc/sysctl.conf # 增加文件描述符限制 echo 'minio - nofile 65536' >> /etc/security/limits.conf # 磁盘调度策略(SSD推荐) echo 'deadline' > /sys/block/sdb/queue/scheduler

4.3 日常维护命令

常用运维操作示例:

# 扩展集群节点 mc admin server add minio-cluster/ http://node4:9000 minio minio123 # 查看集群健康状态 mc admin info minio-cluster/ # 数据均衡操作 mc admin rebalance start minio-cluster/

遇到节点故障时的处理流程:

  1. 确认故障节点无法恢复
  2. 从集群中移除节点:mc admin server remove minio-cluster/ http://故障节点:9000
  3. 准备新节点并加入集群
  4. 触发数据修复:mc admin heal -r minio-cluster/
http://www.jsqmd.com/news/598267/

相关文章:

  • SEO_10个提升网站排名的SEO优化技巧分享(130 )
  • 【2026】Arduino IDE下载 | Arduino IDE官网下载安装汉化步骤详解 - xiema
  • 用快马平台五分钟搭建countif函数交互演示原型,告别枯燥文档
  • AMD显卡风扇控制失效?三步解决ADLXWrapper初始化失败实战指南
  • 如何让经典游戏在Windows 10/11上完美运行:DDrawCompat终极解决方案指南
  • Workbench网格划分实战指南:从基础到进阶技巧
  • 从成本到实践:基于uniCloud与七牛云扩展存储的uniapp项目降本增效全攻略
  • 【Docker】RedHat 7.9 企业级环境 Docker 部署实战与避坑指南
  • 高效完整导出QQ空间历史说说:GetQzonehistory智能备份工具全解析
  • 当fishros遇见快马AI:描述你的多机器人系统构想,自动生成ROS2通信框架代码
  • 全国靠谱号码认证服务商有哪些?2026年无隐形消费+透明报价平台推荐 - 企业服务推荐
  • 国产芯片LT8619C在智能投影仪中的应用:从HDMI到RGB的完整信号链解析
  • 细说API:颠覆认知!重新认识RESTful的真正精髓
  • 3大优势!Scarab模组管理工具使用技巧:从新手到高手的进阶指南
  • 图灵奖得主杨立昆:谁将是人工智能的受益者?
  • 实战指南:基于快马平台构建企业级openclaw启动框架,涵盖多任务与监控
  • 从Oracle DBA视角看达梦DM8:在Windows Server上快速搭建一个可用的测试环境
  • ESP32C3玩转MPU6500:从数据读取到姿态解算的进阶实践指南
  • [git 删除]
  • C++ 智能指针的性能分析
  • PoeCharm:流放之路角色构建优化工具全解析
  • 模块化多电平变换器MMC(380V交流 - 800V直流整流/逆变)仿真全解析
  • 用Python和NumPy搞定滑模控制(SMC):一个二阶非线性系统的保姆级仿真教程
  • 告别重复劳动:用快马生成的ai agent代码自动化处理日常邮件
  • 新手福音:在快马平台跟随交互式教程轻松搞定openclaw安装
  • 想找口碑好的专业导丝磨床?这里为你揭晓答案!
  • 深入解析Xilinx FFT IP核:配置、仿真与性能优化实战
  • 让大模型少说废话:那些真正能省Token的技巧
  • 5分钟搞定!Fan Control风扇控制软件完整安装与优化指南
  • 【51 单片机入门到进阶】02 准备:STC_ISP软件安装使用