站点故障恢复
MinIO 可以使整个站点的丢失(虽然很严重)成为一个相对较小的事件。站点恢复取决于您用于站点的复制选项。
站点复制 |
从健康的对等站点完全恢复 IAM 配置、存储桶配置和数据 |
存储桶复制 |
为每个配置为复制的存储桶从健康的远程位置恢复对象和元数据 |
仅从健康的远程位置恢复对象数据,没有版本控制 |
站点复制修复会自动将 IAM 设置、存储桶、存储桶配置和对象从现有站点添加到新站点,无需任何其他操作。
如果其他健康站点上存在任何存储桶复制规则,则无法配置站点复制。存储桶复制与站点复制互斥。
如果您要从使用存储桶复制切换到使用站点复制,则必须先从健康站点删除所有存储桶复制规则,然后才能设置站点复制。
将不健康的对等节点恢复到站点复制
重要
在 RELEASE.2023-01-02T09-40-09Z MinIO 服务器版本中包含了重要的修复程序,用于在包含三个或更多对等站点的复制配置中删除已停机的站点。
对于配置为站点复制的部署,计划将所有对等站点测试并升级到指定的版本。如果站点发生故障,您可以将剩余的健康站点更新到指定的版本并使用此过程。
站点复制 使两个或多个 MinIO 部署与 IAM 策略、存储桶、存储桶配置、对象和对象元数据保持同步。如果对等站点发生故障(例如由于重大灾难或长时间停电),您可以使用剩余的健康站点来恢复可复制数据。
以下过程可以在站点丢失之前站点复制处于活动状态的情况下恢复数据。此过程假设一个或多个对等站点的完全丢失,而不是由于延迟或瞬态部署停机导致的复制延迟或延迟。
使用
mc admin replicate rm命令和--force选项从 MinIO 站点复制配置中删除失败的站点。以下命令强制从复制配置中删除不健康的对等站点
mc admin replicate rm HEALTHY_PEER UNHEALTHY_PEER --force
将
HEALTHY_PEER替换为复制配置中任何健康对等的别名将
UNHEALTHY_PEER替换为不健康对等站点的别名
站点复制配置中的所有健康对等节点都会自动更新以删除不健康的对等节点。您可以使用
mc admin replicate info命令来验证新的站点复制配置。按照站点复制要求部署新的 MinIO 站点。
除了规定的要求之外,不要上传任何数据或以其他方式配置部署。
验证新的 MinIO 部署是否正常运行,并与其他对等站点之间具有双向连接。
确保新站点与现有对等站点上的服务器版本匹配。
警告
命令
mc admin replicate rm --force仅对站点复制配置中的在线或健康节点进行操作。已移除的离线 MinIO 部署保留其原始复制配置,因此,如果部署恢复正常操作,它将继续与其配置的对等站点进行复制操作。如果您计划将硬件重新用于站点复制配置,则**必须**在重新初始化 MinIO 并将站点添加回复制配置之前,完全擦除部署的驱动器。
将替换的对等站点添加到复制配置中。
使用
mc admin replicate add命令更新包含新站点的复制配置。mc admin replicate add HEALTHY_PEER NEW_PEER
将
HEALTHY_PEER替换为复制配置中任何健康对等的别名将
NEW_PEER替换为新对等体的别名。
站点复制配置中所有健康的对等体都会自动更新以包含新对等体。您可以使用
mc admin replicate info命令验证新的站点复制配置。使用
mc admin replicate resync重新同步新对等体。mc admin replicate resync start HEALTHY_PEER NEW_PEER
将
HEALTHY_PEER替换为复制配置中任何健康对等的别名将
NEW_PEER替换为新对等体的别名。
验证复制状态。
使用以下命令跟踪复制状态
mc admin replicate status- 提供复制的总体状态和进度mc replicate status- 提供桶级和全局复制状态
活动桶复制重新同步
对于在故障发生之前已启用桶复制的情况,您可以使用mc replicate resync将数据恢复到新站点。创建一个新的站点来替换失败的部署,然后将数据从现有的、健康的、启用了桶复制的部署同步到新站点。
部署新的 MinIO 站点。
根据需要设置 IAM 和用户。
在有数据的站点上,使用
mc admin bucket remote add命令创建一个新的remote target并记录输出中的 ARN。在有数据的站点上,使用
mc replicate resync start命令以及上一个命令中的 ARN 在新站点上重建桶。等待重新同步完成(使用
mc replicate resync status进行检查)。从新的 MinIO 站点到现有的目标桶设置桶复制规则。
(可选)删除目标部署中的桶复制规则以恢复活动-被动复制场景。
被动桶复制重新同步
桶复制可以通过从目标桶到新的 MinIO 站点执行复制来直接恢复站点内容。
作为被动过程,桶复制在站点恢复场景中可能无法达到预期的速度。
桶复制依赖于标准复制扫描程序队列,该队列不优先于其他进程。对于具有更严格 SLA/SLO 的恢复过程,请使用上面描述的mc replicate resync命令的活动桶复制过程。
桶复制规则将对象、其版本 ID、版本和其他元数据复制到目标桶。如果在站点丢失之前已使用桶复制,则 MinIO 可以使用所有这些属性将对象恢复到新的 MinIO 站点。
部署新的 MinIO 站点。
根据需要设置 IAM 和用户。
在剩余的目标桶部署中,为每个桶创建到新 MinIO 站点的桶复制规则。
等待复制完成。
从新的 MinIO 站点到现有的目标桶设置桶复制规则。
(可选)删除目标部署中的桶复制规则以恢复活动-被动复制场景。
如果您希望在桶之间保持活动-活动复制,请不要删除用于恢复数据的部署中的桶复制规则。在活动-活动复制中,对任一位置的对象的更改都会影响另一位置的对象。
镜像
MinIO 的镜像功能可以从任何与 S3 兼容的存储系统复制对象。
镜像仅复制每个对象的最新版本,不包含版本控制元数据,而不管源是什么。您无法使用此方法恢复这些属性。
在您只需要恢复对象的最新版本的情况下,请使用mc mirror。如果您是从另一个 MinIO 部署复制,并希望恢复对象的版本历史记录和版本元数据,请使用已在使用的桶复制或站点复制。
部署新的 MinIO 站点。
根据需要设置 IAM 和用户。
在新站点上创建桶。
使用
mc cpCLI 命令将内容从镜像位置复制到新的 MinIO 站点。