站点故障恢复
MinIO 可以让整个站点的丢失(尽管很严重)变成一个相对次要的事件。站点恢复取决于您为站点使用的复制选项。
站点复制 |
从健康的对等站点完全恢复 IAM 配置、存储桶配置和数据 |
存储桶复制 |
为每个配置了复制的存储桶,从健康的远程位置恢复对象和元数据 |
仅从健康的远程位置恢复对象数据,不带版本信息 |
站点复制修复会自动将 IAM 设置、存储桶、存储桶配置和对象从现有站点添加到新站点,无需进一步操作。
如果其他健康站点上仍存在任何存储桶复制规则,则无法配置站点复制。存储桶复制与站点复制是互斥的。
如果您要从使用存储桶复制切换到使用站点复制,则必须在设置站点复制之前,首先从健康站点中删除所有存储桶复制规则。
将不健康的对等方恢复到站点复制
重要
MinIO 服务器版本 RELEASE.2023-01-02T09-40-09Z 包含了重要的修复,用于在包含三个或更多对等站点的复制配置中移除宕机的站点。
对于配置了站点复制的部署,请计划测试并升级所有对等站点到指定版本。在发生站点故障时,您可以将剩余的健康站点更新到指定版本,并使用此流程。
站点复制可以使两个或多个 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 站点到现有目标存储桶的存储桶复制规则。
(可选)从目标部署中删除存储桶复制规则,以恢复到主备(active-passive)复制场景。
被动存储桶复制重新同步
存储桶复制可以通过从目标存储桶执行复制到新的 MinIO 站点来直接恢复站点内容。
作为一个被动过程,对于站点恢复场景,存储桶复制的执行速度可能不如预期。
存储桶复制依赖于标准的复制扫描器队列,该队列不会优先于其他进程。对于具有更严格 SLA/SLO 的恢复过程,请使用上面描述的主动存储桶复制过程和 mc replicate resync 命令。
存储桶复制规则会将对象、其版本 ID、版本以及其他元数据复制到目标存储桶。如果在站点丢失前已经使用了存储桶复制,MinIO 可以将带有所有这些属性的对象恢复到一个新的 MinIO 站点。
部署一个新的 MinIO 站点。
根据需要设置 IAM 和用户。
在剩余的目标存储桶部署上,为每个存储桶创建指向新的 MinIO 站点的存储桶复制规则。
等待复制完成。
设置从新的 MinIO 站点到现有目标存储桶的存储桶复制规则。
(可选)从目标部署中删除存储桶复制规则,以恢复到主备(active-passive)复制场景。
如果您希望在存储桶之间保持双活(active-active)复制,请不要从用于恢复数据的部署中删除存储桶复制规则。在双活复制中,任一位置的对象更改都会影响另一位置的对象。
镜像
MinIO 的镜像功能可以从任何兼容 S3 的存储系统复制对象。
镜像只复制每个对象的最新版本,不包括版本元数据,无论源是什么。您无法使用此方法恢复这些属性。
当您只需要恢复对象的最新版本时,请使用 mc mirror。如果您是从另一个 MinIO 部署复制并且希望恢复对象的版本历史和版本元数据,请在已经使用这些方法的情况下使用存储桶复制或站点复制。
部署一个新的 MinIO 站点。
根据需要设置 IAM 和用户。
在新站点上创建存储桶。
使用
mc cpCLI 命令将内容从镜像位置复制到新的 MinIO 站点。