1.8. La sauvegarde de l’OADP
1.8.1. Sauvegarde des applications Copier lienLien copié sur presse-papiers!
Les sauvegardes fréquentes peuvent consommer du stockage sur l’emplacement de stockage de sauvegarde. Vérifiez la fréquence des sauvegardes, le temps de conservation et la quantité de données des volumes persistants (PV) si vous utilisez des sauvegardes non locales, par exemple des seaux S3. Étant donné que toutes les sauvegardes prises restent jusqu’à expiration, vérifiez également le réglage du temps de vie (TTL) de l’horaire.
Il est possible de sauvegarder les applications en créant une ressource personnalisée de sauvegarde (CR). En savoir plus, voir Créer une sauvegarde CR.
Le Backup CR crée des fichiers de sauvegarde pour les ressources Kubernetes et des images internes sur le stockage d’objets S3.
1.8.1.1. Aperçu des ressources avant d’exécuter la sauvegarde et la restauration Copier lienLien copié sur presse-papiers!
L’OADP sauvegarde les ressources applicatives en fonction du type, de l’espace de noms ou de l’étiquette. Cela signifie que vous pouvez afficher les ressources une fois la sauvegarde terminée. De même, vous pouvez voir les objets restaurés en fonction de l’espace de noms, du volume persistant (PV) ou de l’étiquette après la fin d’une opération de restauration. Afin de prévisualiser les ressources à l’avance, vous pouvez effectuer un cycle sec des opérations de sauvegarde et de restauration.
Conditions préalables
- L’opérateur OADP a été installé.
Procédure
Afin de prévisualiser les ressources incluses dans la sauvegarde avant d’exécuter la sauvegarde réelle, exécutez la commande suivante:
velero backup create <backup-name> --snapshot-volumes false
$ velero backup create <backup-name> --snapshot-volumes false
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez la valeur du paramètre --snapshot-volumes comme false.
Afin de connaître plus de détails sur les ressources de sauvegarde, exécutez la commande suivante:
velero describe backup <backup_name> --details
$ velero describe backup <backup_name> --details
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le nom de la sauvegarde.
Afin de prévisualiser les ressources incluses dans la restauration avant d’exécuter la restauration réelle, exécutez la commande suivante:
velero restore create --from-backup <backup-name>
$ velero restore create --from-backup <backup-name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le nom de la sauvegarde créée pour examiner les ressources de sauvegarde.
ImportantLa commande de création de la restauration velero crée des ressources de restauration dans le cluster. Après avoir examiné les ressources, vous devez supprimer les ressources créées dans le cadre de la restauration.
Afin de connaître plus de détails sur les ressources de restauration, exécutez la commande suivante:
velero describe restore <restore_name> --details
$ velero describe restore <restore_name> --details
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le nom de la restauration.
Il est possible de créer des crochets de sauvegarde pour exécuter des commandes avant ou après l’opération de sauvegarde. Découvrez Créer des crochets de sauvegarde.
Il est possible de planifier des sauvegardes en créant un Schedule CR au lieu d’un Backup CR. Consultez les sauvegardes de planification à l’aide de l’annexe CR.
1.8.1.2. Problèmes connus Copier lienLien copié sur presse-papiers!
Le service OpenShift Red Hat sur AWS 4 applique une politique d’admission de sécurité de pod (PSA) qui peut entraver la préparation des pods lors d’un processus de restauration Restic.
Ce problème a été résolu dans les versions 1.1.6 et OADP 1.2.2, il est donc recommandé aux utilisateurs de passer à ces versions.
1.8.2. Créer une sauvegarde CR Copier lienLien copié sur presse-papiers!
Kubernetes sauvegarde les ressources, les images internes et les volumes persistants (PV) en créant une ressource personnalisée de sauvegarde (CR).
Conditions préalables
- Il faut installer l’API OpenShift pour l’opérateur de protection des données (OADP).
- Le DataProtectionApplication CR doit être dans un état prêt.
Conditions préalables à l’emplacement de sauvegarde:
- Le stockage d’objet S3 doit être configuré pour Velero.
- Il faut avoir un emplacement de sauvegarde configuré dans DataProtectionApplication CR.
Conditions préalables à l’emplacement:
- Le fournisseur de cloud doit disposer d’une API instantanée native ou prendre en charge les instantanés CSI (Container Storage Interface).
- Dans le cas des snapshots CSI, vous devez créer un VolumeSnapshotClass CR pour enregistrer le pilote CSI.
- L’emplacement du volume doit être configuré dans DataProtectionApplication CR.
Procédure
Enregistrez les CRs de backupStorageLocations en entrant la commande suivante:
oc get backupstoragelocations.velero.io -n openshift-adp
$ oc get backupstoragelocations.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m
NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez une sauvegarde CR, comme dans l’exemple suivant:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez un tableau d’espaces de noms à sauvegarder.
- 2
- Facultatif : Spécifiez un éventail de ressources à inclure dans la sauvegarde. Les ressources peuvent être des raccourcis (par exemple, «po» pour «pods») ou entièrement qualifiés. En cas d’absence de précision, toutes les ressources sont incluses.
- 3
- Facultatif : Spécifiez un éventail de ressources à exclure de la sauvegarde. Les ressources peuvent être des raccourcis (par exemple, «po» pour «pods») ou entièrement qualifiés.
- 4
- Indiquez le nom de backupStorageLocations CR.
- 5
- Carte de {key,value} paires de ressources de sauvegarde qui ont toutes les étiquettes spécifiées.
- 6
- Carte de {key,value} paires de ressources de sauvegarde qui ont une ou plusieurs des étiquettes spécifiées.
Assurez-vous que l’état de la sauvegarde CR est complété:
oc get backups.velero.io -n openshift-adp <backup> -o jsonpath='{.status.phase}'
$ oc get backups.velero.io -n openshift-adp <backup> -o jsonpath='{.status.phase}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8.3. Création de crochets de sauvegarde Copier lienLien copié sur presse-papiers!
Lors de l’exécution d’une sauvegarde, il est possible de spécifier une ou plusieurs commandes à exécuter dans un conteneur à l’intérieur d’un pod, en fonction de la sauvegarde de la pod.
Les commandes peuvent être configurées pour être exécutées avant tout traitement d’action personnalisé (pré crochets), ou après que toutes les actions personnalisées aient été terminées et que tous les éléments supplémentaires spécifiés par l’action personnalisée aient été sauvegardés (hameçons postés).
Créez des crochets de sauvegarde pour exécuter des commandes dans un conteneur dans un pod en éditant la ressource personnalisée de sauvegarde (CR).
Procédure
Ajoutez un crochet au bloc spec.hooks du Backup CR, comme dans l’exemple suivant:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Facultatif: Vous pouvez spécifier les espaces de noms auxquels le crochet s’applique. Dans le cas où cette valeur n’est pas spécifiée, le crochet s’applique à tous les espaces de noms.
- 2
- Facultatif: Vous pouvez spécifier les espaces de noms auxquels le crochet ne s’applique pas.
- 3
- Actuellement, les pods sont la seule ressource prise en charge à laquelle les crochets peuvent s’appliquer.
- 4
- Facultatif : Vous pouvez spécifier les ressources auxquelles le crochet ne s’applique pas.
- 5
- Facultatif: Ce crochet ne s’applique qu’aux objets correspondant à l’étiquette. Dans le cas où cette valeur n’est pas spécifiée, le crochet s’applique à tous les objets.
- 6
- Gamme de crochets à exécuter avant la sauvegarde.
- 7
- Facultatif: Si le conteneur n’est pas spécifié, la commande s’exécute dans le premier conteneur dans le pod.
- 8
- C’est le point d’entrée pour le conteneur d’init ajouté.
- 9
- Les valeurs autorisées pour le traitement des erreurs sont Fail and Continue. La valeur par défaut est l’échec.
- 10
- Facultatif: Combien de temps pour attendre que les commandes s’exécutent. La valeur par défaut est 30s.
- 11
- Ce bloc définit un tableau de crochets à exécuter après la sauvegarde, avec les mêmes paramètres que les crochets de pré-back.
1.8.4. Calendrier des sauvegardes à l’aide de l’annexe CR Copier lienLien copié sur presse-papiers!
L’opération de planification vous permet de créer une sauvegarde de vos données à un moment donné, spécifié par une expression Cron.
Les sauvegardes sont planifiées en créant une ressource personnalisée (CR) au lieu d’une sauvegarde CR.
Laissez suffisamment de temps dans votre calendrier de sauvegarde pour qu’une sauvegarde se termine avant la création d’une autre sauvegarde.
Ainsi, si une sauvegarde d’un espace de noms prend généralement 10 minutes, ne planifiez pas les sauvegardes plus fréquemment que toutes les 15 minutes.
Conditions préalables
- Il faut installer l’API OpenShift pour l’opérateur de protection des données (OADP).
- Le DataProtectionApplication CR doit être dans un état prêt.
Procédure
Découvrez les CRs de backupStorageLocations:
oc get backupStorageLocations -n openshift-adp
$ oc get backupStorageLocations -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m
NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer une annexe CR, comme dans l’exemple suivant:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 1
- expression cron pour programmer la sauvegarde, par exemple 0 7 * * * pour effectuer une sauvegarde tous les jours à 7h00.Note
Afin de planifier une sauvegarde à intervalles spécifiques, entrez le <duration_in_minutes> dans le format suivant:
schedule: "*/10 * * * *"
schedule: "*/10 * * * *"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Entrez la valeur des minutes entre les guillemets (" ").
- 2
- Gamme d’espaces de noms à sauvegarder.
- 3
- Le nom de backupStorageLocations CR.
- 4
- Facultatif: Dans la version 1.2 et ultérieure d’OADP, ajoutez la sauvegarde par défautVolumesToFsBackup: vraie paire clé-valeur à votre configuration lors de l’exécution de sauvegardes de volumes avec Restic. Dans la version 1.1 de OADP, ajoutez la paire par défautVolumesToRestic: vraie paire clé-valeur lorsque vous sauvegardez des volumes avec Restic.
Assurez-vous que l’état de l’annexe CR est terminé après l’exécution de la sauvegarde prévue:
oc get schedule -n openshift-adp <schedule> -o jsonpath='{.status.phase}'
$ oc get schedule -n openshift-adp <schedule> -o jsonpath='{.status.phase}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8.5. La suppression des sauvegardes Copier lienLien copié sur presse-papiers!
Il est possible de supprimer une sauvegarde en créant la ressource personnalisée DeleteBackupRequest (CR) ou en exécutant la commande de suppression velero comme expliqué dans les procédures suivantes.
Les artefacts de sauvegarde de volume sont supprimés à différents moments en fonction de la méthode de sauvegarde:
- Les artefacts sont supprimés dans le prochain cycle de maintenance complet, une fois la sauvegarde supprimée.
- Interface de stockage de conteneurs (CSI): Les artefacts sont supprimés immédiatement lorsque la sauvegarde est supprimée.
- Kopia: Les artefacts sont supprimés après trois cycles de maintenance complets du référentiel Kopia, une fois la sauvegarde supprimée.
1.8.5.1. La suppression d’une sauvegarde en créant un DeleteBackupRequest CR Copier lienLien copié sur presse-papiers!
Il est possible de supprimer une sauvegarde en créant une ressource personnalisée DeleteBackupRequest (CR).
Conditions préalables
- Exécutez une sauvegarde de votre application.
Procédure
Créer un fichier manifeste DeleteBackupRequest CR:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le nom de la sauvegarde.
Appliquez le DeleteBackupRequest CR pour supprimer la sauvegarde:
oc apply -f <deletebackuprequest_cr_filename>
$ oc apply -f <deletebackuprequest_cr_filename>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8.5.2. La suppression d’une sauvegarde en utilisant le Velero CLI Copier lienLien copié sur presse-papiers!
Il est possible de supprimer une sauvegarde en utilisant le Velero CLI.
Conditions préalables
- Exécutez une sauvegarde de votre application.
- Le logiciel Velero CLI vous permet d’accéder au binaire Velero dans votre cluster.
Procédure
Afin de supprimer la sauvegarde, exécutez la commande Velero suivante:
velero backup delete <backup_name> -n openshift-adp
$ velero backup delete <backup_name> -n openshift-adp
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le nom de la sauvegarde.
1.8.5.3. À propos de la maintenance du référentiel Kopia Copier lienLien copié sur presse-papiers!
Il existe deux types d’entretien du référentiel Kopia:
- Entretien rapide
- Fonctionne toutes les heures pour maintenir le nombre de blobs d’index (n) bas. Le nombre élevé d’indices affecte négativement la performance des opérations de Kopia.
- Il ne supprime aucune métadonnées du référentiel sans s’assurer qu’une autre copie des mêmes métadonnées existe.
- Entretien complet
- Fonctionne toutes les 24 heures pour effectuer la collecte des ordures du contenu du dépôt qui ne sont plus nécessaires.
- Snapshot-gc, une tâche de maintenance complète, trouve tous les fichiers et listes d’annuaires qui ne sont plus accessibles à partir des manifestes instantanés et les marquent comme supprimés.
- La maintenance complète est une opération rentable, car elle nécessite l’analyse de tous les répertoires dans tous les instantanés qui sont actifs dans le cluster.
1.8.5.3.1. Kopia maintenance dans OADP Copier lienLien copié sur presse-papiers!
Les tâches repo-maintain-job sont exécutées dans l’espace de noms où OADP est installé, comme indiqué dans l’exemple suivant:
pod/repo-maintain-job-173...2527-2nbls 0/1 Completed 0 168m pod/repo-maintain-job-173....536-fl9tm 0/1 Completed 0 108m pod/repo-maintain-job-173...2545-55ggx 0/1 Completed 0 48m
pod/repo-maintain-job-173...2527-2nbls 0/1 Completed 0 168m
pod/repo-maintain-job-173....536-fl9tm 0/1 Completed 0 108m
pod/repo-maintain-job-173...2545-55ggx 0/1 Completed 0 48m
Consultez les journaux du travail repo-maintain pour plus de détails sur le nettoyage et la suppression des artefacts dans le stockage d’objets de sauvegarde. Comme indiqué dans l’exemple suivant, vous pouvez trouver une note dans l’emploi repo-maintain lorsque la prochaine maintenance complète du cycle est due:
not due for full maintenance cycle until 2024-00-00 18:29:4
not due for full maintenance cycle until 2024-00-00 18:29:4
Les trois exécutions réussies d’un cycle de maintenance complet sont nécessaires pour que les objets soient supprimés du stockage d’objets de sauvegarde. Cela signifie que vous pouvez vous attendre jusqu’à 72 heures pour que tous les artefacts du stockage d’objet de sauvegarde soient supprimés.
1.8.5.4. La suppression d’un référentiel de sauvegarde Copier lienLien copié sur presse-papiers!
Après que vous avez supprimé la sauvegarde, et après que les cycles de maintenance du référentiel Kopia pour supprimer les artefacts connexes sont terminés, la sauvegarde n’est plus référencée par aucune métadonnées ou objets manifestes. Ensuite, vous pouvez supprimer la ressource personnalisée (CR) de backuprepository pour terminer le processus de suppression de sauvegarde.
Conditions préalables
- La sauvegarde de votre application a été supprimée.
- Jusqu’à 72 heures après la suppression de la sauvegarde. Ce délai permet à Kopia d’exécuter les cycles de maintenance du dépôt.
Procédure
Afin d’obtenir le nom du référentiel de sauvegarde CR pour une sauvegarde, exécutez la commande suivante:
oc get backuprepositories.velero.io -n openshift-adp
$ oc get backuprepositories.velero.io -n openshift-adp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Afin de supprimer le référentiel de sauvegarde CR, exécutez la commande suivante:
oc delete backuprepository <backup_repository_name> -n openshift-adp
$ oc delete backuprepository <backup_repository_name> -n openshift-adp
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Indiquez le nom du référentiel de sauvegarde de l’étape précédente.