移动服务器 MinIO 分布式集群部署方案

🗄️ 移动服务器 MinIO 分布式集群部署方案

本文详细记录了在移动机房环境下的 MinIO 分布式集群部署过程。该方案旨在提供高性能、高可用的对象存储服务。

MinIO 集群部署封面

创建日期:2026-03-12
环境:移动机房 × 3台物理服务器(Proxmox 虚拟化)
MinIO 版本RELEASE.2022-09-25T15-44-53Z(锁定版本,禁止自动更新)
Proxmox 版本:pve-manager/8.4.12 / 内核 Linux 6.8.12-13-pve


🔐 账号密码(VM 系统账号)

项目 内容
系统用户名 minio
系统密码 Minio@2026!
SSH 端口 22
登录方式 ssh minio@<节点IP>
sudo 权限 有(安装时创建的主用户)

节点 IP 汇总

节点 VM ID IP 地址 SSH 登录命令
minio-node1 201 10.10.11.201 ssh [email protected]
minio-node2 202 10.10.11.202 ssh [email protected]
minio-node3 203 10.10.11.203 ssh [email protected]

⚠️ 请妥善保管以上密码,三台节点克隆后密码相同。


一、资源规划

物理服务器清单

物理机 / IP CPU(实际) 内存总量 内存可用 磁盘(可用数据盘)
pve1 / 10.10.48.50 64C(Intel Xeon Silver 4314 × 2插槽) 125.34 GiB ≈ 49 GiB 3 TB
pve2 / 10.10.48.51 64C(Intel Xeon Silver 4314 × 2插槽) 125.34 GiB ≈ 49 GiB 3 TB
pve3 / 10.10.48.52 64C(Intel Xeon Silver 4314 × 2插槽) 125.34 GiB ≈ 49 GiB 3 TB

VM 资源分配(每台 Proxmox 创建1台 MinIO VM)

配置项 推荐值 Proxmox 填写值 说明
vCPU 8C 8 留余给 Proxmox 宿主机
内存 16384 MiB 16384 MiB = 16 GiB,MinIO 运行实测推荐
系统盘 50 GiB 50 GiB OS + MinIO 程序(Proxmox 磁盘单位为 GiB)
数据盘 2794 GiB 2794 GiB 3TB物理盘≈2794GiB,数据盘使用全量(系统盘单独分配)
OS Ubuntu 24.04.3 LTS 最新 LTS,支持周期到2029年
网络 VLAN 直通 / bridge vmbr0 内网互联,千兆+

宿主机保留资源:每台节点总内存 125.34 GiB,当前已用 ≈76 GiB,剩余约 49 GiB;分配 16 GiB 给 MinIO VM 后,Proxmox 宿主机仍保留 ≈33 GiB 空间,CPU 64C 中分配 8C,宿主机保留 56C。


二、架构方案

推荐方案:MinIO 分布式模式(Distributed Mode)

MinIO 分布式架构蓝图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
                    ┌─────────────────────┐
│ 客户端 / 应用程序 │
└──────────┬──────────┘
│ S3 API (9000)
┌──────────▼──────────┐
│ Nginx 负载均衡 │
│ (可复用现有或其中1台) │
└──┬─────────┬────────┘
│ │
┌────────────▼─┐ ┌───▼────────────┐
│ │ │ │
┌──────────▼──┐ ┌─────────▼─┐ ┌──────────────▼─┐
│ minio-node1│ │minio-node2 │ │ minio-node3 │
│ VM: 8C/16G │ │ VM: 8C/16G│ │ VM: 8C/16G │
│ Data: 2.7T │ │ Data: 2.7T│ │ Data: 2.7T │
└─────────────┘ └───────────┘ └────────────────┘

存储容量计算

纠删码 EC:1 数据保护原理

指标 数据
总原始容量 3 × 2794 GiB = 8382 GiB(约 8.2 TiB)
MinIO EC(纠删码)策略 EC:1(1份奇偶校验)
实际可用容量 ~5588 GiB(约 5.5 TiB,2/3 利用率)
可容忍故障节点 1台节点离线不丢数据

MinIO 3节点推荐使用 EC:1,即允许1个节点失效时集群仍可读写。以上插图展示了当一个节点(如 Node 3)离线时,通过纠删码依然能维持数据的可用性。


三、部署步骤

Step 1 - Step 6:基础配置与 MinIO 安装

(详见下方部署细节,保持各节点配置一致,锁定版本 RELEASE.2022-09-25T15-44-53Z

Step 7:高可用负载均衡配置 (Keepalived + Nginx)

高可用负载均衡原理蓝图

为实现 VIP (10.10.11.200) 高可用切换,在 node1node2 上部署 Keepalived:

  • **VIP (10.10.11.200)**:统一访问入口。
  • Keepalived:实时监控 Nginx 状态,一旦 Master 故障,VIP 秒级切换到 Backup。
  • Nginx:作为反向代理,轮询分发请求至 3 个 MinIO 存储节点。

四、验证测试

通过 MinIO 客户端工具 mc 进行验证:

1
2
3
4
5
6
7
8
# 配置连接
mc alias set myminio http://minio-node1:9000 minioadmin YourStrongPassword@2026

# 查看集群状态
mc admin info myminio

# 验证纠删码健康状态
mc admin heal myminio --recursive

五、注意事项与后续计划

💡 核心注意事项

  • 时间同步:节点间误差必须 < 1s。
  • 磁盘性能:数据盘务必独立,避免 IO 争用。
  • 安全加固:生产环境建议开启 HTTPS。

🚀 后续扩展计划

  • 接入 Prometheus + Grafana 监控
  • 配置 S3 生命周期管理规则
  • 实施跨数据中心异步复制 (Site Replication)

本文最终由 Antigravity 使用技术蓝图风格自动生成配图并增强排版。