文档

硬件清单

在规划生产分布式 MinIO 部署的硬件配置时,请使用以下清单。

注意事项

在为您的 MinIO 实施选择硬件时,请考虑以下因素

  • 启动时要存储的预计数据量(以 tebibytes 为单位)

  • 预计至少在未来两年内数据规模的增长

  • 按平均对象大小计算的对象数量

  • 数据的平均保留时间(以年为单位)

  • 要部署的站点数量

  • 预期存储桶数量

生产硬件推荐

以下清单遵循 MinIO 的 推荐配置 用于生产部署。提供的指导旨在作为基线,不能替代 MinIO SUBNET 性能诊断、架构审查和直接向工程支持。

与任何分布式系统一样,MinIO 能够从为给定 服务器池 中的所有节点选择相同的配置中获益。确保在池节点之间一致地选择硬件(CPU、内存、主板、存储适配器)和软件(操作系统、内核设置、系统服务)。

如果节点具有不同的硬件或软件配置,则部署可能会表现出不可预测的性能。从将陈旧数据存储在成本较低的硬件中获益的工作负载应该改为部署专用的“暖”或“冷”MinIO 部署,并将数据 迁移 到该层。

MinIO 不提供托管服务或硬件销售

请参阅我们的 参考硬件 页面,了解我们硬件合作伙伴提供的精选服务器和存储组件。

描述

最低

推荐

专用于为 MinIO 租户提供服务的 Kubernetes 工作节点。

每个租户 4 个工作节点

每个租户 8 个以上工作节点

为 MinIO 租户提供的专用持久卷.

每个 MinIO 服务器 Pod 4 个 PV

每个 MinIO 服务器 Pod 8 个以上 PV

高速网络基础设施.

25GbE

100GbE

支持现代 SIMD 指令 (AVX-512) 的服务器级 CPU,例如 Intel® Xeon® 可扩展或更高。

每个 MinIO Pod 4 个 vCPU

每个 MinIO Pod 8 个以上 vCPU

可用于满足或超过每台服务器使用量的可用内存,并留有合理的缓冲区。

每个工作节点 32GB 可用内存

每个工作节点 128GB 以上可用内存

重要

以下区域对 MinIO 性能的影响最大,按重要性顺序排列

网络基础设施

吞吐量不足或有限会限制性能

存储控制器

旧固件、吞吐量有限或硬件故障会限制性能并影响可靠性

存储(驱动器)

旧固件或速度慢/老化/故障的硬件会限制性能并影响可靠性

在专注于其他硬件资源(例如与计算相关的约束)之前,优先确保为这些区域中的每一个区域获得必要的组件。

以上最低推荐反映了 MinIO 在帮助企业客户在各种 IT 基础设施上进行部署时,同时保持所需 SLA/SLO 的经验。虽然 MinIO 可以在低于最低推荐的拓扑结构上运行,但任何潜在的成本节省都伴随着可靠性、性能或整体功能下降的风险。

网络

MinIO 建议使用高速网络以支持所连接存储的最大可能吞吐量(聚合驱动器、存储控制器和 PCIe 总线)。下表提供了给定物理或虚拟网络接口支持的最大存储吞吐量的通用指南。此表假设所有网络基础设施组件(如路由器、交换机和物理布线)也支持 NIC 带宽。

NIC 带宽 (Gbps)

估计的聚合存储吞吐量 (GBps)

10Gbps

1.25GBps

25Gbps

3.125GBps

50Gbps

6.25GBps

100Gbps

12.5GBps

网络对 MinIO 性能的影响最大,其中每个主机带宽低会人为地限制存储的潜在性能。以下网络吞吐量约束示例假定旋转磁盘具有约 100MB/S 的持续 I/O

  • 1GbE 网络链路可以支持高达 125MB/s,或一个旋转磁盘

  • 10GbE 网络可以支持大约 1.25GB/s,可能支持 10-12 个旋转磁盘

  • 25GbE 网络可以支持大约 3.125GB/s,可能支持约 30 个旋转磁盘

内存

内存主要限制每个节点的并发连接数。

您可以使用以下公式计算每个节点的最大并发请求数

\(totalRam / ramPerRequest\)

要计算每个请求使用的 RAM 量,请使用以下公式

\(((2MiB + 128KiB) * driveCount) + (2 * 10MiB) + (2 * 1 MiB)\)

10MiB 是默认的擦除块大小 v1。1 MiB 是默认的擦除块大小 v2。

下表列出了基于主机驱动器数量和空闲系统 RAM 的节点上的最大并发请求

驱动器数量

32 GiB RAM

64 GiB RAM

128 GiB RAM

256 GiB RAM

512 GiB RAM

4 个驱动器

1,074

2,149

4,297

8,595

17,190

8 个驱动器

840

1,680

3,361

6,722

13,443

16 个驱动器

585

1,170

2.341

4,681

9,362

下表提供了根据节点上的本地存储总量分配 MinIO 使用内存的通用指南

主机存储总量

推荐的主机内存

最多 1 Tebibyte (Ti)

8GiB

最多 10 Tebibyte (Ti)

16GiB

最多 100 Tebibyte (Ti)

32GiB

最多 1 Pebibyte (Pi)

64GiB

大于 1 Pebibyte (Pi)

128GiB

重要

RELEASE.2024-01-28T22-35-53Z 开始,MinIO 在分布式设置中为每个节点预分配 2GiB 内存,并在单节点设置中预分配 1GiB 内存。

存储

对驱动器的独占访问

MinIO **需要**对用于对象存储的驱动器或卷进行独占访问。任何其他进程、软件、脚本或人员不应直接对提供给 MinIO 的驱动器或卷或 MinIO 放置在这些驱动器或卷上的对象或文件执行任何操作。

除非 MinIO 工程团队指示,否则请勿使用脚本或工具直接修改、删除或移动提供驱动器上的任何数据分片、奇偶校验分片或元数据文件,包括从一个驱动器或节点到另一个驱动器或节点。此类操作很可能导致广泛的损坏和数据丢失,超出了 MinIO 的修复能力。

MinIO 建议为每个满足该租户性能目标的 MinIO 租户配置一个存储类别。

在可能的情况下,将 PV 底层的存储类别、CSI 或其他配置器配置为将卷格式化为 XFS 以确保最佳性能。

确保每个租户中配置的所有 PV 具有一致的底层存储类型(NVMe、SSD、HDD)。

确保每个租户中所有节点的每个 PV 的呈现容量相同 服务器池。MinIO 将每个 PV 的最大可用大小限制为池中最小的 PV。例如,如果一个池有 15 个 10TB PV 和 1 个 1TB PV,则 MinIO 将每个 PV 的容量限制为 1TB。