总体说明
在 CentOS 上,MinIO 的存储上限不是由操作系统决定,而是由 MinIO 自身的架构与配置决定。关键维度包括:部署形态(单机 vs 分布式)、纠删码/复制策略、可用磁盘数量与容量、以及是否启用桶配额等。
分布式模式的核心限制
- 单租户(一个 MinIO 实例)的纠删码部署要求最少 4 个驱动器、最多 16 个驱动器;可用容量近似为“总原始容量 × 编码效率”。纠删码读/写仲裁分别为 N/2 与 N/2+1(N 为驱动器数量)。例如 16 盘时,最多可同时丢失 8 盘且仍可读取,写入需至少 9 盘在线。
- 容量受“最小盘”限制:部署中所有驱动器的容量会被统一到“最小盘”的容量;例如 15×10TB + 1×1TB 的混布,可用容量按 1TB/盘 计算。
- 节点规模与容错:分布式模式通常建议至少 4 个节点;N 节点下只要 N/2 节点在线即可读取,需 N/2+1 节点才能写入(如 8 节点可读 4 节点、写需 5 节点)。
容量上限的直观示例
- 以常见的 4 节点 × 4 盘/节点 = 16 盘 为例,若每盘 10TB,总原始容量 160TB;采用 MinIO 默认的纠删码(如 EC: 8+8),编码效率约 50%,可用容量约 80TB。若混用 1TB 小盘,则所有盘按 1TB 计,可用容量约 16TB。
对象与桶的数量及大小限制
- 桶数量与每桶对象数量:无硬性上限(数量不设限)。
- 单对象大小上限:5TB。
- 单次 PUT 操作上限:5GB(超过需用分段上传)。
- 分段上传:单个对象最多 10000 个 Part;每个 Part 大小 5MB–5GB(最后一段可为 0B–5GB)。
单机模式的容量说明
- 单机模式没有“盘数上限”的纠删码限制,容量等于“挂载盘可用空间之和”。但单机存在单点故障风险,生产环境通常建议使用分布式部署以获得高可用与数据保护。
如何在 CentOS 上控制或扩展可用存储
- 扩展容量:新增同容量磁盘后,按顺序加入并扩容;混用容量会被“最小盘”拉低,建议同型号同容量磁盘。
- 配额管理:可按桶设置硬/软配额,限制租户或业务空间使用(例如对指定桶设置 10GB 硬配额),支持 1MB ~ 2^63-1 字节 范围。示例:
mc admin bucket quota myminio/bucket1 --hard 10GB。
- 运行要求与稳定性:各节点时间差不超过 3 秒(建议用 NTP 同步);用于纠删码的磁盘需“干净”(无旧数据);浏览器直传单文件有 5GB 限制,生产上传请使用 S3 API/客户端分段上传。