Soucis rencontrés avec Borg
J'utilise Borg en production depuis quelques mois maintenant et voici donc un retour d'expérience. Je n'ai pas de métrique /temps pour une volumétrie donnée de sauvegarde, je verrai pour faire ça dans un prochain billet je pense. Dans le présent billet je voudrais me concentrer sur les soucis que j'ai pu rencontré avec Borg. Par soucis c'est un bien grand mot. J'ai rencontré différents types d'erreur sans conséquences et pour lesquelles j'ai toujours pu avoir une résolution.
Borg est un logiciel fiable et de qualité, cela faisait partie de mes critères de test et de choix qui ont fait que j'ai d'abord utilisé Borg à titre personnel avant de passer à un usage en production.
Les messages de Borg dans le cas d'erreur sont assez explicites et parlant. Voici les quelques erreurs rencontrées et leurs résolutions.
Problème de lock -Failed to create/acquire the lock
borg create -v --stats /Backup/Dossier_borg/::Projets_`date +%Y-%m-%d-%H:%m:%S` /Projets/
Failed to create/acquire the lock /root/.cache/borg/4f59d52b3ca46decce6e3dedee7a057b64300a49f827629abff259af2bfbe297/lock.exclusive (timeout).
Problème rencontré La sauvegarde Borg refuse de se lancer sur un dossier. Le message parle d'un problème d'un fichier .lock en indiquant le chemin concerné par le lock.
Cause Lorsque Borg lance une sauvegarde sur un dossier, il crée un fichier .lock dans l'espace de sauvegarde qu'il utilise pour ses données. Si le processus Borg a été coupé / interrompu (lancement à travers SSH et perte de réseau ; interruption manuelle de la sauvegarde en cours...)
Résolution On supprime le fichier .lock et le dossier lock à l'endroit indiqué dans le message d'erreur. Et on relance la sauvegarde qui peut alors correctement se dérouler.
Qui des interruptions de Borg ?
Si on lance une sauvegarde Borg à travers SSH et que l'on a une coupure réseau, Borg est capable de reprendre là où il s'était arrêté.
Le nom de la sauvegarde prend alors une extension ".checkpoint" dans son nom, ce qui permet de savoir facilement que cette sauvegarde est incomplète / non achevée. A la relance suivante, si le nom est indentique, Borg repart et finalise cette sauvegarde. Si le nom est différent (dans mon cas je fais des sauvegardes avec un nom de la forme YYY-MM-DD-HH:MM), Borg conserve la sauvegarde avec un .checkpoint dans son nom.
Autres cas
Problème rencontré
Warning: The repository at location ssh://user@machine/Backup/Projet was previously located at ssh://user@machine2/Backup2/Projet
Do you want to continue? [yN] y
Cache is newer than repository - this is either an attack or unsafe (multiple repos with same ID)
Cause
Sur un espace de stockage avec un seul disque, j'ai eu un soucis de perte du disque. Par sécurité, selon la règles des 3-2-1, je fais une deuxième sauvegarde Borg identique sur un autre espace. J'ai donc récupéré les données sauvegardées également avec Borg sur un autre espace. Un Rsync, assez long.
Résolution
Pour que Borg retrouve ses petits, j'ai relancé Borg sur cet espace. Borg indique que l'espace de sauvegarde a changé de chemin, on valide. Et les sauvegardes suivantes se poursuivent en utilisant ce nouvel espace et les données des sauvegardes précédentes.
Cela nous montre qu'un espace de sauvegarde Borg peut être lui même sauvegardé par copie intégrale / déplacé, Borg se débrouillera et fera juste un warning quand on lance l'usage des données de cet espace de sauvegarde.
Conclusion
J'espère que ce retour sera utile à d'autres. N'hésitez pas à laisser en commentaire votre propre expérience de soucis rencontrés dans les usages de Borg. Merci à vous.