首页主机资讯MinIO在Ubuntu上的集群搭建流程是怎样的

MinIO在Ubuntu上的集群搭建流程是怎样的

时间2026-01-22 03:09:05发布访客分类主机资讯浏览353
导读:Ubuntu 上搭建 MinIO 分布式集群的标准流程 一 环境准备与规划 准备至少4 台 Ubuntu 20.04/22.04 服务器(或虚拟机),建议同网段,彼此可互通;每台服务器准备多个独立数据盘/目录(分布式 Erasure Co...

Ubuntu 上搭建 MinIO 分布式集群的标准流程

一 环境准备与规划

  • 准备至少4 台 Ubuntu 20.04/22.04 服务器(或虚拟机),建议同网段,彼此可互通;每台服务器准备多个独立数据盘/目录(分布式 Erasure Code 需要多盘)。
  • 安装基础组件:Docker 与 Docker Compose(推荐)或直接在主机运行二进制;统一系统时间(如 NTP);开放防火墙端口 9000/9001
  • 规划访问地址:对象 API 使用 9000,控制台使用 9001;如需对外统一入口,可前置 Nginx/负载均衡

二 方式一 Docker Compose 快速部署(推荐)

  • 安装 Docker 与 Docker Compose(Ubuntu 示例):
    • sudo apt update & & sudo apt install -y docker.io
    • sudo curl -L “https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
    • sudo chmod +x /usr/local/bin/docker-compose & & sudo systemctl enable --now docker
  • 创建项目目录与数据卷(示例为4 节点,每台挂载1 个目录):
    • mkdir -p ~/minio-cluster & & cd ~/minio-cluster
    • mkdir -p data1-1 data2-1 data3-1 data4-1
  • 创建 docker-compose.yml(示例):
    • version: ‘3.7’ services: minio1: image: minio/minio container_name: minio1 volumes: [“./data1-1:/data1”] expose: [“9000”,“9001”] environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin command: server --console-address “:9001” http://minio{ 1…4} /data1 healthcheck: test: [“CMD”, “curl”, “-f”, “http://localhost:9000/minio/health/live”] interval: 30s; timeout: 20s; retries: 3 minio2: { image: minio/minio; volumes: [“./data2-1:/data1”]; expose: [“9000”,“9001”]; environment: { MINIO_ROOT_USER: minioadmin; MINIO_ROOT_PASSWORD: minioadmin } ; command: server --console-address “:9001” http://minio{ 1…4} /data1; healthcheck: same } minio3: { image: minio/minio; volumes: [“./data3-1:/data1”]; expose: [“9000”,“9001”]; environment: { MINIO_ROOT_USER: minioadmin; MINIO_ROOT_PASSWORD: minioadmin } ; command: server --console-address “:9001” http://minio{ 1…4} /data1; healthcheck: same } minio4: { image: minio/minio; volumes: [“./data4-1:/data1”]; expose: [“9000”,“9001”]; environment: { MINIO_ROOT_USER: minioadmin; MINIO_ROOT_PASSWORD: minioadmin } ; command: server --console-address “:9001” http://minio{ 1…4} /data1; healthcheck: same }
  • 启动集群:
    • docker compose up -d
  • 访问控制台:打开浏览器访问 http://任意节点IP:9001,使用设置的 MINIO_ROOT_USER/MINIO_ROOT_PASSWORD 登录。

三 方式二 二进制部署与 systemd 管理

  • 在所有节点下载并安装二进制:
    • wget https://dl.min.io/server/minio/release/linux-amd64/minio
    • chmod +x minio & & sudo mv minio /usr/local/bin/
  • 创建数据与配置目录(每台建议多目录,示例为 data1/data2):
    • sudo mkdir -p /opt/minio/{ data1,data2,run,etc}
  • 创建启动脚本 /opt/minio/run/run.sh(所有节点一致,仅地址不同):
    • #!/bin/bash export MINIO_ROOT_USER=minioadmin export MINIO_ROOT_PASSWORD=minioadmin /usr/local/bin/minio server
      –config-dir /etc/minio
      –address “:9000”
      –console-address “:9001”
      http://192.168.1.101/opt/minio/data1 http://192.168.1.101/opt/minio/data2
      http://192.168.1.102/opt/minio/data1 http://192.168.1.102/opt/minio/data2
      http://192.168.1.103/opt/minio/data1 http://192.168.1.103/opt/minio/data2
      http://192.168.1.104/opt/minio/data1 http://192.168.1.104/opt/minio/data2
  • 创建 systemd 服务 /etc/systemd/system/minio.service:
    • [Unit] Description=MinIO Service After=network.target
    • [Service] WorkingDirectory=/opt/minio/run ExecStart=/opt/minio/run/run.sh Restart=on-failure RestartSec=5
    • [Install] WantedBy=multi-user.target
  • 启动与开机自启:
    • sudo systemctl daemon-reload
    • sudo systemctl enable --now minio
  • 访问控制台:打开 http://节点IP:9001

四 网络与防火墙配置

  • 开放端口(示例):
    • sudo ufw allow 9000/tcp
    • sudo ufw allow 9001/tcp
    • 如使用主机网络或自定义端口,请同步放行对应端口。
  • 主机名解析(可选,便于使用服务名互联):
    • 在 /etc/hosts 增加条目,如:
      • 192.168.1.101 minio1
      • 192.168.1.102 minio2
      • 192.168.1.103 minio3
      • 192.168.1.104 minio4
  • 如需对外统一域名/IP,可部署 Nginx/HAProxy 做 9000/9001 的负载均衡与 TLS 终止。

五 验证与常用运维

  • 控制台检查:登录 http://任意节点IP:9001,在控制台查看节点列表与健康状态。
  • 命令行验证(mc):
    • mc alias set myminio http://任意节点IP:9000 minioadmin minioadmin
    • mc admin info myminio
    • mc mb myminio/test & & mc cp /etc/hosts myminio/test/hosts & & mc ls myminio/test
  • 健康检查与日志:
    • docker compose ps 或 systemctl status minio
    • docker logs -f minio1 或 journalctl -u minio -f
  • 常见问题速查:
    • 节点无法加入或提示签名不一致:检查 时间同步密钥一致性访问地址可达性防火墙;使用域名时确保解析一致。
    • 目录权限:确保 MinIO 进程对数据目录具备读写权限(如属主为运行用户)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: MinIO在Ubuntu上的集群搭建流程是怎样的
本文地址: https://pptw.com/jishu/789458.html
如何在Ubuntu上定制MinIO的配置文件 Ubuntu系统中如何启动MinIO服务

游客 回复需填写必要信息