Stratégies et cas d’usage #
Dans Cybee, la rétention des sauvegardes détermine combien de temps les snapshots sont conservés dans le dépôt et lesquels sont supprimés. Elle repose sur les mécanismes forget et prune, orchestrés automatiquement par le Backup Manager.
Une politique de rétention bien calibrée est aussi importante que la planification elle-même : elle conditionne la capacité à remonter dans le temps, l’espace de stockage consommé et la conformité aux exigences réglementaires (NIS2, ISO 27001, etc.).
Les deux opérations : Forget et Prune #
La rétention dans Cybee repose sur deux opérations complémentaires :
|
Opération |
Rôle |
|---|---|
|
Forget |
Marque les snapshots à supprimer selon les règles définies |
|
Prune |
Supprime physiquement les blocs de données orphelins dans le dépôt |
Forget seul ne libère pas d’espace disque : il faut que prune soit exécuté pour que le stockage soit effectivement récupéré. Dans Cybee, l’orchestrateur gère l’enchaînement de ces deux opérations automatiquement après chaque cycle hebdomadaire de sauvegarde.
Les trois modèles de rétention #
Cybee supporte trois modèles de rétention, que l’on peut combiner entre eux pour construire une stratégie sur mesure.
Modèle 1 — GFS (Grandfather-Father-Son) #
Le modèle GFS est la stratégie de référence en sauvegarde d’entreprise. Il conserve un nombre fixe de snapshots par période calendaire.
|
Option |
Description |
|---|---|
|
|
n snapshots par heure distincte |
|
|
n snapshots par jour distinct |
|
|
n snapshots par semaine distincte |
|
|
n snapshots par mois distinct |
|
|
n snapshots par année distincte |
Pour chaque période, Cybee conserve le snapshot le plus récent. Les règles sont cumulatives : un snapshot peut être retenu par plusieurs règles simultanément.
Exemple standard — Serveur applicatif en production
Objectif : 2 semaines de granularité fine, 2 mois de granularité hebdomadaire, 1 an de mensuel, 5 ans d’archivage annuel.
|
Paramètre |
Valeur |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Exemple léger — Poste de travail développeur (sauvegardes horaires)
|
Paramètre |
Valeur |
|---|---|
|
|
|
|
|
|
Modèle 2 — Fenêtre temporelle glissante #
Ce modèle conserve tous les snapshots compris dans une durée glissante à partir du snapshot le plus récent. Il est particulièrement adapté aux environnements à fréquence de sauvegarde variable ou aux périodes d’activité intense.
La durée s’exprime avec les unités : h (heures), d (jours), m (mois), y (années).
Des variantes permettent de combiner fenêtre temporelle et logique GFS à l’intérieur de la fenêtre :
|
Option |
Description |
|---|---|
|
|
Tous les snapshots des X derniers jours |
|
|
1 snapshot par jour sur les X derniers jours |
|
|
1 snapshot par semaine sur les X dernières semaines |
|
|
1 snapshot par mois sur les X derniers mois |
Exemple — Granularité fine récente, allégement au-delà
Contexte : on souhaite pouvoir faire un rollback précis sur les 48 dernières heures, puis revenir à une rétention journalière pendant 2 semaines, puis mensuelle sur 12 mois.
|
Paramètre |
Valeur |
|---|---|
|
|
|
|
|
|
|
|
|
Exemple — Mode « burst » post-incident dans Cybee
Suite à un incident, des sauvegardes rapprochées (toutes les 15 min) ont été lancées sur 48h. La rétention conserve cette granularité de crise, puis revient au rythme standard.
|
Paramètre |
Valeur |
|---|---|
|
|
|
|
|
|
|
|
|
Modèle 3 — Conservation des N derniers snapshots #
Le modèle le plus simple : conserver les n snapshots les plus récents, sans considération de période calendaire.
Cas d’usage typiques :
-
Pipeline CI/CD : ne garder que les 10 derniers builds valides (
--keep-last 10) -
Sauvegarde de configurations réseau : garder les 20 dernières versions (
--keep-last 20) -
Sauvegardes de migration one-shot : nettoyer le dépôt en ne conservant que l’essentiel (
--keep-last 3)
Combinaison avec GFS (usage avancé)
--keep-last peut compléter une règle GFS pour garantir qu’un minimum de snapshots est toujours conservé, même en cas de trou de sauvegarde :
|
Paramètre |
Valeur |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Bonnes pratiques dans Cybee #
Simuler avant d’appliquer #
Avant d’appliquer une nouvelle politique de rétention en production, toujours utiliser le mode simulation (--dry-run) qui affiche les snapshots qui seraient supprimés sans les supprimer réellement. Cette étape est obligatoire sur tout dépôt contenant des données de production.
Aligner rétention et planification #
Une politique de rétention doit être cohérente avec la politique de planification (Schedule). Quelques exemples d’alignement :
|
Planification |
Rétention recommandée |
|---|---|
|
Sauvegarde horaire (8h–20h) |
|
|
Sauvegarde nocturne quotidienne (lun–ven) |
|
|
Sauvegarde hebdomadaire (dimanche) |
|
|
Sauvegardes fréquentes + pic saisonnier |
|
Configurer une sauvegarde horaire sans rétention horaire revient à consommer de l’espace inutilement sans bénéficier de la granularité fine attendue.
Utiliser --group-by en environnement multi-tenant #
Sans groupement, les règles de rétention s’appliquent à tous les snapshots du dépôt confondus, ce qui peut provoquer des suppressions inattendues dans un contexte multi-client. La recommandation Cybee est :
--group-by host,paths,tags
Cela isole les règles de rétention par source (hôte + chemin + tag), garantissant une application indépendante par client ou par type de données.
Tableau récapitulatif des modèles #
|
Modèle |
Logique |
Cas d’usage principal |
|---|---|---|
|
GFS |
Nombre fixe de snapshots par période |
Production standard, conformité réglementaire |
|
Fenêtre temporelle |
Tous les snapshots dans une durée glissante |
Granularité fine sur période récente, mode burst |
|
N derniers |
Les N snapshots les plus récents |
CI/CD, configurations, migrations one-shot |