文档

站点故障恢复

MinIO 可以使整个站点的丢失(虽然很重要)成为相对较小的事件。站点恢复取决于您用于站点的复制选项。

站点复制

从健康的对等站点完全恢复 IAM 配置、存储桶配置和数据

存储桶复制

为每个配置为复制的存储桶从健康的远程位置恢复对象和元数据

mc mirror

仅从健康的远程位置恢复对象数据,没有版本控制

站点复制修复会自动将 IAM 设置、存储桶、存储桶配置和对象从现有站点添加到新站点,无需任何其他操作。

如果其他任何健康的站点上仍然存在存储桶复制规则,则无法配置站点复制。存储桶复制与站点复制互斥。

如果您要从使用存储桶复制切换到使用站点复制,则必须先从健康的站点中删除所有存储桶复制规则,然后再设置站点复制。

将不健康的对等节点恢复到站点复制

重要

MinIO 服务器 RELEASE.2023-01-02T09-40-09Z 版本包含重要的修复程序,用于从包含三个或更多对等站点的复制配置中删除已停用的站点。

对于配置为站点复制的部署,计划将所有对等站点测试并升级到指定的版本。如果站点发生故障,您可以将剩余的健康站点更新到指定的版本并使用此过程。

站点复制 使两个或多个 MinIO 部署与 IAM 策略、存储桶、存储桶配置、对象和对象元数据保持同步。如果对等站点发生故障(例如由于重大灾难或长时间停电),您可以使用剩余的健康站点来恢复可复制数据

以下过程可以在站点丢失之前站点复制处于活动状态的情况下恢复数据。此过程假设一个或多个对等站点的完全丢失,而不是由于延迟或短暂的部署停机导致的复制延迟或延迟。

  1. 使用mc admin replicate rm 命令以及--force 选项从 MinIO 站点复制配置中删除故障站点。

    以下命令强制从复制配置中删除不健康的对等站点

    mc admin replicate rm HEALTHY_PEER UNHEALTHY_PEER --force
    
    • HEALTHY_PEER 替换为复制配置中任何健康对等节点的 别名

    • UNHEALTHY_PEER 替换为不健康的对等节点站点的别名

    站点复制配置中的所有健康对等节点都会自动更新以移除不健康的对等节点。您可以使用 mc admin replicate info 命令来验证新的站点复制配置。

  2. 按照 站点复制要求 部署一个新的 MinIO 站点。

    • 除了规定的要求外,不要上传任何数据或以其他方式配置部署。

    • 验证新的 MinIO 部署是否正常运行,并与其他对等节点站点之间具有双向连接。

    • 确保新站点与现有对等节点站点上的服务器版本匹配

    警告

    mc admin replicate rm --force 命令仅对站点复制配置中的在线或健康节点进行操作。移除的离线 MinIO 部署保留其原始复制配置,因此,如果部署恢复正常操作,它将继续对其配置的对等节点站点执行复制操作。

    如果您计划将硬件重新用于站点复制配置,则**必须**在重新初始化 MinIO 并将站点添加回复制配置之前,完全擦除部署的驱动器。

  3. 将替换的对等节点站点 添加到复制配置中。

    使用 mc admin replicate add 命令更新包含新站点的复制配置

    mc admin replicate add HEALTHY_PEER NEW_PEER
    
    • HEALTHY_PEER 替换为复制配置中任何健康对等节点的 别名

    • NEW_PEER 替换为新对等节点的别名

    站点复制配置中的所有健康对等节点都会自动更新以包含新对等节点。您可以使用 mc admin replicate info 命令来验证新的站点复制配置。

  4. 使用 mc admin replicate resync 将新对等节点与其他节点同步。

    mc admin replicate resync start HEALTHY_PEER NEW_PEER
    
    • HEALTHY_PEER 替换为复制配置中任何健康对等节点的 别名

    • NEW_PEER 替换为新对等节点的别名

  5. 验证复制状态。

    使用以下命令跟踪复制状态

活动桶复制重新同步

对于在故障之前已启用 桶复制 的场景,您可以使用 mc replicate resync 将数据恢复到新站点。创建一个新站点来替换失败的部署,然后将数据从现有的、健康的、启用了桶复制的部署同步到新站点。

  1. 部署一个新的 MinIO 站点。

  2. 根据需要设置 IAM 和用户。

  3. 在包含数据的站点上,使用 mc admin bucket remote add 命令创建一个新的 remote target,并记录输出中的 ARN。

  4. 在包含数据的站点上,使用 mc replicate resync start 命令以及上一个命令中的 ARN 在新站点上重建桶。

  5. 等待重新同步完成(使用 mc replicate resync status 检查)。

  6. 从新的 MinIO 站点到现有的目标桶设置桶复制规则。

  7. (可选) 删除目标部署中的桶复制规则以恢复活动-被动复制场景。

被动桶复制重新同步

桶复制 可以通过从目标桶到新的 MinIO 站点执行复制来直接恢复站点内容。

作为被动过程,桶复制在站点恢复场景中的执行速度可能不如预期。

桶复制依赖于标准复制 扫描程序 队列,该队列不会优先于其他进程。对于具有更严格 SLA/SLO 的恢复过程,请使用带有 mc replicate resync 命令的活动桶复制过程,如上所述。

桶复制规则将对象、其版本 ID、版本和其他元数据复制到目标桶。如果在站点丢失之前已使用桶复制,则 MinIO 可以使用所有这些属性将对象恢复到新的 MinIO 站点。

  1. 部署一个新的 MinIO 站点。

  2. 根据需要设置 IAM 和用户。

  3. 在剩余的目标桶部署中,为每个桶创建到新 MinIO 站点的桶复制规则。

  4. 等待复制完成。

  5. 从新的 MinIO 站点到现有的目标桶设置桶复制规则。

  6. (可选) 删除目标部署中的桶复制规则以恢复活动-被动复制场景。

    如果您希望在桶之间保持活动-活动复制,则不要删除用于恢复数据的部署中的桶复制规则。在活动-活动复制中,对任一位置的对象的更改都会影响另一位置的对象。

镜像

MinIO 的镜像会从任何与 S3 兼容的存储系统复制对象。

镜像仅复制每个对象的最新版本,而不包括版本控制元数据,无论来源如何。您无法使用此方法恢复这些属性。

在您只需要恢复对象的最新版本的情况下使用 mc mirror。如果您是从另一个 MinIO 部署复制并且希望恢复对象的版本历史记录和版本元数据,请使用桶复制或站点复制(如果这些方法已在使用)。

  1. 部署一个新的 MinIO 站点。

  2. 根据需要设置 IAM 和用户。

  3. 在新站点上创建桶。

  4. 使用 mc cp CLI 命令将内容从镜像位置复制到新的 MinIO 站点。