Protégez les applications à l'aide de Trident Protect
Vous pouvez protéger toutes les applications gérées par Trident Protect en prenant des instantanés et des sauvegardes à l'aide d'une politique de protection automatisée ou de manière ponctuelle.
|
|
Vous pouvez configurer Trident Protect pour geler et dégeler les systèmes de fichiers pendant les opérations de protection des données. "Apprenez-en davantage sur la configuration du gel du système de fichiers avec Trident Protect.". |
Créer un snapshot à la demande
Vous pouvez créer un snapshot à la demande à tout moment.
|
|
Les ressources Cluster-scoped sont incluses dans une sauvegarde, un snapshot ou un clone s'ils sont explicitement référencés dans la définition d'application ou s'ils ont des références à l'un des namespaces d'application. |
-
Créez le fichier de ressource personnalisée (CR) et nommez-le
trident-protect-snapshot-cr.yaml. -
Dans le fichier que vous avez créé, configurez les attributs suivants :
-
metadata.name: (required) le nom de cette ressource personnalisée; choisissez un nom unique et sensible pour votre environnement.
-
Spec.applicationRef : nom Kubernetes de l'application à snapshot.
-
Spec.appVaultRef: (required) Nom de l'AppVault où le contenu de l'instantané (métadonnées) doit être stocké.
-
Spec.reclaimPolicy: (Optional) définit ce qui arrive à l'AppArchive d'un snapshot lorsque le snapshot CR est supprimé. Cela signifie que même si la valeurest définie sur
Retain, l'instantané sera supprimé. Options valides :-
Retain(par défaut) -
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
-
-
-
Une fois que vous avez rempli le
trident-protect-snapshot-cr.yamlfichier avec les valeurs correctes, appliquez la CR :kubectl apply -f trident-protect-snapshot-cr.yaml
-
Créez l'instantané, en remplaçant les valeurs entre parenthèses par les informations de votre environnement. Par exemple :
tridentctl-protect create snapshot <my_snapshot_name> --appvault <my_appvault_name> --app <name_of_app_to_snapshot> -n <application_namespace>
Créez une sauvegarde à la demande
Vous pouvez sauvegarder une application à tout moment.
|
|
Les ressources Cluster-scoped sont incluses dans une sauvegarde, un snapshot ou un clone s'ils sont explicitement référencés dans la définition d'application ou s'ils ont des références à l'un des namespaces d'application. |
Assurez-vous que l'expiration du jeton de session AWS suffit pour toutes les opérations de sauvegarde s3 à long terme. Si le jeton expire pendant l'opération de sauvegarde, l'opération peut échouer.
-
Pour plus d'informations sur la vérification de l'expiration du jeton de session en cours, reportez-vous "Documentation de l'API AWS" au.
-
Pour plus d'informations sur les identifiants avec les ressources AWS, consultez le "Documentation AWS IAM".
-
Créez le fichier de ressource personnalisée (CR) et nommez-le
trident-protect-backup-cr.yaml. -
Dans le fichier que vous avez créé, configurez les attributs suivants :
-
metadata.name: (required) le nom de cette ressource personnalisée; choisissez un nom unique et sensible pour votre environnement.
-
Spec.applicationRef: (required) Nom Kubernetes de l'application à sauvegarder.
-
Spec.appVaultRef: (required) Nom de l'AppVault où le contenu de la sauvegarde doit être stocké.
-
Spec.datamover: (Optional) chaîne indiquant l'outil de sauvegarde à utiliser pour l'opération de sauvegarde. Valeurs possibles (sensibles à la casse) :
-
Restic -
Kopia(par défaut)
-
-
Spec.reclaimPolicy: (Optional) définit ce qui arrive à une sauvegarde lorsqu'elle est libérée de sa réclamation. Valeurs possibles :
-
Delete -
Retain(par défaut)
-
-
spec.snapshotRef: (Optional): Nom du snapshot à utiliser comme source de la sauvegarde. Si ce n'est pas le cas, un instantané temporaire sera créé et sauvegardé.
Exemple 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 -
-
Une fois que vous avez rempli le
trident-protect-backup-cr.yamlfichier avec les valeurs correctes, appliquez la CR :kubectl apply -f trident-protect-backup-cr.yaml
-
Créez la sauvegarde en remplaçant les valeurs entre parenthèses par les informations de votre environnement. Par exemple :
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>Vous pouvez éventuellement utiliser
--full-backupl'indicateur pour spécifier si une sauvegarde doit être non incrémentielle. Par défaut, toutes les sauvegardes sont incrémentielles. Lorsque cette option est utilisée, la sauvegarde devient non incrémentielle. Il est recommandé d'effectuer régulièrement une sauvegarde complète, puis d'effectuer des sauvegardes incrémentielles entre deux sauvegardes complètes afin de réduire le risque associé aux restaurations.
Annotations de sauvegarde prises en charge
Le tableau suivant décrit les annotations que vous pouvez utiliser lors de la création d'une demande de modification de sauvegarde :
| Annotation | Type | Description | Valeur par défaut |
|---|---|---|---|
protect.trident.netapp.io/full-backup |
chaîne |
Indique si la sauvegarde doit être non incrémentale. Réglé sur |
« faux » |
protect.trident.netapp.io/snapshot-completion-timeout |
chaîne |
Durée maximale autorisée pour l'exécution de l'opération globale de capture d'instantané. |
"60m" |
protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout |
chaîne |
Le délai maximal autorisé pour que les instantanés de volume atteignent l'état prêt à l'emploi. |
"30m" |
protect.trident.netapp.io/volume-snapshots-created-timeout |
chaîne |
Durée maximale autorisée pour la création d'instantanés de volume. |
"5m" |
protect.trident.netapp.io/pvc-bind-timeout-sec |
chaîne |
Délai maximal (en secondes) d'attente pour que les PersistentVolumeClaims (PVC) nouvellement créées atteignent le |
"1200" (20 minutes) |
Créez un calendrier de protection des données
Une politique de protection protège une application en créant des instantanés, des sauvegardes ou les deux selon un calendrier défini. Vous pouvez choisir de créer des instantanés et des sauvegardes toutes les heures, tous les jours, toutes les semaines et tous les mois, et vous pouvez spécifier le nombre de copies à conserver. Vous pouvez planifier une sauvegarde complète non incrémentielle en utilisant l'annotation full-backup-rule. Par défaut, toutes les sauvegardes sont incrémentielles. L’exécution périodique d’une sauvegarde complète, ainsi que de sauvegardes incrémentielles entre les deux, permet de réduire le risque associé aux restaurations.
|
|
|
-
Créez le fichier de ressource personnalisée (CR) et nommez-le
trident-protect-schedule-cr.yaml. -
Dans le fichier que vous avez créé, configurez les attributs suivants :
-
metadata.name: (required) le nom de cette ressource personnalisée; choisissez un nom unique et sensible pour votre environnement.
-
Spec.datamover: (Optional) chaîne indiquant l'outil de sauvegarde à utiliser pour l'opération de sauvegarde. Valeurs possibles (sensibles à la casse) :
-
Restic -
Kopia(par défaut)
-
-
Spec.applicationRef : nom Kubernetes de l'application à sauvegarder.
-
Spec.appVaultRef: (required) Nom de l'AppVault où le contenu de la sauvegarde doit être stocké.
-
spec.backupRetention: (Obligatoire) Le nombre de sauvegardes à conserver. Zéro indique qu'aucune sauvegarde ne doit être créée (instantanés uniquement).
-
spec.backupReclaimPolicy: (Optionnel) Détermine ce qui arrive à une sauvegarde si la ressource CR de sauvegarde est supprimée pendant sa période de rétention. Après la période de conservation, les sauvegardes sont toujours supprimées. Valeurs possibles (sensible à la casse) :
-
Retain(par défaut) -
Delete
-
-
spec.snapshotRetention: (Obligatoire) Le nombre de snapshots à conserver. La valeur zéro indique qu'aucun instantané ne doit être créé.
-
spec.snapshotReclaimPolicy: (Optionnel) Détermine ce qui arrive à un instantané si la ressource personnalisée (CR) de l'instantané est supprimée pendant sa période de rétention. Après la période de conservation, les instantanés sont toujours supprimés. Valeurs possibles (sensible à la casse) :
-
Retain -
Delete(défaut)
-
-
spec.granularity: la fréquence à laquelle le programme doit s'exécuter. Valeurs possibles, ainsi que les champs associés obligatoires :
-
Hourly(nécessite que vous spécifiiezspec.minute) -
Daily(nécessite que vous spécifiiezspec.minuteetspec.hour) -
Weekly(nécessite que vous spécifiiezspec.minute, spec.hour, etspec.dayOfWeek) -
Monthly(nécessite que vous spécifiiezspec.minute, spec.hour, etspec.dayOfMonth) -
Custom
-
-
spec.dayOfMonth: (Facultatif) Le jour du mois (1 - 31) auquel la planification doit s'exécuter. Ce champ est obligatoire si la granularité est définie sur
Monthly. La valeur doit être fournie sous forme de chaîne. -
spec.dayOfWeek: (Facultatif) Le jour de la semaine (0 - 7) pendant lequel la planification doit s'exécuter. Les valeurs de 0 ou 7 indiquent dimanche. Ce champ est obligatoire si la granularité est définie sur
Weekly. La valeur doit être fournie sous forme de chaîne. -
spec.hour: (Facultatif) L'heure de la journée (0 - 23) à laquelle le programme doit s'exécuter. Ce champ est obligatoire si la granularité est définie sur
Daily,Weekly, ouMonthly. La valeur doit être fournie sous forme de chaîne. -
spec.minute: (Facultatif) La minute de l'heure (0 - 59) à laquelle la planification doit s'exécuter. Ce champ est obligatoire si la granularité est définie sur
Hourly,Daily,Weekly, ouMonthly. La valeur doit être fournie sous forme de chaîne.Exemple de YAML pour la planification de sauvegarde et de snapshot :
--- 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"Exemple de YAML pour la planification des instantanés uniquement :
--- 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" -
-
Une fois que vous avez rempli le
trident-protect-schedule-cr.yamlfichier avec les valeurs correctes, appliquez la CR :kubectl apply -f trident-protect-schedule-cr.yaml
-
Créez le planning de protection en remplaçant les valeurs entre parenthèses par les informations de votre environnement. Par exemple :
Vous pouvez utiliser tridentctl-protect create schedule --helppour afficher les informations d'aide détaillées de cette commande.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>Vous pouvez définir le
--full-backup-ruledrapeau suralwayspour une sauvegarde complète constante ou le personnaliser en fonction de vos besoins. Par exemple, si vous choisissez la granularité quotidienne, vous pouvez spécifier les jours de la semaine sur lesquels la sauvegarde complète doit avoir lieu. Par exemple, utilisez--full-backup-rule "Monday,Thursday"pour programmer une sauvegarde complète le lundi et le jeudi.Pour les planifications d'instantanés uniquement, définissez
--backup-retention 0et spécifiez une valeur supérieure à 0 pour--snapshot-retention.
Annotations de planification prises en charge
Le tableau suivant décrit les annotations que vous pouvez utiliser lors de la création d'une demande de changement (CR) de planification :
| Annotation | Type | Description | Valeur par défaut |
|---|---|---|---|
protect.trident.netapp.io/full-backup-rule |
chaîne |
Spécifie la règle de planification des sauvegardes complètes. Vous pouvez le paramétrer pour |
Non configuré (toutes les sauvegardes sont incrémentales) |
protect.trident.netapp.io/snapshot-completion-timeout |
chaîne |
Durée maximale autorisée pour l'exécution de l'opération globale de capture d'instantané. |
"60m" |
protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout |
chaîne |
Le délai maximal autorisé pour que les instantanés de volume atteignent l'état prêt à l'emploi. |
"30m" |
protect.trident.netapp.io/volume-snapshots-created-timeout |
chaîne |
Durée maximale autorisée pour la création d'instantanés de volume. |
"5m" |
protect.trident.netapp.io/pvc-bind-timeout-sec |
chaîne |
Délai maximal (en secondes) d'attente pour que les PersistentVolumeClaims (PVC) nouvellement créées atteignent le |
"1200" (20 minutes) |
Supprime un snapshot
Supprimez les snapshots programmés ou à la demande dont vous n'avez plus besoin.
-
Supprimer l'instantané CR associé à l'instantané :
kubectl delete snapshot <snapshot_name> -n my-app-namespace
Supprimer une sauvegarde
Supprimez les sauvegardes planifiées ou à la demande qui ne vous sont plus nécessaires.
|
|
Assurez-vous que la politique de récupération est définie sur Delete pour supprimer toutes les données de sauvegarde du stockage d'objets. Le paramètre par défaut de la politique est Retain pour éviter toute perte accidentelle de données. Si la politique n'est pas modifiée Delete , les données de sauvegarde resteront dans le stockage d'objets et nécessiteront une suppression manuelle.
|
-
Supprimez la CR de sauvegarde associée à la sauvegarde :
kubectl delete backup <backup_name> -n my-app-namespace
Vérifier l'état d'une opération de sauvegarde
Vous pouvez utiliser la ligne de commande pour vérifier l'état d'une opération de sauvegarde en cours, terminée ou ayant échoué.
-
Utiliser la commande suivante pour récupérer le statut de l'opération de sauvegarde en remplaçant les valeurs entre crochets par des informations de votre environnement :
kubectl get backup -n <namespace_name> <my_backup_cr_name> -o jsonpath='{.status}'
Activez la sauvegarde et la restauration pour les opérations Azure-NetApp-Files (ANF)
Si vous avez installé Trident Protect, vous pouvez activer une fonctionnalité de sauvegarde et de restauration économe en espace pour les backends de stockage qui utilisent la classe de stockage azure-netapp-files et qui ont été créés avant Trident 24.06. Cette fonctionnalité est compatible avec les volumes NFSv4 et ne consomme pas d'espace supplémentaire du pool de capacité.
Vérifiez les points suivants :
-
Vous avez installé Trident Protect.
-
Vous avez défini une application dans Trident Protect. Cette application offrira des fonctionnalités de protection limitées jusqu'à ce que vous ayez terminé cette procédure.
-
Vous avez
azure-netapp-filessélectionné comme classe de stockage par défaut pour votre système back-end de stockage.
Développez pour les étapes de configuration
-
Si le volume ANF a été créé avant la mise à niveau vers Trident 24.10, procédez comme suit dans Trident :
-
Activez le répertoire Snapshot pour chaque volume persistant basé sur Azure-NetApp-Files et associé à l'application :
tridentctl update volume <pv name> --snapshot-dir=true -n trident -
Vérifiez que le répertoire de snapshot a été activé pour chaque PV associé :
tridentctl get volume <pv name> -n trident -o yaml | grep snapshotDirRéponse :
snapshotDirectory: "true"
+
Lorsque le répertoire de snapshots n'est pas activé, Trident Protect choisit la fonctionnalité de sauvegarde standard, qui consomme temporairement de l'espace dans le pool de capacité pendant le processus de sauvegarde. Dans ce cas, assurez-vous de disposer d'un espace suffisant dans le pool de capacité pour créer un volume temporaire de la taille du volume sauvegardé. -
L'application est prête pour la sauvegarde et la restauration à l'aide de Trident Protect. Chaque PVC peut également être utilisé par d'autres applications pour les sauvegardes et les restaurations.