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 cheveux donné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 ;)

Déjà 18 avis pertinents dans Quelques réflexions autour de l’externalisation des sauvegardes

  • +100 pour syncthing, c’est un excellent outil !
    Par ailleurs, il peut servir à faire des sauvegardes extérieures, par exemple avec un ami qui reçoit les données à sauvegarder (si on a peur, on peut toujours chiffrer ses données avec gpg avant de les envoyer)
  • Je pense qu’à un moment, tu as perdu le lecteur… Je suis d’accord sur le fond sur les systèmes comme Glacier (et Google s’y met….) où le problème est justement que ce n’est que pour de la donnée dont on n’aura pas besoin demain mais plus tard, si…. Pour ma part, une petite offre gratuite ou peu couteuse chez un chaton peut convenir pour la donnée fraiche, que je basculerai plus tard si elle devient pérenne. Le coeur du problème est l’organisation de ses documents et on a trop tendance à voir les gens mettre tout dans « Mes documents » ou /home/documents sans vraiment trier à part des thèmes. C’est un peu comme les papiers, factures chez soi…. mêmes symptômes, même conséquences. On touche aussi au personnel.
    Déjà faire le tri entre l’importance des documents permet de mieux dispatcher les tâches. Et curieusement, c’est parfois plus facile de le faire à son travail que chez soi.
    On voit qu’en ce moment, c’est un sujet qui touche beaucoup de monde ;-)
  • Hum je suis surpris de lire que Syncthing a mauvaise presse. Pour moi il n’a pas de presse du tout, rares sont les gens qui connaissent. Et puis c’est fait en go, il suffit de lancer le fichier récupéré et hop. Ce qui m’a gêné au début c’est qu’il ne marche pas en client serveur, or c’est un peu le fonctionnement que je voulais. Mais il se trouve qu’en synchronisant toutes les machines avec un nœud central, on retrouve un peu ça.

    Mes données vraiment importantes représentent moins de 100Mo et sont synchronisées avec Syncthing sur tous mes appareils, en soit c’est un backup, plus le vps aux pays bas. Pour mes données volumineuses (iso, musique, films de vacances…) j’estime que c’est pas vital, je fais un simple backup sur HDD externe. Si un jour je voulais externaliser je pense que je prendrai un kimsufi, on peut avoir 2To pour 7.99€ HT c’est imbattable.


  • Tu as osé redire Lignux !


    Bien vu.
    J’utilise BorgBackup et j’externalise mes backups chiffrés vers un serveur dédié de 2TB HDD justement.

    PS :
    Attention, lorsque vous louez une VM ou un serveur dédié. Chiffrez toujours intégralement le système (pas le /boot, forcément) et accessoirement le swap. Ce serait dommage qu’un admin travaillant pour Kimsufi, Online, FirstHeberg ou encore Hetzner fouillent dans vos partitions non ?

  • Pour mon cas, j’utilise git-annex qui permet en quelque sorte de faire de la synchronisation off-line. Je l’utilise depuis environ 3 ans sans soucis. Certe ce n’est pas aussi convivial que Syncthing ou seafile, mais c’est drôlement efficace.

    J’utilise la configuration suivante:
    1 station de travail (home)
    1 disque USB mobile que je déplace 24/24 avec moi
    1 disque USB connecté 24/24 sur la station de travail (home)
    x station de travail (que je synchronise avec le disque mobile)
    Tout cela avec git-annex

    Note: il est possible avec git-annex de stocker également sur le cloud (la liste des providers => https://git-annex.branchable.com/special_remotes/ )

  • cali
    Hello Cascador,
    Désolé pour mon message un peu bref ce matin, j’aurais dû developper plus mon propos.
    Je ne connaissais pas Syncthing avant de lire ton blog, et ce que tu décris corresponds parfaitement à ce que souhaites mettre en place pour synchroniser mes différents pc. Dropbox n’étant pas un option, ta solution semble idéale pour la synchro (je parle seulement de synchro, pas backup).

    Ton RPi sert essentiellement de noeuf prinicpal toujours connecté pour synchroniser tes différents pc (Syncthing synchronise seulement on-line).
    Perso, je n’ai pas de RPi, et donc plutôt que d’acheter un rpi je regarde l’intérêt de le remplacer par un serveur low cost type soyoustart (ou autre fournisseur équivalent) à 80€ par an pour 2To de stockage ?

    Voici mon analyse et j’aimerais ton avis. Tu utilises déja Syncthing depuis longtemps, tu as forcement plus de recul. Et tu as peut-être même déjà étudié la question. Je précises que je suis plutôt allergique au cloud, et donc plutôt enclin à choisir une solution du type Rpi comme noeuf de syncro.

    Serveur Cloud, les +
    Le ARM Cortex A9 c’est sensiblement équivalent au Rpi.
    2To c’est largement suffisant pour la synchro (dans ma situation).
    Cout + temps + nuisances sonores que tu décris + conso éléctrique etc…
    Meilleur bande passante (2,5Gbps) que mon adsl très limité à la maison.
    Disponibilité en ligne plus élevée que Rpi a la maison (avantage marginal pour une utilisation personelle)
    Aspect matériel totallement outsourcé

    Serveur Cloud, les –
    Confidentialité des données sur un serveur cloud (gros moins, mais peut-être y-a-t-il des solutions ?)
    Au delà de 2To, ou si les tarifs augmentent dans le futur, l’intérêt financier disparait très vite.
    Peut-être plus délicat à parameter ou à administrer.

    Merci pour tes idées,
    Cali

  • sebsauvage
    Woao ! Quelle analyse.

    Oui j’emprunte une connexion haut débit pour l’upload initial, le reste se faisant au fil de l’eau.

    L’idée du second disque dur est tout à fait pertinente.

Les commentaires sont fermés.