Skip to main content
NetApp public and hybrid cloud solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

从备份恢复应用程序

贡献者 kevin-hoke

本节介绍如何从备份恢复应用程序。

前提条件

为了从备份中恢复,我们假设应用程序所在的命名空间被意外删除了。

应用程序已删除

还原到同一命名空间

要从我们刚刚创建的备份中恢复,我们需要创建一个恢复自定义资源 (CR)。我们需要为其提供一个名称,提供我们想要从中恢复的备份的名称,并将 restorePVs 设置为 true。可以设置其他参数,如下所示"文档"。单击创建按钮。

创建恢复 CR

apiVersion: velero.io/v1
kind: Restore
apiVersion: velero.io/v1
metadata:
  name: restore
  namespace: openshift-adp
spec:
  backupName: backup-postgresql-ontaps3
  restorePVs: true

当阶段显示完成时,您可以看到应用程序已恢复到拍摄快照时的状态。应用程序恢复到相同的命名空间。

恢复完成 恢复到相同的命名空间

还原到不同的命名空间

要将应用程序恢复到不同的命名空间,您可以在 Restore CR 的 yaml 定义中提供 namespaceMapping。

以下示例 yaml 文件创建一个 Restore CR,以将应用程序及其持久存储从 postgresql 命名空间恢复到新的命名空间 postgresql-restored。

apiVersion: velero.io/v1
kind: Restore
metadata:
  name: restore-to-different-ns
  namespace: openshift-adp
spec:
  backupName: backup-postgresql-ontaps3
  restorePVs: true
  includedNamespaces:
  - postgresql
  namespaceMapping:
    postgresql: postgresql-restored

当阶段显示完成时,您可以看到应用程序已恢复到拍摄快照时的状态。应用程序将恢复到 yaml 中指定的不同命名空间。

恢复到新命名空间已完成

还原到不同的存储类别

Velero 提供了通过指定 json 补丁来修改恢复期间资源的通用功能。在恢复资源之前,json 补丁会应用到资源上。 json 补丁在 configmap 中指定,并且在 restore 命令中引用该 configmap。此功能使您能够使用不同的存储类别进行恢复。

在下面的示例中,应用程序在部署期间使用 ontap-nas 作为其持久卷的存储类。创建了名为backup-postgresql-ontaps3的应用程序备份。

使用 ontap-nas 的虚拟机

虚拟机备份 ontap-nas

通过卸载应用程序来模拟应用程序的丢失。

要使用不同的存储类(例如 ontap-nas-eco 存储类)恢复虚拟机,您需要执行以下两个步骤:

步骤 1

在 openshift-adp 命名空间中创建一个配置映射(控制台),如下所示: 填写屏幕截图中显示的详细信息: 选择命名空间:openshift-adp 名称:change-ontap-sc(可以是任意名称) 键:change-ontap-sc-config.yaml: 值:

version: v1
resourceModifierRules:
- conditions:
     groupResource: persistentvolumeclaims
     resourceNameRegex: "data-postgresql*"
     namespaces:
     - postgresql
  patches:
  - operation: replace
    path: "/spec/storageClassName"
    value: "ontap-nas-eco"

配置地图用户界面

生成的配置映射对象应如下所示(CLI):

配置地图 CLI

此配置图将在创建恢复时应用资源修改规则。将应用补丁程序将以 rhel 开头的所有持久卷声明的存储类名称替换为 ontap-nas-eco。

步骤 2

要恢复虚拟机,请使用 Velero CLI 中的以下命令:

#velero restore create restore1 --from-backup backup1 --resource-modifier-configmap change-storage-class-config -n openshift-adp

该应用程序在使用存储类 ontap-nas-eco 创建的持久卷声明的同一命名空间中恢复。

VM 还原 ontap-nas-eco