文档

mc admin rebalance

权限

此命令要求执行此操作的用户具有 admin:Rebalance 策略操作 用于部署。

描述

mc admin rebalance 命令允许在 MinIO 部署上启动、监控或停止重新平衡操作。重新平衡将对象重新分布到部署中的所有池中。

MinIO 在添加新的服务器池时不会自动重新平衡对象。相反,MinIO 写入新对象 到与部署中其他可用池相比,具有更多可用空间的池。触发手动重新平衡过程会提示 MinIO 扫描整个部署并根据需要移动对象,以在所有池中实现类似的可用空间。

这是一个昂贵且耗时的操作。请考虑仅在部署使用量较低或没有使用时运行重新平衡过程。如果写入操作在重新平衡操作期间发生,它们会并行处理并写入不在积极重新平衡中的池。

您可以停止重新平衡并在需要时再次启动它。

使用以下命令跟踪正在进行的重新平衡操作的进度

mc admin trace --call rebalance ALIAS

在 MinIO 部署上使用 mc admin

MinIO 不支持使用 mc admin 命令与其他与 S3 兼容的服务,无论它们声称与 MinIO 部署的兼容性。

mc admin rebalance 命令具有以下子命令

子命令

描述

mc admin rebalance start

在 MinIO 部署上启动重新平衡操作。

mc admin rebalance status

输出正在进行的重新平衡操作的当前状态。

mc admin rebalance stop

停止正在进行的重新平衡操作。

语法

mc admin rebalance start

为 MinIO 部署启动重新平衡操作。

假设一个 MinIO 部署有两个池,分配的别名为 minio1。一个池有 250 GB 的可用空间,而另一个池有 3 TB 的可用空间。

mc admin rebalance 命令将对象从可用空间较小的池转移到可用空间较大的池,以便两个池上的可用空间大致相等。

mc admin rebalance start minio1

该命令具有以下语法:

mc [GLOBALFLAGS] admin rebalance start ALIAS
  • 将别名替换为要重新平衡的 MinIO 部署的 别名

mc admin rebalance status

查询具有活动重新平衡进程的部署,并返回有关重新平衡进程状态的信息。

状态将返回重新平衡操作的 ID、操作时间以及部署上每个池的详细信息。对于每个池,状态将显示池 ID、池的重新平衡状态、已使用空间的百分比以及池的重新平衡进度。

mc admin rebalance status minio1

该命令具有以下语法:

mc [GLOBALFLAGS] admin rebalance ALIAS
  • 将别名替换为 MinIO 部署的 别名

mc admin rebalance stop

结束指定部署上的正在进行的重新平衡作业。

mc admin rebalance stop minio1

该命令具有以下语法:

mc [GLOBALFLAGS] admin rebalance stop ALIAS
  • 将别名替换为 MinIO 部署的 别名

全局标志

该命令支持任何 全局标志

行为

首先备份集群设置

使用 mc admin cluster bucket exportmc admin cluster iam export 命令分别在开始停用之前对存储桶元数据和 IAM 配置进行快照。可以使用这些快照来恢复存储桶/IAM 设置,以从用户或进程错误中恢复,如有必要。

重新平衡会忽略过期对象和尾随的 DeleteMarker

RELEASE.2023-06-23T20-26-00Z 开始,重新平衡会忽略根据父存储桶的配置的 生命周期规则 已经过期的对象版本。

重新平衡还会忽略只有 删除标记 作为唯一剩余版本的那些对象。这避免了对于已经视为完全删除的对象的池间 I/O

MinIO 依靠 扫描器 来捕获和删除那些过期的对象或尾随的 DeleteMarker 对象。