在虚拟化环境中部署 MinIO 的最佳实践

在虚拟化环境中部署 MinIO 的最佳实践

虚拟化数据中心为企业提供软件定义的基础设施——服务器、存储、网络——从而实现云的运营效率和灵活性。将软件与硬件分离使 IT 能够灵活地在共享的基础设施资源池上运行多个工作负载。虚拟化为企业提供了持续创新以满足业务目标的方法,而不是将资源投入到维护严格配置的服务器群中。虚拟化允许自动化和编排,消除管理底层基础设施的负担,加快服务交付,同时降低运营费用。    

出于多种原因,客户在虚拟化环境中使用 MinIO。首先,MinIO 用于将云原生对象存储引入软件定义的数据中心。这是在虚拟化环境中部署 MinIO 对象存储的主要用例。我们的企业客户通常运行VMware vSphere,但这些技巧适用于任何管理程序。

这篇博文重点介绍在虚拟化环境中部署 MinIO 的最佳实践。这些建议旨在作为一个起点,帮助您确保将 MinIO 安装到配置为提供预期性能和持久性保证的环境中。

部署指南

在虚拟化环境中部署 MinIO 时,确保具备适当的条件以充分利用 MinIO 非常重要。MinIO 是一个高性能系统,部署在 32 节点集群上时,聚合速度最高可达 1.32 Tbps PUT 和 2.6 Tbps GET。确保遵循贵组织在虚拟化环境中部署高性能应用程序的最佳实践。

避免“吵闹的邻居”问题。为了充分利用 MinIO,它应该是在管理程序上运行的唯一工作负载,就像您在虚拟化环境中对任何高性能系统所做的一样。这将防止因工作负载在其他 VM 上运行时消耗资源而导致的性能损失。

适当地配置网络。确保有(超过)足够的以太网交换机带宽来满足您计划使用 MinIO 运行的应用程序的要求。您可以使用像mperf  这样的简单工具来进行测试。您可以使用全面的WARP 基准测试工具来查看您的 MinIO 集群在各种工作负载下的表现。

确保可用性。每个 MinIO VM 都应该在其自己的专用管理程序上运行。MinIO 使用纠删码来确保数据的可用性和持久性。您可以看到 MinIO 如何使用这个方便的工具使用纠删码处理磁盘或节点的丢失在同一个管理程序上拥有给定集群的多个 VM 会带来单个管理程序关闭的集群数量超过预期的风险,这可能会影响 MinIO 提供的 HA 和持久性保证。

消除人为瓶颈。为了获得最佳性能,MinIO 需要本地磁盘来支持要求苛刻的工作负载。因此,你不应该在其他提供自己持久性的系统之上运行 MinIO。这是不必要的,因为保存在 MinIO 中的数据是纠删码的,并在下面运行其他具有自己的持久性方法的系统会造成人为的瓶颈。此类系统的示例包括 RAID、LVM 或 ZFS 池。不要在 NFS、GlusterFS、GPFS 等分布式文件系统之上运行 MinIO。不要在精简磁盘上运行 MinIO。目标是降低复杂性和潜在的瓶颈,并最大限度地提高性能。例如,您可以在 SAN 磁盘上运行 MinIO,但这会增加一层额外的复杂性,并且难以跨共享存储执行性能要求。

准备虚拟机。如果您的管理程序提供来宾优化,请确保安装了当前版本(例如 VMware Tools)以确保您充分利用虚拟硬件的功能。

部署要求

MinIO 对 CPU 和 RAM 有轻量级的要求该软件几乎可以在任何硬件上运行,如果配置得当,它非常适合虚拟化环境。

MinIO 性能的唯一限制是 I/O,这意味着读取和写入只能与底层 I/O 系统一样快,即驱动器、控制器或网络等。基准测试反复证明 MinIO 是网络绑定的,仅限于通过可用带宽。理想情况下,在 MinIO 上运行的工作负载也应该受网络限制。    

对于纯功能测试,MinIO 可以在像 Raspberry Pi 这样轻便的硬件上运行。因此,即使是规格非常低的 VM 也可以工作。这对想要学习和试验便携式 S3 兼容对象存储的人很有帮助,但不是生产的正确选择。

生产实施对底层基础设施提出了更高的要求。列出的要求是确保成功部署高性能生产集群的一个很好的起点。为了在虚拟化环境中获得最佳的 MinIO 体验,我们建议使用以下规范进行测试(每个 VM):

  • 8个虚拟CPU

  • 32GB 内存

  • 4 个磁盘(由物理磁盘支持,如上所述)。虽然运行更少的磁盘没有技术限制,但您将无法对磁盘故障或纠删码设置进行可靠的测试,并且您可能没有足够的吞吐量来处理非常大的工作负载。

  • 10Gbps 网络。请使用上面列出的 mperf 工具来确保 VM 提供预期的吞吐量。在一些较旧的虚拟机管理程序中,对磁盘施加了人为的带宽限制。尽管可以使用低于 10Gbps 的网络,但请记住,即使是网络密集型的小型工作负载也会很快使 1Gbps 网络饱和

通过使用上面提到的 WARP 基准测试工具,您可以确定是否需要额外的资源来满足应用程序的要求。

用于虚拟化环境的高性能对象存储

轻量级但可扩展、有弹性且高性能,MinIO 将多租户云原生对象存储引入虚拟化环境。添加世界上最快的对象存储,充分利用软件定义的数据中心。

今天开始下载 MinIO如果您对在虚拟化环境中充分利用 MinIO 有任何疑问,请联系我们 sales@minio.org.cn 或加入Slack 社区


上一篇 下一篇