首页主机资讯MinIO在Ubuntu上的集群安装方法

MinIO在Ubuntu上的集群安装方法

时间2025-12-15 17:25:04发布访客分类主机资讯浏览248
导读:Ubuntu上部署MinIO分布式集群的实操指南 一 架构与准备 架构说明:MinIO分布式模式将多台服务器的本地磁盘聚合成一个对象存储池,通过纠删码或副本策略实现高可用与数据保护。每个节点需提供至少一个本地数据目录,集群对外提供 S3...

Ubuntu上部署MinIO分布式集群的实操指南

一 架构与准备

  • 架构说明:MinIO分布式模式将多台服务器的本地磁盘聚合成一个对象存储池,通过纠删码或副本策略实现高可用与数据保护。每个节点需提供至少一个本地数据目录,集群对外提供 S3 API(默认端口 9000)控制台(默认端口 9001)
  • 节点与目录示例:准备 4 台 Ubuntu 服务器,每台挂载 2 块数据盘 到本地目录(如 /data1、/data2),用于存放对象数据。
  • 网络与主机名:建议在所有节点配置 /etc/hosts 或使用 DNS,确保节点间可用主机名互通(示例:将 192.168.1.101/102/103/104 映射为 minio-node1/2/3/4)。
  • 时间同步:安装并启用 NTP/chrony,保证节点间时间一致,避免签名校验失败。
  • 防火墙放行:开放 9000(S3)9001(控制台),以及节点间通信所需端口(如采用主机网络或自定义端口时一并放行)。

二 二进制方式部署(推荐,systemd管理) 以下步骤在每台服务器上执行(以节点1为例,其他节点仅替换 IP/主机名与目录):

  • 创建系统用户与目录

    sudo useradd -r -s /usr/sbin/nologin -d /opt/minio minio
    sudo mkdir -p /opt/minio/{
    run,data1,data2}
         /etc/minio
    sudo chown -R minio:minio /opt/minio /etc/minio
    
  • 下载并安装 MinIO 二进制

    wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /opt/minio/run/minio
    chmod +x /opt/minio/run/minio
    
  • 配置环境变量(/etc/default/minio)

    sudo tee /etc/default/minio <
        <
        'EOF'
    MINIO_ROOT_USER=minioadmin
    MINIO_ROOT_PASSWORD=StrongPassw0rd!
    MINIO_VOLUMES="http://minio-node1:9000/data1 http://minio-node1:9000/data2 \
                  http://minio-node2:9000/data1 http://minio-node2:9000/data2 \
                  http://minio-node3:9000/data1 http://minio-node3:9000/data2 \
                  http://minio-node4:9000/data1 http://minio-node4:9000/data2"
    MINIO_OPTS="--address :9000 --console-address :9001"
    EOF
    

    说明:上述 MINIO_VOLUMES 列出集群内所有磁盘路径;MINIO_OPTS 固定 API 与控制台端口。

  • 创建 systemd 服务(/etc/systemd/system/minio.service)

    sudo tee /etc/systemd/system/minio.service <
        <
        'EOF'
    [Unit]
    Description=MinIO
    Documentation=https://min.io/docs/minio/linux/index.html
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    Type=notify
    User=minio
    Group=minio
    EnvironmentFile=-/etc/default/minio
    ExecStart=/opt/minio/run/minio server $MINIO_OPTS $MINIO_VOLUMES
    ExecReload=/bin/kill -HUP $MAINPID
    Restart=always
    LimitNOFILE=65536
    TasksMax=infinity
    TimeoutStopSec=infinity
    SendSIGKILL=no
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
  • 启动与开机自启

    sudo systemctl daemon-reload
    sudo systemctl enable --now minio
    sudo systemctl status minio
    

    提示:所有节点使用相同的 MINIO_VOLUMES 列表,MinIO 会自动组成统一存储池;控制台可通过任意节点的 :9001 访问。

三 Docker方式部署(可选) 如倾向容器化,可用 Docker 快速拉起集群(以两台服务器为例,每台挂载两块盘):

  • 准备数据卷

    docker volume create minio-data1
    docker volume create minio-data2
    
  • 启动容器(两台服务器均执行,注意替换主机名)

    docker run -d --name minio \
      --restart=always \
      --net=host \
      -e "MINIO_ROOT_USER=minioadmin" \
      -e "MINIO_ROOT_PASSWORD=StrongPassw0rd!" \
      -v minio-data1:/data1 \
      -v minio-data2:/data2 \
      minio/minio server \
      --address ":9000" \
      --console-address ":9001" \
      http://minio-node1:9000/data1 http://minio-node1:9000/data2 \
      http://minio-node2:9000/data1 http://minio-node2:9000/data2
    

    说明:使用 –net=host 可简化端口映射;如需桥接网络,请映射 9000:9000、9001:9001 并确保互通。

四 负载均衡与高可用

  • 使用 Nginx 做四层/七层反向代理,对外暴露统一入口(示例为四层 TCP 转发;如需七层 HTTP,可按需调整 upstream 与 proxy 头):
    sudo apt-get install -y nginx
    sudo tee /etc/nginx/sites-available/minio <
        <
    'EOF'
    upstream minio_s3 {
        
        server 192.168.1.101:9000;
        
        server 192.168.1.102:9000;
        
        server 192.168.1.103:9000;
        
        server 192.168.1.104:9000;
    
    }
    
    upstream minio_console {
        
        server 192.168.1.101:9001;
        
        server 192.168.1.102:9001;
        
        server 192.168.1.103:9001;
        
        server 192.168.1.104:9001;
    
    }
    
    server {
        
        listen 9000;
        
        proxy_pass minio_s3;
        
        proxy_timeout 300s;
    
    }
    
    server {
        
        listen 9001;
        
        proxy_pass minio_console;
        
        proxy_timeout 300s;
    
    }
        
    EOF
    sudo ln -s /etc/nginx/sites-available/minio /etc/nginx/sites-enabled/
    sudo nginx -t &
        &
         sudo systemctl reload nginx
    
    提示:生产环境建议启用 健康检查会话保持,并根据并发调优 worker_connectionsproxy_buffering off

五 验证与运维要点

  • 集群状态与健康检查
    • 安装 mc 并配置别名:
      wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
      chmod +x /usr/local/bin/mc
      mc alias set myminio http://<
          任一节点IP>
          :9000 minioadmin 'StrongPassw0rd!'
      
    • 查看集群信息:
      mc admin info myminio
      
  • 常见问题与排查
    • 时间不同步导致签名错误:启用 NTP/chrony 同步时间。
    • 防火墙/安全组未放行:确保 9000/9001 及节点间通信端口开放。
    • 目录权限不足:确保数据目录属主为 minio:minio
    • 浏览器访问控制台异常:确认通过 :9001 访问,且反向代理正确转发。
    • 扩容思路:新增节点与磁盘后,更新所有节点的 MINIO_VOLUMES 列表并滚动重启服务,使新磁盘纳入存储池。

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


若转载请注明出处: MinIO在Ubuntu上的集群安装方法
本文地址: https://pptw.com/jishu/771838.html
Ubuntu MinIO安装过程中的日志分析 Ubuntu系统如何选择合适的MinIO版本安装

游客 回复需填写必要信息