Quelques réflexions autour de l’externalisation des sauvegardes
Sebsauvage a publié sur son wiki sa recherche d’un petit cloud perso pour y stocker des données personnelles (2 To).
Une majorité d’entre nous fait ses sauvegardes sur un disque dur interne/externe ou sur un NAS. Données et sauvegardes sont situées au même endroit physique, il peut arriver un événement rare (mais pas impossible) comme un incendie ou un cambriolage => gros fail. On en conclue qu’on a besoin d’externaliser nos sauvegardes.
Identifier et formaliser
Il faut vraiment prendre le temps d’identifier et formaliser. Prenons le cas de Sebsauvage.
Public visé : Informaticien
Ressources et moyens : Connaissances en informatique et Lignux, usage de BorgBackup, prêt à payer pour son besoin
Contexte : Personnel pas professionnel (environnement), pas urgent (délai), assez important (priorité), actuellement chez hubiC (analyse de l’existant)
Besoin : Avoir un système de sauvegarde efficace (et pas simplement « faire des sauvegardes ») pour 2 To de données
Corollaires : Identifier les outils pour effectuer des sauvegardes, restaurer les données, tester la restauration des sauvegardes, externaliser les sauvegardes
Contraintes : Coût limité (typiquement pas plus de 10 euros par mois), accès par protocole ouvert (ssh/sftp/ftp/webdav/rsync…)
Tolérance : Se moque des performances et de la disponibilité
Idéal : Le moins coûteux possible (argent et temps), principe KISS
Inconnus : Pas d’information sur la volumétrie de données à envoyer ni sur le planning (récurrence/fréquence) des sauvegardes ni sur leurs utilisations
Ce que je viens d’écrire est relativement simple mais on a grandement précisé les choses via 4 axes :
- Situation de base : Public visé, ressources et moyens, contexte
- Besoin : Besoin et corollaires, ce dernier étant souvent oublié
- Attentes : Contraintes, tolérance (marge de manœuvre), idéal
- Inconnus : Il est très rare d’avoir toutes les informations en main, souvent même les principaux intéressés ne savent pas
On fournit une solution par rapport à un public, des ressources et des moyens à disposition, un contexte et un besoin. Sauvegarder 50 Go ou 2 To, ce n’est pas le même besoin donc le même problème à résoudre. De même un débutant n’aura pas les mêmes connaissances en informatique qu’un informaticien, une entreprise n’aura pas les mêmes moyens qu’un particulier. Il est nécessaire d’adapter la solution à chaque cas.
On cherche à faire des sauvegardes (niveau 1) puis ensuite à avoir un système de sauvegarde efficace (niveau 2). Il y a une logique de progression mais aussi de priorités. Avant de penser à externaliser, il faut que votre processus « faire des sauvegardes » soit rodé et satisfaisant. Je vous renvoie à la règle des 3-2-1.
Considérer les solutions
Je ne vais me concentrer que sur les principaux inconvénients d’externaliser ses données personnelles dans le cloud en me basant sur le cas de Sebsauvage (je vous invite fortement à lire son article avant les lignes ci-dessous) :
- Idéalement il faut une fibre, au minimum une « bonne » connexion ADSL parce que 2 To il faut pouvoir les uploader déjà
- On devient tributaire d’un tiers, ce tiers (société, CHATONS, association…) peut fermer, revoir ses offres, bannir l’utilisateur ou une utilisation précise qui ne lui conviendrait pas et il est soumis à la législation de son pays
- Le chiffrement logiciel est une obligation pas une option, le chiffrement matériel n’est pas possible
- La disponibilité des données peut varier : 1/ Suivant où on se trouve sur le globe et notre connexion, on mettra plus ou moins de temps à récupérer les données 2/ Les données sont « gelées » (stockage froid), on peut les « dégeler » avec un délai de quelques minutes à plusieurs heures
- Il faut accepter de confier ses données à un tiers. Je ne souhaite pas envoyer les photos de mes proches même chiffrées dans un cloud. Pour rappel le chiffrement ne fait que rendre suffisamment coûteux en temps et ressources l’accès aux données. Dans 10 ans il est probable que les algorithmes de chiffrement qu’on utilise aujourd’hui seront dépréciés et que l’on pourra à un coût raisonnable (délai et puissance) déchiffrer les données
- Vérifier l’intégrité des données reçues sur le cloud du tiers est coûteux : Temps, éventuellement argent si c’est le paiement à l’usage qui est utilisé
- Le paiement à l’usage tend à se généraliser mais ne soyez pas dupes, ce qu’on gagne en économie, on le perd en compréhension, visibilité et prévision des coûts. D’ailleurs on constate un glissement lexical de prévision des coûts à simulation/estimation des coûts. C’est complexe (adieu simplicité) et également trompeur (adieu confiance) mais en effet ça s’adapte et répond à vos besoins au plus près. L’exemple donné par Sebsauvage, stockage : 0,0024€ TTC/Go/mois, transfert (upload ou download) : 0,0138€ TTC/Go. J’adore donner la page pricing de Amazon Glacier : Tarification du stockage en fonction de la région, du transfert de données entrantes ou sortantes, « Sauf indication contraire, nos prix n’incluent pas les taxes et redevances applicables, y compris la TVA et les taxes de vente applicables », etc. N’oubliez pas que souscrire à une offre ferme genre 10€ par mois pour 2 To, c’est également une limite pour vous. Lorsque vous atteignez les 2 To, vous serez informés/bloqués. Contrairement au paiement à l’usage où le principe est justement que vous n’êtes plus limités, on vous fournit ce que vous avez besoin sans changement d’offre simplement en se calquant sur votre usage/consommation. Consommez, consommez mes petits, moins vous vous en souciez, plus ça vous coûte cher. CB renseignée et prélevée automatiquement avec des coûts fluctuants… ça peut faire des étincelles
- Le plus grave à mon sens et le résultat de ces points : Les tests de restauration ne seront quasiment jamais effectués et la restauration des données sera longue et complexe
A présent je vais proposer une autre solution que je vais nommer « solution locale » :
- Sebsauvage prend 2 DD externe de 2 To en USB 3.0, coût 160 euros. A titre indicatif et selon son comparatif l’offre la moins chère (paiement à l’usage) de la « solution cloud » se situe à 57.6€ TTC/an pour 2 To
- Il utilise pour « faire des sauvegardes » BorgBackup qui gère la rotation, compresse, chiffre. Pas besoin d’utiliser un nouvel outil, il suffit de brancher le DD externe sur le pc/serveur
- Il branche le premier DD externe sur le pc/serveur chez lui le week-end, la sauvegarde s’effectue avec un cron. Le lundi il prend ce DD et le dépose dans son tiroir/bureau/casier en arrivant au boulot. Il prend le second DD dans son tiroir/bureau/casier qu’il ramène chez lui un soir puis il branche ce DD sur le pc/serveur
- Il peut remplacer boulot par parents/enfants/famille/potes
- Il fait ce qu’il veut avec ses
cheveuxdonnées notamment vérifier l’intégrité des données, chiffrement matériel, faire des tests de restauration plus simplement et régulièrement, dupliquer sur un DD plus volumineux, fournir à un proche un moyen simple de récupérer ses données suite à son décès…
Inconnus, données actives et inactives
Il y a potentiellement un gros fail dans cette solution, ça correspond aux inconnus, on ne connaît pas l’utilisation de ses données. Sebsauvage a-t-il besoin de restaurer/récupérer régulièrement les données de ses sauvegardes ?
On va différencier 3 types de données :
- La donnée active « fraiche » qu’on synchronise et qu’on sauvegarde. Je considère la donnée comme fraiche dans une période de 15 jours après sa création ou dernière modification. Ça sera par exemple le dossier
/home/Documents
- La donnée active « chaude » qu’on sauvegarde. Typiquement
/home
- La donnée inactive « froide » qu’on archive. Sebsauvage est probablement dans ce cas-là, il n’aura pas besoin de ses photos de vacances 2015 tous les jours, on peut les mettre sur un HDD puis le ranger dans un placard. Ce sera plus long à ressortir et lire mais après tout l’accès à cette donnée est très peu fréquent
Ce que l’on vient de faire là, c’est analyser plus finement le cas d’utilisation et les besoins de Sebsauvage. On les a passé sous une loupe et on a augmenté notre champ lexical : fréquence (régulièrement, tout le temps, une fois de l’an ?), accès (rapide, lent, de partout ?), utilisation (lecture, écriture, partagée ?).
Mon besoin
J’ai sensiblement le même besoin que Sebsauvage à la différence notable que j’ai besoin d’inclure une synchronisation des données.
J’ai un pc portable (pour mes déplacements/interventions), un pc fixe perso à mon domicile, un pc fixe pro au bureau. Lorsque je travaille quelque part, j’ai besoin de récupérer les données sur les autres postes. ATTENTION UNE SYNCHRONISATION N’EST PAS UNE SAUVEGARDE. J’écris un texte dans un document, il se synchronise sur les autres postes, je supprime ce texte, il se synchronise sur les autres postes, je perds donc mon texte. Dans le monde proprio l’outil de synchronisation par excellence s’appelle Dropbox, dans le monde libre c’est Syncthing dont le fonctionnement est distribué. Syncthing a mauvaise presse pour deux raisons : 1/ Sa relative complexité (que je confirme) liée au fait que c’est un outil pointu, puissant, souple 2/ Les ressources qu’il consomme, ça tombe bien c’est réglé depuis quelques semaines.
A présent ma solution nommée sobrement « solution maison » :
- Mes 3 postes sont synchronisés sur le « nœud » principal Syncthing qui est le Raspberry Pi de mon domicile auquel j’ai ajouté une clé USB pour éviter l’usure de la carte SD et avoir un espace disque convenable. L’intérêt du Pi est qu’il est toujours allumé, disponible, peu énergivore et suffisant
- Mes données actives fraiches (que j’utilise le plus, les plus importantes) sont synchronisées grâce à Syncthing en permanence. Pour perdre mes données, il faudrait que je perde l’accès aux 4 nœuds (quasi-impossible) : J’ai mon pc portable avec moi en déplacement, mon pc fixe et le Pi à la maison, mon pc fixe boulot au bureau
- Il n’y a cependant pas que la perte de données mais également la corruption, modification inopportune ou suppression de données à prendre en compte. Syncthing propose le versioning des fichiers. Des crons déclenchent la sauvegarde des données sur DD interne sur mon pc fixe domicile ET mon pc fixe bureau me permettant d’avoir deux jeux de sauvegarde à des endroits différents
- J’ai 2 DD externe. Je branche le premier DD externe sur mon pc chez moi le week-end, la sauvegarde s’effectue avec un cron. Le lundi je prends ce DD et le dépose au boulot. Je prends le second DD que je ramène chez moi le soir
- Je fais ce que je veux avec mes données, librement… pas de tiers, pas de coûts cachés, KISS, moins coûteux et plus sûr qu’une « solution cloud »
Votre besoin
Je ne viens pas de vous donner une solution générique, chaque cas est particulier. En revanche je vous ai fourni les informations, les termes, les pistes, le cheminement si vous voulez apprendre, comprendre…
A noter que pour aller au fond des choses, on devrait utiliser des outils de sauvegarde différents. Borg d’un côté, restic de l’autre prévenant ainsi une erreur humaine ou un bug sur l’un des deux outils. On peut évidemment mixer les solutions présentées dans ce billet, c’est même recommandé pour appréhender les différentes possibilités.
J’ai pris des libertés sur certains concepts car j’essaie de vulgariser, merci de ne pas m’injurier dans les commentaires