本文将介绍使用MinIO的软件及硬件要求,帮助您规划生产环境的MinIO部署。
💻 软件清单
官方参考: https://min.io/docs/minio/linux/operations/checklists/software.html
在规划生产分布式MinIO部署的软件配置时,请使用以下清单。
MinIO先决条件
- 运行具有5.x+内核的Linux操作系统的服务器,例如Red Hat Enterprise Linux(RHEL)9或Ubuntu LTS 20.04+
- 系统管理员对远程服务器的访问权限
- 用于分布式系统的管理工具,例如用于编排环境的Ansible、Terraform或Kubernetes。Kubernetes基础设施应该使用MinIO Operator以获得最佳结果。
- 用于处理请求路由的负载均衡器(例如NGINX)
- Prometheus/Grafana设置用于监控和指标
- (可选)MC安装在本地主机系统上
🖥️ 硬件清单
官方参考: https://min.io/docs/minio/linux/operations/checklists/hardware.html#minio-hardware-checklist
CPU要求
MinIO推荐使用双英特尔®至强®可扩展金牌CPU(每个插槽至少8个内核)或任何带有AVX512指令的CPU。
内存要求
- 足够的RAM来实现基于驱动器数和预期并发请求的性能目标(请参阅公式和参考表)
- MinIO建议每个节点至少128GB内存以获得最佳性能
节点要求
- 至少四个专用于对象存储的节点
- 对于虚拟化环境中的容器或Kubernetes,MinIO需要四个不同的物理节点。在同一节点上共置多个高性能软件可能会导致资源争用并降低整体性能。
存储要求
- SATA/SAS驱动器可实现平衡的容量与性能
- 用于高性能的NVMe固态硬盘
- MinIO建议每台服务器至少8个驱动器
- 在部署中的所有节点上使用具有相同容量的相同类型的驱动器(NVMe、SSD或HDD)
网络要求
- 25GbE网络作为基准
- 100GbE网络实现高性能
📊 每个部署的最小节点数
MinIO建议每个部署至少4个主机服务器,每个服务器4个本地连接的驱动器。
“4x4”拓扑提供了一个性能基准,容许丢失多达4个驱动器或一个节点,同时保持读写操作。您可以提高部署的纠删码奇偶校验,以提高复原能力,但代价是可用存储。
最低建议反映了MinIO在协助企业客户部署各种IT基础架构,同时保持所需的SLA/SLO方面的经验。虽然MinIO可能在低于建议的最低拓扑上运行,但任何潜在的成本节约都会带来可靠性降低的风险。