MinIO 新增手动重新平衡功能

MinIO Adds Manual Rebalancing

我们之前发布了一篇博文,对象存储不再需要默认重新平衡!,其中我们解释了 MinIO 不会自动重新平衡数据,而是将数据放置在分布式部署中的最佳位置。传统的分布式对象存储系统通过在集群中的节点之间分发数据来平衡数据。然后,集群运行定期重新平衡活动以在节点和驱动器之间平衡数据。当您添加节点或驱动器时,您需要重新平衡整个部署中的数据。当这些系统占用应用程序和用户的资源并将其用于重新平衡任务时,其性能会下降。

总结一下这篇文章(以及我们的一般方法),MinIO 不依赖于定期自动重新平衡,而是能够在保持 S3 操作的最佳性能的同时快速扩展。MinIO 使用服务器池快速扩展,以擦除集的形式添加容量。原理很简单:使用一组新的节点进行扩展是超大规模的移动,而使用单个驱动器或节点进行扩展则不是。原始服务器池中的对象被最佳地放置在驱动器上,现在我们正在添加一个新的服务器池,新的对象将被最佳地放置在驱动器上——瞧,无需重新平衡。

MinIO 启动新的服务器池,将其添加到现有的服务器池中,然后对存储空间填充最少的池执行新的写入操作(加权写入)。重申一下,MinIO 使用加权写入作为默认机制,因为自动重新平衡代价高昂,并消耗大量资源。

这已被证明对大多数部署非常有效,我们的客户非常喜欢快速扩展的能力。然而,一位媒体/流媒体领域的客户要求找到一种方法,可以手动将对象从现有的服务器池移动到新的服务器池。

2023-06-23T20-26-00Z版本开始,MinIO 将通过 mc admin rebalance命令支持手动重新平衡。这将在 MinIO 部署上启动、监控或停止重新平衡操作。触发手动重新平衡会提示 MinIO 扫描整个部署并根据需要移动对象,以在所有服务器池中实现大致相同的可用空间。更多详细信息请点击此处

根据需要重新平衡

客户购买 MinIO 是因为它可以作为应用程序堆栈和数据湖仓的性能高且弹性可扩展的基础。因此,他们需要能够快速增长且不会影响整体性能的软件定义对象存储。服务器池能够快速增长容量,现在 MinIO 管理员可以手动在所有服务器池(现有和新增)之间重新平衡对象。这是将新的对象存储投入使用最快的方法。与自动重新平衡相比,手动重新平衡允许您安排任务,以便它们不会干扰正常使用。 

立即下载 MinIO!如果您有任何疑问,请访问我们的Slack 频道