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 snapshots 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. "En savoir plus sur la configuration du gel du système de fichiers avec Trident Protect". |
Créer un instantané à la demande
Vous pouvez créer un instantané à la demande à tout moment.
|
|
Les ressources à portée de cluster sont incluses dans une sauvegarde, un instantané ou un clone si elles sont explicitement référencées dans la définition de l'application ou si elles ont des références à l'un des espaces de noms de l'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: (Obligatoire) Le nom de cette ressource personnalisée; choisissez un nom unique et pertinent pour votre environnement.
-
spec.applicationRef : Le nom Kubernetes de l'application à capturer.
-
spec.appVaultRef : (Obligatoire) Le nom de l'AppVault où le contenu de l'instantané (métadonnées) doit être stocké.
-
spec.reclaimPolicy : (Optionnel) Définit ce qui arrive à l'AppArchive d’un instantané lorsque le CR de l’instantané est supprimé. Cela signifie que même lorsqu’il est défini sur
Retain, l’instantané sera supprimé. Options valides :-
Retain(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
-
-
-
Après avoir rempli le fichier
trident-protect-snapshot-cr.yamlavec les valeurs correctes, appliquez le CR :kubectl apply -f trident-protect-snapshot-cr.yaml
-
Créez l'instantané en remplaçant les valeurs entre crochets 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éer une sauvegarde à la demande
Vous pouvez sauvegarder une app à tout moment.
|
|
Les ressources à portée de cluster sont incluses dans une sauvegarde, un instantané ou un clone si elles sont explicitement référencées dans la définition de l'application ou si elles ont des références à l'un des espaces de noms de l'application. |
Assurez-vous que la durée de validité du jeton de session AWS est suffisante pour toute opération de sauvegarde s3 de longue durée. Si le jeton expire pendant l'opération de sauvegarde, l'opération peut échouer.
-
Consultez la "Documentation AWS API" pour plus d'informations sur la vérification de l'expiration du jeton de session actuel.
-
Consultez la "Documentation AWS IAM" pour plus d'informations sur les identifiants relatifs aux ressources AWS.
-
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: (Obligatoire) Le nom de cette ressource personnalisée; choisissez un nom unique et pertinent pour votre environnement.
-
spec.applicationRef: (Obligatoire) Le nom Kubernetes de l'application à sauvegarder.
-
spec.appVaultRef : (Obligatoire) Le nom du AppVault où le contenu de la sauvegarde doit être stocké.
-
spec.dataMover : (Facultatif) Chaîne de caractères indiquant l'outil de sauvegarde à utiliser pour l'opération de sauvegarde. Valeurs possibles (sensibles à la casse) :
-
Restic -
Kopia(défaut)
-
-
spec.reclaimPolicy : (Optionnel) Définit ce qui se passe pour une sauvegarde lorsqu'elle est libérée de sa revendication. Valeurs possibles :
-
Delete -
Retain(défaut)
-
-
spec.snapshotRef : (Facultatif) : Nom de l’instantané à utiliser comme source de la sauvegarde. Si cette information n’est pas fournie, 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 -
-
Après avoir rempli le fichier
trident-protect-backup-cr.yamlavec les valeurs correctes, appliquez le CR :kubectl apply -f trident-protect-backup-cr.yaml
-
Créez la sauvegarde en remplaçant les valeurs entre crochets 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 le
--full-backupflag pour spécifier si une sauvegarde doit être non incrémentielle. Par défaut, toutes les sauvegardes sont incrémentielles. Lorsque ce flag est utilisé, la sauvegarde devient non incrémentielle. Il est bonne pratique d’effectuer une sauvegarde complète périodiquement, puis d’effectuer des sauvegardes incrémentielles entre les sauvegardes complètes afin de minimiser 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'un CR de sauvegarde :
| Annotation | Type | Description | valeur par défaut |
|---|---|---|---|
protect.trident.netapp.io/full-backup |
chaîne |
Indique si une sauvegarde doit être non incrémentielle. Définissez sur |
"false" |
protect.trident.netapp.io/snapshot-completion-timeout |
chaîne |
Le temps maximal autorisé pour que l'opération globale de capture d'instantané soit terminée. |
"60m" |
protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout |
chaîne |
Le temps 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 |
Temps maximal (en secondes) d'attente pour que tout nouveau PersistentVolumeClaims (PVC) atteigne la phase |
"1200" (20 minutes) |
Créer un calendrier de protection des données
Une politique de protection protège une app en créant des instantanés, des sauvegardes, ou les deux selon une planification définie. 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 à l'aide de l'annotation full-backup-rule. Par défaut, toutes les sauvegardes sont incrémentielles. Effectuer une sauvegarde complète périodiquement, ainsi que des sauvegardes incrémentielles entre les deux, aide à 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: (Obligatoire) Le nom de cette ressource personnalisée; choisissez un nom unique et pertinent pour votre environnement.
-
spec.dataMover : (Facultatif) Chaîne de caractères indiquant l'outil de sauvegarde à utiliser pour l'opération de sauvegarde. Valeurs possibles (sensibles à la casse) :
-
Restic -
Kopia(défaut)
-
-
spec.applicationRef : Le nom Kubernetes de l'application à sauvegarder.
-
spec.appVaultRef : (Obligatoire) Le nom du 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 se passe pour une sauvegarde si le CR de sauvegarde est supprimé pendant sa période de rétention. Après la période de rétention, les sauvegardes sont toujours supprimées. Valeurs possibles (sensibles à la casse) :
-
Retain(défaut) -
Delete
-
-
spec.snapshotRetention : (Obligatoire) Le nombre d'instantanés à conserver. Zéro indique qu'aucun instantané ne doit être créé.
-
spec.snapshotReclaimPolicy : (Optionnel) Détermine ce qui se passe pour 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 rétention, les instantanés sont toujours supprimés. Valeurs possibles (sensibles à la casse) :
-
Retain -
Delete(défaut)
-
-
spec.granularity : La fréquence à laquelle la planification 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 précisiezspec.minuteetspec.hour) -
Weekly(nécessite que vous précisiezspec.minute, spec.hour, etspec.dayOfWeek) -
Monthly(nécessite que vous précisiezspec.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 requis 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) auquel la planification doit s’exécuter. Les valeurs 0 ou 7 indiquent le dimanche. Ce champ est requis 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 la planification doit s'exécuter. Ce champ est obligatoire si la granularité est définie sur
Daily,WeeklyouMonthly. 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,WeeklyouMonthly. La valeur doit être fournie sous forme de chaîne.Exemple YAML pour la planification des sauvegardes et des instantanés :
--- 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 YAML pour une planification uniquement par instantané :
--- 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" -
-
Après avoir rempli le fichier
trident-protect-schedule-cr.yamlavec les valeurs correctes, appliquez le CR :kubectl apply -f trident-protect-schedule-cr.yaml
-
Créez le calendrier de protection en remplaçant les valeurs entre crochets par les informations de votre environnement. Par exemple :
Vous pouvez utiliser tridentctl-protect create schedule --helppour consulter des informations d'aide détaillées pour 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> \ --run-immediately <true|false> \ -n <application_namespace>Les options suivantes offrent un contrôle supplémentaire sur votre emploi du temps :
-
Planification de sauvegarde complète : Utilisez le
--full-backup-ruleindicateur pour planifier des sauvegardes complètes non incrémentielles. Cet indicateur fonctionne uniquement avec--granularity Daily. Valeurs possibles :-
Always: Créez une sauvegarde complète chaque jour. -
Jours de la semaine spécifiques : Indiquez un ou plusieurs jours séparés par des virgules (par exemple,
"Monday,Thursday"). Valeurs valides : Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday.Le `--full-backup-rule`paramètre ne fonctionne pas avec la granularité Horaire, Hebdomadaire ou Mensuelle.
-
-
Planifications d'instantané uniquement : Définissez
--backup-retention 0et spécifiez une valeur supérieure à zéro 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'un schedule CR :
| 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 la configurer sur |
Non défini (toutes les sauvegardes sont incrémentales) |
protect.trident.netapp.io/snapshot-completion-timeout |
chaîne |
Le temps maximal autorisé pour que l'opération globale de capture d'instantané soit terminée. |
"60m" |
protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout |
chaîne |
Le temps 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 |
Temps maximal (en secondes) d'attente pour que tout nouveau PersistentVolumeClaims (PVC) atteigne la phase |
"1200" (20 minutes) |
Supprimer un instantané
Supprimez les instantanés planifiés ou à la demande dont vous n'avez plus besoin.
-
Supprimez le snapshot CR associé à l’instantané :
kubectl delete snapshot <snapshot_name> -n my-app-namespace
Supprimer une sauvegarde
Supprimez les sauvegardes planifiées ou à la demande dont vous n'avez plus besoin.
|
|
Assurez-vous que la stratégie de récupération est configurée sur Delete pour supprimer toutes les données de sauvegarde du stockage objet. Le paramètre par défaut de la stratégie est Retain pour éviter toute perte de données. Si la stratégie n'est pas modifiée sur Delete, les données de sauvegarde resteront dans le stockage objet et devront être supprimées manuellement.
|
-
Supprimez le CR de sauvegarde associé à la sauvegarde :
kubectl delete backup <backup_name> -n my-app-namespace
Vérifiez l'état d'une opération de sauvegarde
Vous pouvez utiliser la ligne de commandes pour vérifier l'état d'une opération de sauvegarde qui est en cours, terminée ou a échoué.
-
Utilisez la commande suivante pour récupérer l'état de l'opération de sauvegarde, en remplaçant les valeurs entre crochets par les informations de votre environnement :
kubectl get backup -n <namespace_name> <my_backup_cr_name> -o jsonpath='{.status}'
Activer la sauvegarde et la restauration pour les opérations azure-netapp-files (ANF)
Si vous avez installé Trident Protect, vous pouvez activer la fonctionnalité de sauvegarde et de restauration efficace en termes d'espace pour les systèmes de stockage utilisant la classe de stockage azure-netapp-files et créés avant Trident 24.06. Cette fonctionnalité fonctionne avec les volumes NFSv4 et ne consomme pas d'espace supplémentaire du pool de capacité.
Assurez-vous de ce qui suit :
-
Vous avez installé Trident Protect.
-
Vous avez défini une application dans Trident Protect. Cette application disposera d'une fonctionnalité de protection limitée jusqu'à ce que vous ayez terminé cette procédure.
-
Vous avez
azure-netapp-filessélectionné comme classe de stockage par défaut pour votre storage backend.
Développez pour afficher les étapes de configuration
-
Effectuez les opérations suivantes dans Trident si le volume ANF a été créé avant la mise à niveau vers Trident 24.10 :
-
Activez le répertoire de snapshots pour chaque PV qui est 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 des instantanés 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 régulière, 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 à sauvegarder. -
L'application est prête pour la sauvegarde et la restauration à l'aide de Trident Protect. Chaque PVC est également disponible pour être utilisé par d'autres applications pour les sauvegardes et les restaurations.