温馨提示×

centos minio怎样扩容

小樊
48
2026-10-11 18:48:11
栏目: 智能运维

在 CentOS 上扩容 MinIO,要根据你使用的是 单机模式(standalone) 还是 分布式模式(distributed) 来决定方式。下面分情况说明。


一、MinIO 扩容核心原则

  • MinIO 不支持“原地修改已有磁盘容量”来扩容(例如把 100G 磁盘直接扩到 200G 不推荐)
  • 推荐方式:
    • ✅ 增加新磁盘 / 新目录
    • ✅ 增加新节点(分布式)
  • 扩容后 不支持缩容

二、单机模式(Standalone)扩容

方式 1:增加新磁盘或新目录(推荐)

MinIO 单机可以通过 多磁盘聚合 来扩容。

示例(原来 1 块盘,新增 1 块)

# 原数据目录
/data/minio1

# 新磁盘挂载
/data/minio2

修改启动命令或 systemd 服务:

minio server /data/minio1 /data/minio2

或 docker:

docker run -d \
  -v /data/minio1:/data1 \
  -v /data/minio2:/data2 \
  minio/minio server /data1 /data2

✅ 容量 = 两块盘之和
⚠️ 原来数据仍在,新数据自动分布


方式 2:直接挂载更大磁盘(不推荐)

如果是云服务器:

  • 可以 先挂新盘
  • 把旧数据 mc mirror 或 rsync 迁移过去
  • 再切换挂载点

三、分布式模式(Distributed)扩容(重点)

✅ 官方推荐:扩 Server Pool(池)

原集群

4 节点 × 1 盘 = 4 盘

扩容方式

新增 同样规格的 Server Pool

minio server \
  http://node{1...4}/data/minio \
  http://node{5...8}/data/minio

⚠️ 要求:

  • 新 Pool 节点数 ≥ 原 Pool
  • 磁盘数一致
  • 架构一致(不能混 SSD/HDD)

✅ 扩容后:

  • 老数据不变
  • 新上传数据分布到所有 Pool

四、CentOS systemd 示例

原 service

ExecStart=/usr/local/bin/minio server /data/minio1

扩容后

ExecStart=/usr/local/bin/minio server /data/minio1 /data/minio2
systemctl daemon-reload
systemctl restart minio

五、常见错误 ❌

错误 说明
直接 resize2fs 扩盘 MinIO 不感知
修改原磁盘路径 数据可能丢失
不同盘数 Pool 混用 启动失败
单机改分布式 不支持

六、生产建议 ✅

  • 使用 分布式 + Server Pool
  • 至少 4 块盘起步
  • 使用 erasure code
  • 配合 mc admin info 查看容量

如果你愿意,可以告诉我:

  • MinIO 版本
  • 当前是 单机 / 分布式
  • CentOS 版本
  • 是否用 Docker

我可以给你 精确扩容命令。

0 踩