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

Datenschutz für VMs in Red Hat OpenShift Virtualization mithilfe der OpenShift API für Datenschutz (OADP)

Beitragende banum-netapp
Änderungen vorschlagen

OpenShift API for Data Protection (OADP) mit Velero bietet Sicherungs-, Wiederherstellungs- und Notfallwiederherstellungsfunktionen für VMs in OpenShift Virtualization. Verwenden Sie Trident CSI-Snapshots, um persistente Volumes und VM-Metadaten auf NetApp ONTAP S3 oder StorageGRID S3 zu sichern. OADP lässt sich in Velero-APIs und CSI-Speichertreiber integrieren, um Datenschutzvorgänge für containerisierte VMs zu verwalten.

Virtuelle Maschinen in der OpenShift-Virtualisierungsumgebung sind containerisierte Anwendungen, die in den Worker-Knoten Ihrer OpenShift-Containerplattform ausgeführt werden. Es ist wichtig, die VM-Metadaten sowie die persistenten Datenträger der VMs zu schützen, damit Sie sie wiederherstellen können, wenn sie verloren gehen oder beschädigt werden.

Die persistenten Festplatten der OpenShift Virtualization VMs können durch ONTAP Speicher gesichert werden, der in den OpenShift-Cluster integriert ist, indem"Trident CSI" . In diesem Abschnitt verwenden wir"OpenShift-API für Datenschutz (OADP)" zur Durchführung von Backups von VMs inklusive der Datenvolumes auf

  • ONTAP Objektspeicher

  • StorageGrid

Bei Bedarf stellen wir dann eine Wiederherstellung aus dem Backup her.

OADP ermöglicht die Sicherung, Wiederherstellung und Notfallwiederherstellung von Anwendungen auf einem OpenShift-Cluster. Zu den Daten, die mit OADP geschützt werden können, gehören Kubernetes-Ressourcenobjekte, persistente Volumes und interne Images.

OpenShift-API für Datenschutz

Red Hat OpenShift hat die von den Open-Source-Communities entwickelten Lösungen für den Datenschutz genutzt. "Velero" ist ein Open-Source-Tool, um Kubernetes-Clusterressourcen und persistente Volumes sicher zu sichern und wiederherzustellen, Disaster Recovery durchzuführen und Migrationen vorzunehmen. Um Velero einfach zu nutzen, hat OpenShift den OADP Operator und das Velero-Plugin entwickelt, um die Integration mit den CSI-Speichertreibern zu ermöglichen. Der Kern der bereitgestellten OADP-APIs basiert auf den Velero-APIs. Nach der Installation und Konfiguration des OADP Operators basieren die durchführbaren Backup- und Restore-Operationen auf den von der Velero-API bereitgestellten Funktionen.

OpenShift-API für Datenschutz

OADP 1.3 ist im Operator Hub des OpenShift-Clusters 4.12 und höher verfügbar. Es verfügt über einen integrierten Data Mover, der CSI-Volume-Snapshots in einen Remote-Objektspeicher verschieben kann. Dies sorgt für Portabilität und Haltbarkeit, indem Snapshots während der Sicherung an einen Objektspeicherort verschoben werden. Die Snapshots stehen dann nach Katastrophen zur Wiederherstellung zur Verfügung.

Im Folgenden sind die verschiedenen Komponenten aufgeführt, die in den Beispielen dieses Abschnitts verwendet werden

  • OpenShift Cluster 4.14

  • OpenShift-Virtualisierung installiert über OpenShift Virtualization Operator, bereitgestellt von Red Hat

  • OADP Operator 1.3, bereitgestellt von Red Hat

  • Velero CLI für Linux

  • Trident 24.02 CSI Treiber für ONTAP

  • ONTAP 9.12

Erstellen Sie On-Demand-Backups für VMs in Red Hat OpenShift Virtualization mit Velero

Sichern Sie VMs in OpenShift Virtualization mit Velero und NetApp ONTAP S3 oder StorageGRID. Dieses Verfahren umfasst das Erstellen von benutzerdefinierten Backup-Ressourcen (CRs) für On-Demand-Backups und von geplanten CRs für geplante Backups. Bei jeder Sicherung werden VM-Metadaten und persistente Volumes erfasst und zu Wiederherstellungs- oder Compliance-Zwecken am angegebenen Objektspeicherort gespeichert.

Schritte zum Erstellen einer Sicherung einer VM

Um ein On-Demand-Backup der gesamten VM (VM-Metadaten und VM-Datenträger) zu erstellen, klicken Sie auf die Registerkarte Backup. Dadurch wird eine benutzerdefinierte Backup-Ressource (CR) erstellt. Zum Erstellen des Backup-CR wird ein YAML-Beispiel bereitgestellt. Mit diesem YAML werden die VM und ihre Festplatten im angegebenen Namespace gesichert. Weitere Parameter können wie in der Abbildung gezeigt eingestellt werden."Dokumentation" .

Ein Snapshot der persistenten Volumes, die die Festplatten unterstützen, wird vom CSI erstellt. Es wird eine Sicherung der VM zusammen mit dem Snapshot ihrer Festplatten erstellt und am im YAML angegebenen Sicherungsspeicherort gespeichert. Das Backup bleibt gemäß TTL 30 Tage lang im System.

apiVersion: velero.io/v1
kind: Backup
metadata:
  name: backup1
  namespace: openshift-adp
spec:
  includedNamespaces:
  - virtual-machines-demo
  snapshotVolumes: true
  storageLocation: velero-demo-1
  ##velero-demo-1 is the backupStorageLocation
  ##previously created when Velero is configured.

  ttl: 720h0m0s

Sobald die Sicherung abgeschlossen ist, wird ihre Phase als abgeschlossen angezeigt.

Sicherung abgeschlossen

Sie können das Backup im Objektspeicher mithilfe einer S3-Browseranwendung überprüfen. Der Pfad des Backups wird im konfigurierten Bucket mit dem Präfixnamen (velero/demobackup) angezeigt. Sie können sehen, dass der Inhalt der Sicherung die Volume-Snapshots, Protokolle und andere Metadaten der virtuellen Maschine umfasst.

Hinweis In StorageGrid können Sie zum Anzeigen der Sicherungsobjekte auch die S3-Konsole verwenden, die über den Tenant Manager verfügbar ist.

Sicherungsobjekte in S3

Erstellung geplanter Backups

Um Backups nach einem Zeitplan zu erstellen, muss ein Schedule CR erstellt werden. Der Zeitplan ist einfach ein Cron-Ausdruck, mit dem die Uhrzeit für die Erstellung des Backups festgelegt werden kann. Ein Beispiel-YAML zur Erstellung eines Schedule CR.

apiVersion: velero.io/v1
kind: Schedule
metadata:
  name: <schedule>
  namespace: openshift-adp
spec:
  schedule: 0 7 * * *
  template:
    hooks: {}
    includedNamespaces:
    - <namespace>
    storageLocation: velero-demo-1
    defaultVolumesToFsBackup: true
    ttl: 720h0m0s

Der Cron-Ausdruck 0 7 * * * bedeutet, dass jeden Tag um 7:00 Uhr ein Backup erstellt wird. Außerdem werden die in die Sicherung einzubeziehenden Namespaces und der Speicherort für die Sicherung angegeben. Anstelle einer Backup-CR wird also eine geplante CR verwendet, um zum angegebenen Zeitpunkt und in der angegebenen Häufigkeit eine Sicherung zu erstellen.

Sobald der Zeitplan erstellt ist, wird er aktiviert.

Zeitplan erstellt

Backups werden gemäß diesem Zeitplan erstellt und können auf der Registerkarte „Backup“ angezeigt werden.

Zeitplan erstellt

Wiederherstellen einer VM aus einem Backup in Red Hat OpenShift Virtualization mit Velero

Stellen Sie VMs in OpenShift Virtualization mit Velero und der OpenShift API for Data Protection (OADP) wieder her. Dieses Verfahren umfasst das Erstellen einer benutzerdefinierten Wiederherstellungsressource (CR) zum Wiederherstellen von VMs und ihren persistenten Volumes aus Sicherungen mit Optionen zum Wiederherstellen im ursprünglichen Namespace, einem anderen Namespace oder unter Verwendung einer alternativen Speicherklasse.

Voraussetzungen

Um eine Wiederherstellung aus einer Sicherung durchzuführen, gehen wir davon aus, dass der Namespace, in dem sich die virtuelle Maschine befand, versehentlich gelöscht wurde.

Wiederherstellen im selben Namespace

Details

Um die Wiederherstellung aus der gerade erstellten Sicherung durchzuführen, müssen wir eine benutzerdefinierte Wiederherstellungsressource (CR) erstellen. Wir müssen ihm einen Namen geben, den Namen des Backups angeben, aus dem wir wiederherstellen möchten, und die RestorePVs auf „true“ setzen. Weitere Parameter können wie in der Abbildung gezeigt eingestellt werden."Dokumentation" . Klicken Sie auf die Schaltfläche „Erstellen“.

Wiederherstellungs-CR erstellen

apiVersion: velero.io/v1
kind: Restore
metadata:
  name: restore1
  namespace: openshift-adp
spec:
  backupName: backup1
  restorePVs: true

Wenn die Phase als abgeschlossen angezeigt wird, können Sie sehen, dass die virtuellen Maschinen in den Zustand zurückversetzt wurden, in dem sie sich zum Zeitpunkt der Snapshot-Erstellung befanden. (Wenn die Sicherung erstellt wurde, als die VM ausgeführt wurde, wird durch die Wiederherstellung der VM aus der Sicherung die wiederhergestellte VM gestartet und in einen laufenden Zustand versetzt.) Die VM wird im selben Namespace wiederhergestellt.

Wiederherstellung abgeschlossen

Wiederherstellen in einem anderen Namespace

Details

Um die VM in einem anderen Namespace wiederherzustellen, können Sie in der YAML-Definition der Wiederherstellungs-CR ein NamespaceMapping angeben.

Die folgende YAML-Beispieldatei erstellt eine Wiederherstellungs-CR, um eine VM und ihre Datenträger im Namespace „virtual-machines-demo“ wiederherzustellen, wenn die Sicherung in den Namespace „virtual-machines“ übernommen wurde.

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

Wenn die Phase als abgeschlossen angezeigt wird, können Sie sehen, dass die virtuellen Maschinen in den Zustand zurückversetzt wurden, in dem sie sich zum Zeitpunkt der Snapshot-Erstellung befanden. (Wenn die Sicherung erstellt wurde, als die VM ausgeführt wurde, wird durch die Wiederherstellung der VM aus der Sicherung die wiederhergestellte VM gestartet und in einen laufenden Zustand versetzt.) Die VM wird in einem anderen Namespace wiederhergestellt, wie im YAML angegeben.

Wiederherstellung in einem neuen Namespace abgeschlossen

Wiederherstellen in einer anderen Speicherklasse

Details

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 Konfigurationszuordnung angegeben und auf die Konfigurationszuordnung wird im Wiederherstellungsbefehl verwiesen. Mit dieser Funktion können Sie die Wiederherstellung mithilfe einer anderen Speicherklasse durchführen.

Im folgenden Beispiel verwendet die virtuelle Maschine während der Erstellung ontap-nas als Speicherklasse für ihre Festplatten. Es wird eine Sicherung der virtuellen Maschine mit dem Namen „backup1“ erstellt.

VM mit ontap-nas

VM-Backup ontap-nas

Simulieren Sie einen Verlust der VM, indem Sie die VM löschen.

Um die VM mit einer anderen Speicherklasse wiederherzustellen, beispielsweise der Speicherklasse ontap-nas-eco, müssen Sie die folgenden zwei Schritte ausführen:

Schritt 1

Erstellen Sie wie folgt eine Konfigurationszuordnung (Konsole) im OpenShift-ADP-Namespace: Füllen Sie die Details wie im Screenshot gezeigt aus: Namespace auswählen: OpenShift-ADP Name: Change-Storage-Class-Config (kann ein beliebiger Name sein) Schlüssel: Change-Storage-Class-Config.yaml: Wert:

version: v1
resourceModifierRules:
  - conditions:
      groupResource: persistentvolumeclaims
      resourceNameRegex: "^rhel*"
      namespaces:
        - virtual-machines-demo
    patches:
      - operation: replace
        path: "/spec/storageClassName"
        value: "ontap-nas-eco"

Konfigurationskarten-Benutzeroberfläche

Das resultierende Konfigurationszuordnungsobjekt sollte folgendermaßen aussehen (CLI):

Konfigurationszuordnungs-CLI

Diese Konfigurationszuordnung wendet die Ressourcenmodifikatorregel an, wenn die Wiederherstellung erstellt wird. Es wird ein Patch angewendet, um den Speicherklassennamen für alle persistenten Volume-Ansprüche, die mit rhel beginnen, durch ontap-nas-eco zu ersetzen.

Schritt 2

Um die VM wiederherzustellen, verwenden Sie 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 VM wird im selben Namespace wie die mit der Speicherklasse ontap-nas-eco erstellten Datenträger wiederhergestellt.

VM-Wiederherstellung ontap-nas-eco

Löschen Sie eine Sicherungs-CR oder stellen Sie eine CR in Red Hat OpenShift Virtualization mit Velero wieder her

Löschen Sie Sicherungs- und Wiederherstellungsressourcen für VMs in OpenShift Virtualization mit Velero. Verwenden Sie die OpenShift-CLI, um Sicherungen zu löschen und gleichzeitig die Objektspeicherdaten beizubehalten, oder die Velero-CLI, um sowohl die Backup Custom Resource (CR) als auch die zugehörigen Speicherdaten zu löschen.

Löschen einer Sicherung

Sie können ein Backup-CR löschen, ohne die Object Storage-Daten zu löschen, indem Sie das OC CLI-Tool verwenden.

oc delete backup <backup_CR_name> -n <velero_namespace>

Wenn Sie die Backup-CR und die zugehörigen Objektspeicherdaten löschen möchten, kann dies mit dem Velero CLI Tool erfolgen.

Laden Sie die Velero CLI von "velero.io" herunter. Es sollte die Version verwendet werden, die mit Ihrer Version des OADP Operators kompatibel ist. Die kompatible Version ist in der Dokumentation zu finden "hier,".

Führen Sie den folgenden Löschbefehl mit der Velero-CLI aus

velero backup delete <backup_CR_name> -n <velero_namespace>

Löschen einer Wiederherstellung

Sie können die Wiederherstellungs-CR mit der Velero-CLI löschen

velero restore delete restore --namespace openshift-adp

Sie können den oc-Befehl sowie die Benutzeroberfläche verwenden, um die Wiederherstellungs-CR zu löschen

oc delete restore <restore_CR_name> -n <velero_namespace>