Introduction #
Cybee utilise le système de verous de Restic pour garantir l’intégrité des données lors des opérations sur les dépôts.
Ces verrous empêchent les corruptions de données et les conflits lors d’opérations concurrentes. Il existe deux types de verrous : exclusifs et non exclusifs.
Types de verrous #
Verrous exclusifs #
Les verrous exclusifs empêchent toute autre opération sur le dépôt. Lorsqu’un verrou exclusif est actif, aucun serveur ne peut accéder au dépôt pour effectuer une sauvegarde.
Verrous non exclusifs #
Les verrous non exclusifs permettent à plusieurs opérations de lecture et d’écriture de s’exécuter simultanément, mais empêchent les opérations d’écriture conflictuelles.
Opérations et types de verrous #
Opérations avec verrou exclusif #
Les deux principales opérations suivantes posent un verrou exclusif sur le dépôt :
Elagage #
- Objectif : Supprime les données inutilisées (anciens clichés ) et réorganise le dépôt
- Usage : permet d’optimiser la taille du dépot
- Durée : Variable selon la taille du dépôt et les options d’élagage
Reconstruction d’index du dépot #
- Objectif : Reconstruit l’index du dépôt
- Usage : Utilisé en cas de corruption d’index
- Durée : Variable selon la taille du dépôt et les options
Opérations avec verrou non exclusif #
Les opérations suivantes posent un verrou non exclusif sur le dépôt :
Sauvegarde et Restauration de données #
- Objectif : Réalisation d’une sauvegarde des données dans le dépôt (cliché) ou restaure des données depuis le dépôt
- Concurrent avec : Autres sauvegardes, restaurations de données , vérifications sans modification d’index
- Incompatible avec : Elagage, Reconstruction d’index du dépot
Contrôle d’intégrité de dépot #
- Objectif : Vérifie l’intégrité du dépôt (sans reconstruction)
- Options :
- Par défaut : verrou non exclusif
- Avec
--read-data: peut nécessiter plus de temps
- Concurrent avec : Sauvegardes, restaurations
Suppression des clichés #
- Objectif : Marque les snapshots pour suppression mais ne supprime pas les données (réalisé par l’action d’élagage)
- Note : N’affecte pas les données physiques de sauvegarde, uniquement les métadonnées
restic snapshots, restic ls, restic cat #
- Type de verrou : Non exclusif (lecture seule)
- Raison : Consultation des données
- Impact : Minimal, peut s’exécuter en parallèle
Bonnes pratiques #
Planification des opérations #
- Exécutez les actions d’élagages pendant les périodes creuses : en déhors de la fenêtre de sauvegarde
- Espacez les actions d’élagages : Un élégage quotidien est rarement nécessaire ; une fréquence hebdomadaire suffit généralement
- Coordonnez les sauvegardes multiples : Restic gère bien les sauvegardes concurrentes grâce aux verrous non exclusifs
Optimisation des performances #
- Sauvegardes simultanées : Plusieurs machines peuvent sauvegarder vers le même dépôt simultanément
- Évitez les élégages fréquents : Combinés avec
forget, ils peuvent être planifiés moins souvent - Utilisez
forget --prune: Combine les deux opérations pour une meilleure efficacité
Conclusion #
La compréhension du système de verrous de Restic est essentielle pour :
- Planifier efficacement les opérations de maintenance
- Éviter les conflits dans les environnements multi-serveurs
- Optimiser les performances des sauvegardes distribuées
En respectant les principes de verrouillage, vous garantissez l’intégrité de vos dépôts tout en maximisant la disponibilité du système de sauvegarde.