Checklist de vérification du parent Btrfs Send avant le nettoyage des instantanés

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Ne supprimez pas un parent d’envoi Btrfs parce qu’il semble ancien. Vérifiez d’abord qu’un instantané en lecture seule plus récent existe des deux côtés et peut servir lors du prochain cycle incrémentiel.

Sur un NAS domestique, les instantanés source et destination ont souvent des noms similaires, alors que leurs rôles dans la réplication diffèrent. Le nettoyage devient risqué lorsqu’une tâche de rotation ne tient compte que de l’ancienneté, sans identifier la paire qui sert de base au prochain envoi. Commencez par un inventaire en lecture seule, identifiez la dernière paire source-destination transférée avec succès, testez un enfant plus récent par rapport à celle-ci et conservez la destination précédente jusqu’à la fin d’une autre réception incrémentielle.

Inventoriez la paire parent actuelle sur les deux systèmes

Répertoriez le sous-volume source, tous les instantanés d’envoi en lecture seule et tous les instantanés de destination reçus. Notez le chemin, la date de création, l’état en lecture seule, l’identifiant du sous-volume, l’UUID, la relation parentale et l’identité reçue lorsqu’elle est disponible. Associez le dernier instantané source transféré avec succès à la copie effectivement reçue, et non à un simple répertoire portant un nom similaire.

Une séquence d’envoi et de réception Btrfs fonctionnelle conserve l’instantané précédent sur les deux systèmes avant de l’utiliser comme parent du prochain flux incrémentiel.

Si la paire est clairement présente et en lecture seule, marquez-la comme protégée. Si seuls les noms correspondent, examinez la relation de réception et le journal de réplication avant de continuer. Si la copie de destination est absente, interrompez le nettoyage et prévoyez un nouvel envoi complet ou une autre base vérifiée ; supprimer l’instantané source ne peut pas réparer l’historique manquant du récepteur.

Vérifiez qu’un instantané plus récent peut devenir le prochain parent

Créez le prochain instantané source en lecture seule après avoir enregistré l’inventaire. Utilisez explicitement l’instantané source protégé comme parent et envoyez le nouvel enfant vers la destination prévue ou vers un chemin de staging. Enregistrez le code de sortie et le journal, puis comparez un échantillon de fichiers modifiés et inchangés sur l’instantané reçu.

Les scripts de réplication incrémentielle doivent rendre la dépendance visible. Un flux de rotation des instantanés pratique ne fonctionne que lorsque les instantanés attendus par la logique d’envoi restent en place.

Ne faites de la nouvelle paire une candidate au nettoyage que lorsque la réception a réussi et que l’instantané de destination est lisible. Une erreur indiquant que le parent est introuvable, un instantané source accessible en écriture, un jeu de données incorrect ou un flux soudainement équivalent à une copie complète signifie que le test a échoué. Laissez l’ancienne paire intacte pendant que vous corrigez le chemin ou reconstruisez la base.

Ne nettoyez qu’après le déplacement du rôle parent

Mettez à jour l’enregistrement de rétention avant toute suppression. Marquez les instantanés source et destination nouvellement vérifiés comme paire active, conservez immédiatement la paire précédente comme solution de secours à court terme et prévisualisez les instantanés plus anciens que la tâche de nettoyage supprimerait. L’aperçu ne doit contenir que les ancêtres qui ne sont plus nécessaires au prochain envoi ou au plan de restauration.

Une modification de fichier peut être reportée dans un instantané plus récent et envoyée depuis une base existante ; le maintien de l’historique incrémentiel futur dépend donc de la préservation des relations entre instantanés, et non de la modification d’un ancien instantané en lecture seule.

Annulez le nettoyage si le parent actif, la paire de secours, l’instantané reçu le plus récent ou un instantané orphelin non vérifié apparaît dans la liste des suppressions. Supprimez les instantanés par petits groupes et réaffichez les deux systèmes après chaque groupe. Ne laissez pas des tâches de rotation source et destination distinctes avancer indépendamment sans partager le même enregistrement de paire protégée.

Exécutez le cycle incrémentiel suivant avant de retirer la solution de secours

Après le nettoyage, créez une modification de fichier contrôlée ainsi qu’un nouvel instantané en lecture seule. Exécutez le prochain envoi incrémentiel depuis le parent nouvellement promu. Ce deuxième cycle vérifie que l’enregistrement de nettoyage, le script et l’état de la destination concordent ; le premier envoi réussi, à lui seul, ne testait pas l’environnement après nettoyage.

Si un instantané ne peut pas être supprimé parce qu’il est encore utilisé, séparez la logique de rétention du chemin d’envoi Btrfs actif avant de conclure que la carte des parents est incorrecte.

La vérification est concluante lorsque le deuxième enfant est reçu avec succès, que les fichiers attendus sont présents, que la paire active reste en lecture seule et que la prochaine exécution planifiée la sélectionne automatiquement. Ne retirez la solution de secours qu’après ce résultat. Arrêtez le processus et rétablissez le statut protégé de l’ancienne paire si le prochain envoi signale un parent manquant, cible le mauvais sous-volume ou propose un transfert complet inattendu.

Assistance et conseils

Plus à lire

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.