温馨提示×

Linux中Minio如何实现集群

小樊
55
2026-07-14 14:36:06
栏目: 智能运维

Linux 环境下部署 MinIO 集群(纠删码模式),核心思路是:
多个节点 + 多块磁盘 + 统一启动参数 + 负载均衡。下面给你一套可落地、生产可用的方案


一、MinIO 集群基本原理

  • 纠删码(Erasure Code):数据可分片、可容错
  • 最少 4 个磁盘(或 4 个节点)
  • 任意节点挂掉 ≤ N/2,数据仍可用
  • 强烈建议使用奇数节点或 4/6/8 等偶数节点

最小集群示例:

4 个节点 × 1 块磁盘
或
2 个节点 × 4 块磁盘

二、环境准备(示例)

1️⃣ 节点规划

节点 IP
minio1 192.168.1.10
minio2 192.168.1.11
minio3 192.168.1.12
minio4 192.168.1.13

每个节点准备磁盘目录:

/mnt/disk1
/mnt/disk2

2️⃣ 系统要求

# 关闭 swap(推荐)
swapoff -a

# 时间同步
timedatectl set-ntp true

# 防火墙放行端口(默认 9000)
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --reload

三、安装 MinIO(所有节点)

1️⃣ 下载二进制

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
mv minio /usr/local/bin/

2️⃣ 创建用户(推荐)

useradd -r -s /bin/false minio

四、MinIO 集群配置(关键)

1️⃣ 创建配置文件

mkdir -p /etc/minio

编辑 /etc/minio/minio.conf

MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin123

⚠️ 所有节点必须一致


2️⃣ 启动参数(重点)

所有节点执行相同命令(磁盘路径一致)

minio server \
  http://192.168.1.10/mnt/disk1 \
  http://192.168.1.10/mnt/disk2 \
  http://192.168.1.11/mnt/disk1 \
  http://192.168.1.11/mnt/disk2 \
  http://192.168.1.12/mnt/disk1 \
  http://192.168.1.12/mnt/disk2 \
  http://192.168.1.13/mnt/disk1 \
  http://192.168.1.13/mnt/disk2

8 块磁盘 = 纠删码模式自动启用


3️⃣ 使用 systemd(推荐)

创建服务文件

vim /etc/systemd/system/minio.service
[Unit]
Description=MinIO
After=network.target

[Service]
User=minio
Group=minio
EnvironmentFile=/etc/minio/minio.conf
ExecStart=/usr/local/bin/minio server \
  http://192.168.1.10/mnt/disk1 \
  http://192.168.1.10/mnt/disk2 \
  http://192.168.1.11/mnt/disk1 \
  http://192.168.1.11/mnt/disk2 \
  http://192.168.1.12/mnt/disk1 \
  http://192.168.1.12/mnt/disk2 \
  http://192.168.1.13/mnt/disk1 \
  http://192.168.1.13/mnt/disk2

Restart=always

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable minio
systemctl start minio

五、验证集群状态

1️⃣ 访问控制台

http://任意节点IP:9000

2️⃣ 查看集群信息

mc alias set myminio http://192.168.1.10:9000 minioadmin minioadmin123
mc admin info myminio

六、生产环境建议(非常重要)

✅ 负载均衡(必须)

使用 Nginx / HAProxy

upstream minio {
    server 192.168.1.10:9000;
    server 192.168.1.11:9000;
    server 192.168.1.12:9000;
    server 192.168.1.13:9000;
}

server {
    listen 9000;
    location / {
        proxy_pass http://minio;
    }
}

✅ 磁盘建议

  • XFS 文件系统
  • 不用 RAID
  • 每节点 ≥ 4 块盘

✅ 纠删码规则

磁盘数 数据 校验
8 4 4
16 8 8

最多允许 N/2 磁盘损坏


七、常见错误

❌ 节点配置不一致
❌ 磁盘路径不同
❌ 时间不同步
❌ 防火墙未放行
❌ 使用 localhost


八、简化版(单机多盘模拟集群)

minio server /data/disk{1..8}

⚠️ 仅测试,不用于生产


九、总结一句话

MinIO 集群 = 多节点 + 多盘 + 统一启动参数 + 负载均衡


如果你愿意,我可以帮你:

  • ✅ 设计 4/6/8 节点生产方案
  • ✅ 配置 HTTPS + 域名
  • ✅ 对接 Kubernetes
  • ✅ 做 性能 & 容灾测试

直接告诉我你的 节点数 + 磁盘数 + 用途 即可。

0