MinIO在Ubuntu上的集群安装方法
导读: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 头):
提示:生产环境建议启用 健康检查 与 会话保持,并根据并发调优 worker_connections 与 proxy_buffering off。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
五 验证与运维要点
- 集群状态与健康检查
- 安装 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
- 安装 mc 并配置别名:
- 常见问题与排查
- 时间不同步导致签名错误:启用 NTP/chrony 同步时间。
- 防火墙/安全组未放行:确保 9000/9001 及节点间通信端口开放。
- 目录权限不足:确保数据目录属主为 minio:minio。
- 浏览器访问控制台异常:确认通过 :9001 访问,且反向代理正确转发。
- 扩容思路:新增节点与磁盘后,更新所有节点的 MINIO_VOLUMES 列表并滚动重启服务,使新磁盘纳入存储池。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: MinIO在Ubuntu上的集群安装方法
本文地址: https://pptw.com/jishu/771838.html
