0
点赞
收藏
分享

微信扫一扫

MinIO 分布式模式

什么是 MinIO 分布式模式?

分布式 MinIO 是 MinIO 的高可用部署方式,它将多个独立的 MinIO 服务器组成一个集群,对外提供统一的 S3 接口,具备:

特性

说明

✅ 高可用(HA)

节点宕机不影响服务

✅ 数据冗余

基于纠删码,自动保护数据

✅ 无限扩展

支持水平扩展(Scale-out)

✅ 统一命名空间

所有节点共享一个 bucket 空间

✅ 原生 S3 兼容

与 AWS S3 完全兼容

实战:部署 4 节点分布式 MinIO 集群

环境准备

  • 4 台 Linux 服务器(或 4 个 Docker 容器)
  • 每台服务器挂载一个独立磁盘(如 /data1
  • 开放端口:9000(API)、9001(控制台)

方法一:使用命令行部署(推荐)

每台服务器上执行相同命令

export MINIO_ROOT_USER="admin"
export MINIO_ROOT_PASSWORD="password123"

minio server \
  http://node1/data1 \
  http://node2/data1 \
  http://node3/data1 \
  http://node4/data1

📌 关键点

  • 所有节点执行相同命令
  • 使用 http://<hostname> 指定各节点地址
  • MinIO 自动协商形成集群

方法二:使用 Docker 部署(开发测试)

# docker-compose.yml
version: '3.7'

services:
  minio1:
    image: minio/minio
    volumes:
      - ./data1:/data1
    environment:
      - MINIO_ROOT_USER=admin
      - MINIO_ROOT_PASSWORD=password123
    command: server http://minio{1...4}/data1
    ports:
      - "9000:9000"
      - "9001:9001"

  minio2:
    image: minio/minio
    volumes:
      - ./data2:/data1
    environment:
      - MINIO_ROOT_USER=admin
      - MINIO_ROOT_PASSWORD=password123
    command: server http://minio{1...4}/data1

  minio3:
    image: minio/minio
    volumes:
      - ./data3:/data1
    environment:
      - MINIO_ROOT_USER=admin
      - MINIO_ROOT_PASSWORD=password123
    command: server http://minio{1...4}/data1

  minio4:
    image: minio/minio
    volumes:
      - ./data4:/data1
    environment:
      - MINIO_ROOT_USER=admin
      - MINIO_ROOT_PASSWORD=password123
    command: server http://minio{1...4}/data1

启动:

docker-compose up -d

🧪 验证与测试

1. 访问控制台

http://<任意节点IP>:9000

登录后可见:

  • 集群总容量 = 所有磁盘之和
  • 所有节点状态(绿色为正常)

2. 创建 Bucket 并上传文件

  • 任意节点上传,其他节点自动同步
  • 文件被自动分片存储

3. 模拟节点宕机

关闭 minio3 容器或服务器:

docker stop minio3

观察控制台:

  • minio3 显示为离线
  • 服务依然可用(读写正常)
  • 上传新文件仍成功(纠删码重新分布)

恢复节点后,MinIO 自动同步数据并恢复集群状态。

举报

相关推荐

0 条评论