文档

站点故障恢复

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. (可选)从目标部署中删除存储桶复制规则,以恢复到主备(active-passive)复制场景。

被动存储桶复制重新同步

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

作为一个被动过程,对于站点恢复场景,存储桶复制的执行速度可能不如预期。

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

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

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

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

  3. 在剩余的目标存储桶部署上,为每个存储桶创建指向新的 MinIO 站点的存储桶复制规则。

  4. 等待复制完成。

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

  6. (可选)从目标部署中删除存储桶复制规则,以恢复到主备(active-passive)复制场景。

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

镜像

MinIO 的镜像功能可以从任何兼容 S3 的存储系统复制对象。

镜像只复制每个对象的最新版本,不包括版本元数据,无论源是什么。您无法使用此方法恢复这些属性。

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

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

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

  3. 在新站点上创建存储桶。

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

English 中文