Skip to main content
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Protégez les applications à l'aide de Trident Protect

Contributeurs netapp-mwallis netapp-shwetav netapp-aruldeepa Copilot

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.

Remarque 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.

Remarque 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éer un instantané à l'aide d'une CR
Étapes
  1. Créez le fichier de ressource personnalisée (CR) et nommez-le trident-protect-snapshot-cr.yaml.

  2. 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)

      • Delete

        apiVersion: 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
  3. Une fois que vous avez rempli le trident-protect-snapshot-cr.yaml fichier avec les valeurs correctes, appliquez la CR :

    kubectl apply -f trident-protect-snapshot-cr.yaml
Créer un snapshot à l'aide de l'interface de ligne de commandes
Étapes
  1. 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.

Remarque 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.
Avant de commencer

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.

Créez une sauvegarde à l'aide d'une CR
Étapes
  1. Créez le fichier de ressource personnalisée (CR) et nommez-le trident-protect-backup-cr.yaml.

  2. 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
  3. Une fois que vous avez rempli le trident-protect-backup-cr.yaml fichier avec les valeurs correctes, appliquez la CR :

    kubectl apply -f trident-protect-backup-cr.yaml
Créez une sauvegarde à l'aide de l'interface de ligne de commande
Étapes
  1. 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-backup l'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 true créer une sauvegarde non incrémentale. Il est recommandé d'effectuer périodiquement une sauvegarde complète, puis d'effectuer des sauvegardes incrémentales entre les sauvegardes complètes afin de minimiser les risques liés aux restaurations.

« 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 Bound phase précédant l'échec des opérations.

"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.

Remarque
  • Vous pouvez créer des planifications pour les instantanés uniquement en définissant backupRetention à zéro et snapshotRetention à une valeur supérieure à zéro. Paramètre snapshotRetention à zéro signifie que toutes les sauvegardes planifiées créeront toujours des instantanés, mais ceux-ci sont temporaires et seront supprimés immédiatement après la fin de la sauvegarde.

  • 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éer un programme à l'aide d'une demande de modification
Étapes
  1. Créez le fichier de ressource personnalisée (CR) et nommez-le trident-protect-schedule-cr.yaml.

  2. 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écifiiez spec.minute )

      • Daily(nécessite que vous spécifiiez spec.minute et spec.hour )

      • Weekly(nécessite que vous spécifiiez spec.minute, spec.hour , et spec.dayOfWeek )

      • Monthly(nécessite que vous spécifiiez spec.minute, spec.hour , et spec.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 , ou Monthly . 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 , ou Monthly . 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"
  3. Une fois que vous avez rempli le trident-protect-schedule-cr.yaml fichier avec les valeurs correctes, appliquez la CR :

    kubectl apply -f trident-protect-schedule-cr.yaml
Créez un planning à l'aide de l'interface de ligne de commandes
Étapes
  1. Créez le planning de protection en remplaçant les valeurs entre parenthèses par les informations de votre environnement. Par exemple :

    Remarque Vous pouvez utiliser tridentctl-protect create schedule --help pour 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-rule drapeau sur always pour 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 0 et 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 always pour une sauvegarde complète et permanente ou personnalisez-la en fonction de vos besoins. Par exemple, si vous choisissez une granularité quotidienne, vous pouvez spécifier les jours de la semaine où la sauvegarde complète doit avoir lieu (par exemple, "Monday,Thursday" ).

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 Bound phase précédant l'échec des opérations.

"1200" (20 minutes)

Supprime un snapshot

Supprimez les snapshots programmés ou à la demande dont vous n'avez plus besoin.

Étapes
  1. 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.

Remarque 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.
Étapes
  1. 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é.

Étapes
  1. 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é.

Avant de commencer

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-files sélectionné comme classe de stockage par défaut pour votre système back-end de stockage.

Développez pour les étapes de configuration
  1. Si le volume ANF a été créé avant la mise à niveau vers Trident 24.10, procédez comme suit dans Trident :

    1. 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
    2. 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 snapshotDir

      Ré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é.

Résultat

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.