Schützen Sie Ihre Anwendungen mit Trident Protect.
Sie können alle von Trident Protect verwalteten Apps schützen, indem Sie mithilfe einer automatisierten Schutzrichtlinie oder ad hoc Snapshots und Backups erstellen.
|
|
Sie können Trident Protect so konfigurieren, dass Dateisysteme während Datensicherungsvorgängen eingefroren und wieder freigegeben werden. "Erfahren Sie mehr über die Konfiguration des Einfrierens von Dateisystemen mit Trident Protect.". |
Erstellen Sie einen On-Demand Snapshot
Sie können jederzeit einen On-Demand-Snapshot erstellen.
|
|
Im Umfang des Clusters enthaltene Ressourcen werden in einem Backup, einem Snapshot oder Klon eingeschlossen, wenn sie in der Anwendungsdefinition explizit referenziert werden oder wenn sie Verweise auf einen der Anwendungsnamepspaces haben. |
-
Erstellen Sie die benutzerdefinierte Ressourcendatei (CR) und benennen Sie sie
trident-protect-snapshot-cr.yaml. -
Konfigurieren Sie in der erstellten Datei die folgenden Attribute:
-
metadata.name: (required) der Name dieser benutzerdefinierten Ressource; wählen Sie einen eindeutigen und sinnvollen Namen für Ihre Umgebung.
-
Spec.applicationRef: Der Kubernetes-Name der zu Snapshot enden Anwendung.
-
Spec.appVaultRef: (required) der Name des AppVault, in dem der Snapshot-Inhalt (Metadaten) gespeichert werden soll.
-
Spec.reclaimPolicy: (Optional) definiert, was mit dem AppArchiv eines Snapshots geschieht, wenn der Snapshot CR gelöscht wird. Das bedeutet, dass der Snapshot auch dann gelöscht wird, wenn er auf gesetzt
Retainist. Gültige Optionen:-
Retain(Standard) -
DeleteapiVersion: protect.trident.netapp.io/v1 kind: Snapshot metadata: namespace: my-app-namespace name: my-cr-name spec: applicationRef: my-application appVaultRef: appvault-name reclaimPolicy: Delete
-
-
-
Nachdem Sie die Datei mit den richtigen Werten ausgefüllt
trident-protect-snapshot-cr.yamlhaben, wenden Sie den CR an:kubectl apply -f trident-protect-snapshot-cr.yaml
-
Erstellen Sie den Snapshot, und ersetzen Sie Werte in Klammern durch Informationen aus Ihrer Umgebung. Beispiel:
tridentctl-protect create snapshot <my_snapshot_name> --appvault <my_appvault_name> --app <name_of_app_to_snapshot> -n <application_namespace>
Erstellen Sie ein On-Demand-Backup
Sie können eine App jederzeit sichern.
|
|
Im Umfang des Clusters enthaltene Ressourcen werden in einem Backup, einem Snapshot oder Klon eingeschlossen, wenn sie in der Anwendungsdefinition explizit referenziert werden oder wenn sie Verweise auf einen der Anwendungsnamepspaces haben. |
Vergewissern Sie sich, dass der Ablauf des AWS-Sitzungstokens für alle langwierigen s3-Backup-Vorgänge ausreichend ist. Wenn das Token während des Backup-Vorgangs abläuft, kann der Vorgang fehlschlagen.
-
Weitere Informationen zum Überprüfen des Ablaufes des aktuellen Sitzungstokens finden Sie im "AWS API-Dokumentation".
-
Weitere Informationen zu Zugangsdaten für AWS Ressourcen finden Sie in der "AWS IAM-Dokumentation".
-
Erstellen Sie die benutzerdefinierte Ressourcendatei (CR) und benennen Sie sie
trident-protect-backup-cr.yaml. -
Konfigurieren Sie in der erstellten Datei die folgenden Attribute:
-
metadata.name: (required) der Name dieser benutzerdefinierten Ressource; wählen Sie einen eindeutigen und sinnvollen Namen für Ihre Umgebung.
-
Spec.applicationRef: (required) der Kubernetes-Name der zu Back-up-Applikation.
-
Spec.appVaultRef: (required) der Name des AppVault, in dem der Backup-Inhalt gespeichert werden soll.
-
Spec.DataMover: (Optional) Eine Zeichenfolge, die angibt, welches Backup-Tool für den Backup-Vorgang verwendet werden soll. Mögliche Werte (Groß-/Kleinschreibung beachten):
-
Restic -
Kopia(Standard)
-
-
Spec.reclaimPolicy: (Optional) definiert, was mit einem Backup geschieht, wenn es von seinem Anspruch freigegeben wird. Mögliche Werte:
-
Delete -
Retain(Standard)
-
-
spec.snapshotRef: (Optional): Name des Snapshots, der als Quelle der Sicherung verwendet werden soll. Falls nicht angegeben, wird ein temporärer Snapshot erstellt und gesichert.
Beispiel YAML:
--- apiVersion: protect.trident.netapp.io/v1 kind: Backup metadata: namespace: my-app-namespace name: my-cr-name spec: applicationRef: my-application appVaultRef: appvault-name dataMover: Kopia -
-
Nachdem Sie die Datei mit den richtigen Werten ausgefüllt
trident-protect-backup-cr.yamlhaben, wenden Sie den CR an:kubectl apply -f trident-protect-backup-cr.yaml
-
Erstellen Sie das Backup, und ersetzen Sie Werte in Klammern durch Informationen aus Ihrer Umgebung. Beispiel:
tridentctl-protect create backup <my_backup_name> --appvault <my-vault-name> --app <name_of_app_to_back_up> --data-mover <Kopia_or_Restic> -n <application_namespace>Optional können Sie mit dem
--full-backupFlag angeben, ob ein Backup nicht inkrementell sein soll. Standardmäßig sind alle Backups inkrementell. Wenn dieses Flag verwendet wird, wird das Backup nicht inkrementell. Es empfiehlt sich, regelmäßig ein vollständiges Backup durchzuführen und anschließend zwischen vollständigen Backups inkrementelle Backups durchzuführen, um das Risiko von Wiederherstellungen zu minimieren.
Unterstützte Sicherungsanmerkungen
Die folgende Tabelle beschreibt die Anmerkungen, die Sie beim Erstellen eines Backup-CR verwenden können:
| Anmerkung | Typ | Beschreibung | Standardwert |
|---|---|---|---|
protect.trident.netapp.io/full-backup |
Zeichenfolge |
Legt fest, ob eine Sicherung nicht inkrementell sein soll. Auf einstellen |
„Falsch“ |
protect.trident.netapp.io/snapshot-completion-timeout |
Zeichenfolge |
Die maximal zulässige Zeit für den Abschluss des gesamten Snapshot-Vorgangs. |
"60 m" |
protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout |
Zeichenfolge |
Die maximal zulässige Zeitspanne, bis Volume-Snapshots den einsatzbereiten Zustand erreichen. |
"30 m" |
protect.trident.netapp.io/volume-snapshots-created-timeout |
Zeichenfolge |
Die maximal zulässige Zeitspanne für die Erstellung von Volume-Snapshots. |
"5 m" |
protect.trident.netapp.io/pvc-bind-timeout-sec |
Zeichenfolge |
Maximale Wartezeit (in Sekunden), bis neu erstellte PersistentVolumeClaims (PVCs) die Zieladresse erreichen. |
"1200" (20 Minuten) |
Erstellen Sie einen Zeitplan für die Datensicherung
Eine Schutzrichtlinie schützt eine App, indem sie nach einem festgelegten Zeitplan Snapshots, Backups oder beides erstellt. Sie können stündlich, täglich, wöchentlich und monatlich Snapshots und Backups erstellen und die Anzahl der aufzubewahrenden Kopien angeben. Sie können eine nicht inkrementelle vollständige Sicherung planen, indem Sie die Annotation „full-backup-rule“ verwenden. Standardmäßig sind alle Sicherungen inkrementell. Durch regelmäßiges Durchführen einer vollständigen Sicherung und inkrementeller Sicherungen zwischendurch können Sie das mit Wiederherstellungen verbundene Risiko verringern.
|
|
|
-
Erstellen Sie die benutzerdefinierte Ressourcendatei (CR) und benennen Sie sie
trident-protect-schedule-cr.yaml. -
Konfigurieren Sie in der erstellten Datei die folgenden Attribute:
-
metadata.name: (required) der Name dieser benutzerdefinierten Ressource; wählen Sie einen eindeutigen und sinnvollen Namen für Ihre Umgebung.
-
Spec.DataMover: (Optional) Eine Zeichenfolge, die angibt, welches Backup-Tool für den Backup-Vorgang verwendet werden soll. Mögliche Werte (Groß-/Kleinschreibung beachten):
-
Restic -
Kopia(Standard)
-
-
Spec.applicationRef: Der Kubernetes-Name der zu Back-up Applikation.
-
Spec.appVaultRef: (required) der Name des AppVault, in dem der Backup-Inhalt gespeichert werden soll.
-
spec.backupRetention: (Erforderlich) Die Anzahl der aufzubewahrenden Backups. Null gibt an, dass keine Sicherungen erstellt werden sollen (nur Snapshots).
-
spec.backupReclaimPolicy: (Optional) Legt fest, was mit einem Backup geschieht, wenn die Backup-CR während ihrer Aufbewahrungsfrist gelöscht wird. Nach Ablauf der Aufbewahrungsfrist werden die Backups immer gelöscht. Mögliche Werte (Groß-/Kleinschreibung beachten):
-
Retain(Standard) -
Delete
-
-
spec.snapshotRetention: (Erforderlich) Die Anzahl der aufzubewahrenden Snapshots. Null bedeutet, dass keine Snapshots erstellt werden sollen.
-
spec.snapshotReclaimPolicy: (Optional) Legt fest, was mit einem Snapshot geschieht, wenn die Snapshot-CR während ihrer Aufbewahrungsfrist gelöscht wird. Nach Ablauf der Aufbewahrungsfrist werden Snapshots immer gelöscht. Mögliche Werte (Groß-/Kleinschreibung beachten):
-
Retain -
Delete(Standard)
-
-
spec.granularity: die Häufigkeit, mit der der Zeitplan ausgeführt werden soll. Mögliche Werte, zusammen mit den erforderlichen zugeordneten Feldern:
-
Hourly(erfordert die Angabespec.minute) -
Daily(erfordert die Angabespec.minuteUndspec.hour) -
Weekly(erfordert die Angabespec.minute, spec.hour, Undspec.dayOfWeek) -
Monthly(erfordert die Angabespec.minute, spec.hour, Undspec.dayOfMonth) -
Custom
-
-
spec.dayOfMonth: (Optional) Der Tag des Monats (1 – 31), an dem der Zeitplan ausgeführt werden soll. Dieses Feld ist erforderlich, wenn die Granularität auf
Monthly. Der Wert muss als Zeichenfolge angegeben werden. -
spec.dayOfWeek: (Optional) Der Wochentag (0 - 7), an dem der Zeitplan ausgeführt werden soll. Werte von 0 oder 7 zeigen Sonntag an. Dieses Feld ist erforderlich, wenn die Granularität auf
Weekly. Der Wert muss als Zeichenfolge angegeben werden. -
spec.hour: (Optional) Die Stunde des Tages (0 - 23), zu der der Zeitplan ausgeführt werden soll. Dieses Feld ist erforderlich, wenn die Granularität auf
Daily,Weekly, oderMonthly. Der Wert muss als Zeichenfolge angegeben werden. -
spec.minute: (Optional) Die Minute der Stunde (0 – 59), zu der der Zeitplan ausgeführt werden soll. Dieses Feld ist erforderlich, wenn die Granularität auf
Hourly,Daily,Weekly, oderMonthly. Der Wert muss als Zeichenfolge angegeben werden.Beispiel-YAML für Sicherungs- und Snapshot-Zeitplan:
--- apiVersion: protect.trident.netapp.io/v1 kind: Schedule metadata: namespace: my-app-namespace name: my-cr-name spec: dataMover: Kopia applicationRef: my-application appVaultRef: appvault-name backupRetention: "15" snapshotRetention: "15" granularity: Daily hour: "0" minute: "0"Beispiel-YAML für einen Nur-Snapshot-Zeitplan:
--- apiVersion: protect.trident.netapp.io/v1 kind: Schedule metadata: namespace: my-app-namespace name: my-snapshot-schedule spec: applicationRef: my-application appVaultRef: appvault-name backupRetention: "0" snapshotRetention: "15" granularity: Daily hour: "2" minute: "0" -
-
Nachdem Sie die Datei mit den richtigen Werten ausgefüllt
trident-protect-schedule-cr.yamlhaben, wenden Sie den CR an:kubectl apply -f trident-protect-schedule-cr.yaml
-
Erstellen Sie den Schutzplan und ersetzen Sie Werte in Klammern durch Informationen aus Ihrer Umgebung. Beispiel:
Mit können tridentctl-protect create schedule --helpSie detaillierte Hilfeinformationen für diesen Befehl anzeigen.tridentctl-protect create schedule <my_schedule_name> \ --appvault <my_appvault_name> \ --app <name_of_app_to_snapshot> \ --backup-retention <how_many_backups_to_retain> \ --backup-reclaim-policy <Retain|Delete (default Retain)> \ --data-mover <Kopia_or_Restic> \ --day-of-month <day_of_month_to_run_schedule> \ --day-of-week <day_of_week_to_run_schedule> \ --granularity <frequency_to_run> \ --hour <hour_of_day_to_run> \ --minute <minute_of_hour_to_run> \ --recurrence-rule <recurrence> \ --snapshot-retention <how_many_snapshots_to_retain> \ --snapshot-reclaim-policy <Retain|Delete (default Delete)> \ --full-backup-rule <string> \ -n <application_namespace>Sie können das Flag auf
alwaysfür ein konstantes vollständiges Backup setzen--full-backup-ruleoder es an Ihre Anforderungen anpassen. Wenn Sie beispielsweise die tägliche Granularität wählen, können Sie die Wochentage angeben, an denen das vollständige Backup erfolgen soll. Verwenden Sie beispielsweise--full-backup-rule "Monday,Thursday", um die vollständige Sicherung montags und donnerstags zu planen.Für Snapshot-only-Zeitpläne legen Sie fest
--backup-retention 0und geben Sie einen Wert größer als 0 an für--snapshot-retention.
Unterstützte Zeitplananmerkungen
Die folgende Tabelle beschreibt die Anmerkungen, die Sie beim Erstellen eines Zeitplan-CR verwenden können:
| Anmerkung | Typ | Beschreibung | Standardwert |
|---|---|---|---|
protect.trident.netapp.io/full-backup-rule |
Zeichenfolge |
Legt die Regel für die Planung vollständiger Datensicherungen fest. Sie können es einstellen auf |
Nicht festgelegt (alle Backups sind inkrementell) |
protect.trident.netapp.io/snapshot-completion-timeout |
Zeichenfolge |
Die maximal zulässige Zeit für den Abschluss des gesamten Snapshot-Vorgangs. |
"60 m" |
protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout |
Zeichenfolge |
Die maximal zulässige Zeitspanne, bis Volume-Snapshots den einsatzbereiten Zustand erreichen. |
"30 m" |
protect.trident.netapp.io/volume-snapshots-created-timeout |
Zeichenfolge |
Die maximal zulässige Zeitspanne für die Erstellung von Volume-Snapshots. |
"5 m" |
protect.trident.netapp.io/pvc-bind-timeout-sec |
Zeichenfolge |
Maximale Wartezeit (in Sekunden), bis neu erstellte PersistentVolumeClaims (PVCs) die Zieladresse erreichen. |
"1200" (20 Minuten) |
Löschen Sie einen Snapshot
Löschen Sie die geplanten oder On-Demand Snapshots, die Sie nicht mehr benötigen.
-
Entfernen Sie den Snapshot CR, der dem Snapshot zugeordnet ist:
kubectl delete snapshot <snapshot_name> -n my-app-namespace
Löschen Sie ein Backup
Löschen Sie die geplanten oder On-Demand-Backups, die Sie nicht mehr benötigen.
|
|
Stellen Sie sicher, dass die Rückforderungsrichtlinie auf Delete , um alle Sicherungsdaten aus dem Objektspeicher zu entfernen. Die Standardeinstellung der Richtlinie ist Retain um versehentlichen Datenverlust zu vermeiden. Wenn die Richtlinie nicht geändert wird Delete , verbleiben die Sicherungsdaten im Objektspeicher und müssen manuell gelöscht werden.
|
-
Entfernen Sie den Backup-CR, der dem Backup zugeordnet ist:
kubectl delete backup <backup_name> -n my-app-namespace
Überprüfen Sie den Status eines Sicherungsvorgangs
Sie können die Befehlszeile verwenden, um den Status eines laufenden, abgeschlossenen oder fehlgeschlagenen Sicherungsvorgangs zu überprüfen.
-
Verwenden Sie den folgenden Befehl, um den Status des Sicherungsvorgangs abzurufen und Werte in Bracken durch Informationen aus Ihrer Umgebung zu ersetzen:
kubectl get backup -n <namespace_name> <my_backup_cr_name> -o jsonpath='{.status}'
Backup und Restore für Azure-NetApp-Files (ANF)-Vorgänge
Wenn Sie Trident Protect installiert haben, können Sie die speichereffiziente Sicherungs- und Wiederherstellungsfunktionalität für Speicher-Backends aktivieren, die die Speicherklasse azure-netapp-files verwenden und vor Trident 24.06 erstellt wurden. Diese Funktionalität funktioniert mit NFSv4-Volumes und verbraucht keinen zusätzlichen Speicherplatz aus dem Kapazitätspool.
Stellen Sie Folgendes sicher:
-
Sie haben Trident Protect installiert.
-
Sie haben eine Anwendung in Trident Protect definiert. Diese Anwendung bietet nur eingeschränkten Schutz, bis Sie dieses Verfahren abgeschlossen haben.
-
Sie haben
azure-netapp-filesals Standard-Storage-Klasse für Ihr Storage-Back-End ausgewählt.
Erweitern Sie für Konfigurationsschritte
-
Gehen Sie in Trident folgendermaßen vor, wenn das ANF-Volume vor dem Upgrade auf Trident 24.10 erstellt wurde:
-
Aktivieren Sie das Snapshot-Verzeichnis für jedes PV, das auf Azure-NetApp-Dateien basiert und der Anwendung zugeordnet ist:
tridentctl update volume <pv name> --snapshot-dir=true -n trident -
Vergewissern Sie sich, dass das Snapshot-Verzeichnis für jedes zugeordnete PV aktiviert wurde:
tridentctl get volume <pv name> -n trident -o yaml | grep snapshotDirAntwort:
snapshotDirectory: "true"
+
Wenn das Snapshot-Verzeichnis nicht aktiviert ist, wählt Trident Protect die reguläre Backup-Funktionalität, die während des Backup-Vorgangs vorübergehend Speicherplatz im Kapazitätspool belegt. Stellen Sie in diesem Fall sicher, dass im Kapazitätspool ausreichend Speicherplatz vorhanden ist, um ein temporäres Volume in der Größe des zu sichernden Volumes zu erstellen. -
Die Anwendung ist für die Datensicherung und -wiederherstellung mit Trident Protect bereit. Jede PVC kann auch von anderen Anwendungen für Backups und Wiederherstellungen verwendet werden.