1.20.4. 恢复备份
在出现灾难情况时,运行备份的 hub 集群变得不可用,备份的数据需要移到一个新的 hub 集群。这可以通过在新的 hub 集群上运行集群恢复操作来完成。在这种情况下,恢复操作会在创建备份的不同 hub 集群中运行。
有些情况下,您要在收集备份的同一 hub 集群中恢复数据,以便恢复来自以前快照的数据。在这种情况下,恢复和备份操作都在同一 hub 集群中运行。
在 hub 集群中创建 restore.cluster.open-cluster-management.io 资源后,您可以运行以下命令来获取恢复操作的状态:oc get restore -n <oadp-operator-ns>。您还应能够验证是否已创建备份文件中包含的已备份资源。
注 :restore.cluster.open-cluster-management.io 资源运行一次。如果要在恢复操作完成后再次运行相同的恢复操作,您必须使用相同的 spec 选项创建新的 restore.cluster.open-cluster-management.io 资源。
restore 操作用于恢复备份操作创建的所有三种备份类型。但是,您可以选择只安装特定类型的备份(仅限受管集群、仅用户凭证或只安装 hub 集群资源)。
恢复定义以下三个必要的 spec 属性,其中为备份文件类型定义了恢复逻辑:
-
veleroManagedClustersBackupName用于为受管集群定义恢复选项。 -
veleroCredentialsBackupName用于为用户凭证定义 restore 选项。 veleroResourcesBackupName用于定义 hub 集群资源的 restore 选项(应用程序和策略)。前面提到的属性的有效选项有以下值:
-
latest- 此属性恢复此类型的备份文件。 -
skip- 此属性不会尝试使用当前恢复操作恢复这种类型的备份。 -
<backup_name>- 此属性按名称恢复指向它的指定的备份。
-
由 restore.cluster.open-cluster-management.io 创建的 restore.velero.io 资源的名称遵循以下模版规则 <restore.cluster.open-cluster-management.io name>-<velero-backup-resource-name>.查看以下描述:
-
restore.cluster.open-cluster-management.io 名称是当前restore.cluster.open-cluster-management.io资源的名称,该资源用于启动恢复。 velero-backup-resource-name是 Velero 备份文件的名称,用于恢复数据。例如,名为restore-acm的restore.cluster.open-cluster-management.io资源创建restore.velero.io恢复资源。查看以下格式示例:-
restore-acm-acm-managed-clusters-schedule-20210902205438用于恢复受管集群备份。在本例中,用于恢复资源的backup.velero.io备份名称为acm-managed-clusters-schedule-20210902205438。 -
restore-acm-acm-credentials-schedule-20210902206789用于恢复凭据备份。在本例中,用于恢复资源的backup.velero.io备份名称为acm-managed-clusters-schedule-20210902206789。 restore-acm-acm-resources-schedule-20210902201234用于恢复应用程序和策略备份。在这个示例中,用于恢复资源的backup.velero.io备份名称为acm-managed-clusters-schedule-20210902201234。注 :备份类型为
skip,则不会创建restore.velero.io。
-
查看以下集群 Restore 资源的 YAML 示例。在这个示例中,使用最新可用的备份文件恢复所有三种备份文件:
了解如何启用和管理集群备份和恢复 Operator,请参阅启用备份和恢复 Operator。