Skip to main content
NetApp Solutions
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Wiederherstellen einer App aus einem Backup

Beitragende

In diesem Abschnitt wird beschrieben, wie Apps aus einem Backup wiederhergestellt werden.

Voraussetzungen

Um aus einem Backup wiederherzustellen, nehmen wir an, dass der Namespace, in dem die App existierte, versehentlich gelöscht wurde.

App gelöscht

Restore auf denselben Namespace

Um das Backup wiederherzustellen, das wir gerade erstellt haben, müssen wir eine Restore Custom Resource (CR) erstellen. Geben Sie ihm einen Namen, geben Sie den Namen des Backups an, von dem aus wir die Wiederherstellungs-PVs wiederherstellen möchten, und setzen Sie sie auf „True“. Weitere Parameter können wie in dargestellt eingestellt werden "Dokumentation". Klicken Sie auf die Schaltfläche Erstellen.

CR wiederherstellen erstellen

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

Wenn in der Phase Abgeschlossen angezeigt wird, wird angezeigt, dass die App zum Zeitpunkt der Snapshot-Erstellung wieder in den Status zurückgesetzt wurde. Die App wird im selben Namespace wiederhergestellt.

Wiederherstellung abgeschlossen Im selben Namespace wiederhergestellt

Wiederherstellung in einem anderen Namespace

Um die App in einem anderen Namespace wiederherzustellen, können Sie in der yaml-Definition des Restore CR ein NamepaceMapping bereitstellen.

Mit der folgenden yaml-Beispieldatei wird ein Restore CR erstellt, um eine App und ihren persistenten Speicher aus dem postgresql-Namespace auf den neuen Namespace postgresql-wiederhergestellt wiederherzustellen.

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

Wenn in der Phase Abgeschlossen angezeigt wird, wird angezeigt, dass die App zum Zeitpunkt der Snapshot-Erstellung wieder in den Status zurückgesetzt wurde. Die App wird in einem anderen Namespace wiederhergestellt, wie im yaml angegeben.

Wiederherstellung in einem neuen Namespace abgeschlossen

Wiederherstellung auf eine andere Storage-Klasse

Velero bietet eine allgemeine Möglichkeit, die Ressourcen während der Wiederherstellung durch Angabe von json Patches zu ändern. Die json-Patches werden auf die Ressourcen angewendet, bevor sie wiederhergestellt werden. Die json-Patches werden in einer configmap angegeben und im Wiederherstellungsbefehl auf die configmap verwiesen. Diese Funktion ermöglicht Ihnen die Wiederherstellung mit einer anderen Storage-Klasse.

Im nachfolgenden Beispiel verwendet die Applikation während der Implementierung ontap-nas als Storage-Klasse für ihre persistenten Volumes. Es wird ein Backup der App Backup-postgresql-ontaps3 erstellt.

VM mit ontap-nas

VM-Backup mit ontap-nas

Simulieren Sie einen Verlust der App, indem Sie die App deinstallieren.

Um die VM mithilfe einer anderen Storage-Klasse, z. B. der Storage-Klasse ontap-nas-eco, wiederherzustellen, müssen Sie die folgenden zwei Schritte durchführen:

Schritt 1

Erstellen Sie eine config map (Console) im openshift-adp Namespace wie folgt: Geben Sie die Details wie im Screenshot gezeigt ein: Select Namespace : openshift-adp Name: Change-ontap-sc (kann jeder beliebige Name sein) Key: Change-ontap-sc-config.yaml: Value:

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

Config map-ui

Das resultierende config map-Objekt sollte wie folgt aussehen (CLI):

Config Map CLI

Diese Konfigurationszuordnung wendet die Ressourcenänderungsregel an, wenn die Wiederherstellung erstellt wird. Für alle Ansprüche auf persistente Volumes, die mit RHEL beginnen, wird ein Patch eingesetzt, der den Namen der Storage-Klasse auf ontap-nas-Eco ersetzt.

Schritt 2

Verwenden Sie zum Wiederherstellen der VM den folgenden Befehl aus der Velero CLI:

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

Die App wird im selben Namespace mit den Angaben zu persistenten Volumes wiederhergestellt, die über die Storage-Klasse ontap-nas-eco erstellt wurden.

VM stellt ontap-nas-Eco wieder her