温馨提示×

linux minio怎样集群

小樊
36
2026-10-16 05:59:32
栏目: 智能运维

在 Linux 上部署 MinIO 集群(分布式模式),通常用于生产环境,实现高可用和横向扩展。下面我按实用、可落地的方式给你讲清楚。


一、MinIO 集群基本概念

MinIO 集群叫做 Distributed MinIO,特点:

  • 至少 4 个磁盘(或节点)
  • 每个节点运行相同的 minio 二进制
  • 所有节点使用相同的启动命令
  • 数据按 纠删码(Erasure Code) 分布

✅ 推荐架构:

  • 4 / 6 / 8 / 16 个节点
  • 每节点 1~多块磁盘
  • 万兆网络

二、准备工作(所有节点都要做)

1️⃣ 系统要求

  • Linux(CentOS / Ubuntu / Rocky 等)
  • 时间同步(NTP)
  • 关闭防火墙或放行端口(默认 9000)

2️⃣ 创建用户(可选但推荐)

useradd -m minio

3️⃣ 下载 MinIO

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

三、磁盘准备(每个节点)

假设每台机器有:

/data1
/data2

格式化并挂载(示例):

mkfs.xfs /dev/sdb
mkdir -p /data1
mount /dev/sdb /data1

⚠️ 不要使用 RAID,MinIO 自己管理冗余。


四、编写启动命令(重点)

假设有 4 台服务器:

192.168.1.11
192.168.1.12
192.168.1.13
192.168.1.14

每台机器执行完全相同的命令:

minio server \
  http://192.168.1.11/data1 http://192.168.1.11/data2 \
  http://192.168.1.12/data1 http://192.168.1.12/data2 \
  http://192.168.1.13/data1 http://192.168.1.13/data2 \
  http://192.168.1.14/data1 http://192.168.1.14/data2 \
  --console-address ":9001"

✅ 说明:

  • 所有节点命令一致
  • /data1 /data2 是本地磁盘路径
  • 9000 是 API 端口
  • 9001 是 Web 控制台

五、使用 systemd 管理(推荐)

1️⃣ 创建环境文件

vim /etc/default/minio

内容:

MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin123
MINIO_VOLUMES="http://192.168.1.11/data1 http://192.168.1.11/data2 \
http://192.168.1.12/data1 http://192.168.1.12/data2 \
http://192.168.1.13/data1 http://192.168.1.13/data2 \
http://192.168.1.14/data1 http://192.168.1.14/data2"
MINIO_OPTS="--console-address :9001"

2️⃣ systemd 服务文件

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

[Service]
User=minio
Group=minio
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES $MINIO_OPTS
Restart=always

[Install]
WantedBy=multi-user.target

3️⃣ 启动

systemctl daemon-reload
systemctl enable minio
systemctl start minio

六、验证集群

1️⃣ 查看状态

systemctl status minio

2️⃣ 浏览器访问

http://任意节点IP:9001

3️⃣ 命令行测试

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

七、常见注意事项(很重要)

✅ 所有节点时间必须同步
✅ 所有节点 MinIO 版本一致
✅ 不要混用不同磁盘数量
✅ 不要手动改数据目录
❌ 不支持动态加节点(需扩容重建)


八、简单拓扑示意

        Client
           |
   -------------------
   |   |   |   |   |
 Node1 Node2 Node3 Node4

如果你愿意,我可以:

  • 帮你写 一键部署脚本
  • 帮你设计 4 / 8 / 16 节点方案
  • 教你 MinIO + Nginx + HTTPS
  • 讲 MinIO 和 Ceph 的区别

你现在是 测试环境还是生产环境?

0 踩