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