Les sauvegardes sont quelque chose de fondamental (Sauvegarde la règle des 3-2-1) et j’en parle régulièrement sur ce blog.

L’importance c’est aussi de pouvoir restaurer Sauvegarde et restauration et je cherche depuis un moment un outil simple, fiable, sécurisé qui permet d’automatiser un peu.

Dans sa conférence au JRES 2017, Luc Didry aka Framasky, administrateur système de l’association Framasoft a fait une conférence très intéressante sur le sujet de Quelle infrastructure pour dégoogliser Internet ?. Le fichier pdf complet de la conférence est disponible en ligne ici JRES 2017 - Luc Didry - Quelle infrastructure pour dégoogliser Internet ?

Je cite la partie concernant les sauvegardes et plus particulièrement sur l’outil Borg :

En ce qui concerne les services à forte volumétrie tels l’hébergement de fichiers (Framadrive, Framadrop) ou l’hébergement d’images (Framapic), nous avons préféré recourir à une autre solution. En effet, ces sauvegardes représentent plusieurs téraoctets de fichiers et nécessitent énormément de temps, ce qui bloquerait les sauvegardes des autres serveurs via Backuppc (car celui-ci n’effectue qu’un petit nombre de sauvegardes en parallèle afin de ne pas surcharger le serveur de sauvegarde).

Borg a pour avantages d’être facile à utiliser au sein de scripts shell et de n’effectuer que des sauvegardes par déduplication (aucune sauvegarde complète n’est faite si ce n’est la première). De même, les commandes sont simples et très bien documentées, proposant ainsi une barrière d’entrée relativement faible pour les non-techniciens.

Si Borg utilise la méthode push (envoi des fichiers sauvegardés à l’initiative du serveur sauvegardé) pour effectuer les sauvegardes, celle-ci ne souffre pas du problème habituel de cette méthode : le risque d’effacement des anciennes sauvegardes par un attaquant s’étant rendu maître de la machine sauvegardée.

En effet, les dépôts de sauvegardes peuvent être configurés pour n’autoriser que l’ajout de sauvegardes. Un cript sur la machine hébergeant les dépôts pourra faire sauter ce verrou dans le fichier de configuration pour effectuer la suppression des sauvegardes puis remettre le verrou.

Les sauvegardes de Borg peuvent être chiffrées, fonction que nous avons activée : ces sauvegardes sont stockées sur une storage box de notre hébergeur, une offre ne proposant que de l’espace de stockage avec un rapport volumétrie/prix que nous ne pouvons atteindre en louant des serveurs.

Luc présent également Borg de cette façon :

il est très simple d’usage ;

les données sont dédupliquées ;

les sauvegardes peuvent être compressées ;

les sauvegardes peuvent être effectuées en local ou à distance ;

les sauvegardes peuvent être montées (et donc utilisées) comme un système de fichiers classiques.

Les commandes sont du type

borg create -v --stats ./::{now} /home/ #teaser

La syntaxe est simple à s’approprier.

Ce qui me plait c’est que les sauvegardes sont effectivement incrémentales, c’est rapide, léger, ça se monte comme système de fichier pour ensuite récupérer / restaurer à base de rsync si on veut, et les sauvegardes sont chiffrées. Que demander de plus ?

Le site officiel https://borgbackup.readthedocs.io est assez riche et permet déjà de s’approprier la solution.

Des tutoriels pour apprendre et s’approprier Borg :

BorgBackup, borg pour les intimes

Monter un serveur de sauvegardes avec BorgBackup

Et un script qui repose sur Borg comme outil de Backup Concierge - Set of tools to help system administrator with maintenance and security of Debian systems

A noter qu’il est possible de faire du Borg avec du Ansible.