Ludovic Frank - Développeur freelance

Comment sauvegarder vos données ?

ionicons-v5-k Ludovic Frank 23/Mar/2021
Logo vague
335 lectures Niveau :

Suite à l'incendie dans un datacenter en France, j’ai pu voir sur les réseaux sociaux des réactions tel que “j’ai mon entreprise dans vos serveurs”, ce qui m’a donné l’idée d’écrire cet article, bien sûr ici ce n’est pas le propriétaire du centre de données qu’il faut blâmer, un accident comme celui-ci ça arrive, il faut y être prêt, et comment ? En ayant une stratégie de sauvegarde de ses données. Vous imaginez-vous ? Perdre vos données de comptabilité ? Vos fichiers clients … la catastrophe. j’ai déjà abordé le sujet dans mon article “comment se protéger des ransomware

Le plan de reprise d’activité (a.k.a plan catastrophe)

En informatique, le plan de reprise d’activité, souvent négligé par les entreprises, est un plan qui décrit “si une catastrophe arrive, comment fait-on pour tout remettre en fonctionnement rapidement ?”. Même si comme ça il n’a l’air de rien, il est très important, en effet on ne sait pas de quoi demain sera fait, je vous invite a vous posez la question dès aujourd’hui, « Si une catastrophe arrive ? Je fais quoi ? » Les prochains points devraient vous aiguiller.

Testez les sauvegardes

Selon moi c’est le plus important, attendre le jour où l’on en a besoin pour utiliser ses sauvegardes, c’est dangereux, très dangereux, qui vous dit que tout s’est passé comme prévu ? Toutes les données sont-elles bien sauvegardées comme prévu ?
Oui je vois votre réflexion d’ici “C’est lent de tester toutes les semaines ses sauvegardes”, c’est vrai … mais ça peut être automatisé, pourquoi ne pas développer un petit script qui va chercher les données sauvegardées et tente de les remettre en place sur un autre site, puis tester que tout va bien avec un petit rapport par mail qui dit si tout est OK ou non, il faut juste qu’une personne vérifie que ce mail existe chaque semaine (sinon c’est que quelque chose s’est mal passé)

Le RAID

Je ne vais pas m’attarder sur cette technologie tant elle est partout, le RAID est le fait d’utiliser plusieurs disques durs vus comme “un seul disque”, il y a plusieurs configurations, certaines sont conçues pour les performances (RAID 0 par exemple) quand d’autres sont conçus pour l'intégrité des données (comme le RAID 1)

C’est le service de sauvegarde qui doit venir chercher les données à sauvegarder

Et non l’inverse, imaginez que vos serveurs de production soient compromis par un malware. Dans ce cas, le malware aurait accès aux données de sauvegarde, puisque la production y a accès, le malware aussi. La meilleure méthode pour se protéger de ça c’est que votre système de sauvegarde se connecte de lui-même à la production et sauvegarde ce qu’il a à sauvegarder, si le serveur de production est compromis, l’attaquant ne pourra pas remonter jusqu’aux sauvegardes.
Il y a des alternatives, par exemple si c’est le serveur de production qui envoie une copie des données au service de sauvegarde, configurer le système de sauvegarde de sorte qu’il n’accepte que les nouvelles données, qu’il soit impossible de modifier ou supprimer les données déjà sauvegardées.

Plusieurs zones géographiques

En entrepreneuriat, on ne met jamais tous ses œufs dans le même panier, en sauvegarde c’est pareil, je dirais que vos données doivent se trouver dans trois zones géographiques bien distinctes, les catastrophes naturelles ce n’est pas impossible. Dans mon cas, l'ensemble de mes données et les données de mes clients sont copiés dans ces endroits : Paris, Nancy, Strasbourg (oui, j’ai eu des serveurs perdus dans l’incendie) et en Amérique du Nord. Chaque nuit j’ai des serveurs dont l’unique travail est de vérifier que tout est sauvegardé dans chaque zone géographique.

Sauvegarde incrémentielle

« Faire une sauvegarde » ne signifie pas “copier l'ensemble des fichiers” à chaque sauvegarde, ce serait très consommateur en espace de stockage, aujourd’hui les systèmes de sauvegarde incrémentielle sont parfaitement au point, seules les modifications depuis la dernière sauvegarde sont ajoutées aux sauvegardes, il est donc possible de remonter dans le temps, si par exemple une partie des données a été perdue à cause d’une mauvaise manipulation, pas de panique, il suffit de remonter dans le temps jusqu’avant l’incident et voilà, données retrouvées

Un système de fichier adapté à la sauvegarde

OK, là ça devient un peu technique je vous l’accorde, tout d’abord on va vulgariser ce qu’est un système de fichier, le système de fichier c’est la partie logiciel qui s’occupe d’agencer les données sur le support physique (disque dur, SSD, bande magnétique ...etc.), il y en a beaucoup par exemple si vous êtes sous Windows, votre système de fichier s’appelle “NTFS” pour “New Technology File System”, sur macOS c’est "APFS » (Apple File System) et sur Linux c’est EXT4. Les systèmes de fichiers sont conçus pour des besoins spécifiques comme les performances ou la fiabilité, NTFS est par exemple réputé bien plus fiable que “FAT” (le système qu’il y avait avant NTFS sur Windows).
Ce qui nous intéresse ici et qu’il est bon à savoir c’est qu’il y a des systèmes de fichiers conçus pour la sauvegarde il y en a, celui que j’utilise personnellement c’est B, il me permettra de faire une “image” de mes sauvegardes chaque nuits, conservé 90 jours.

Le bonus : Une infrastructure qui tolère les pannes

Alors CA c’est mon péché mignon, là on commence à s'amuser, j’en parle dans mon article sur le site internet de Maitrise Orthopédique. L’idée est très simple, AUCUN serveurs ne doit être irremplaçable, si un serveur est hors ligne peu importe la raison, les services de l’entreprise continuent de fonctionner comme si de rien n’était.
Pour faire cela il faut déjà que les applicatifs soit capable de supporter ça, un exemple très simple, quand vous vous connectez à un site internet, souvent il y a ce que l’on appel la “Session”, celle-ci permet de se souvenir qui vous êtes, à chaque fois que votre terminal communique avec le site il envoie un identifiant unique, cet identifiant unique est reconnu par le serveur ce qui permet de faire le lien.
Souvent dans les applicatifs, les données liées au bon fonctionnement de la session se trouvent sur le disque dur du serveur qui vous répond, et là ça pose problème, si par exemple vous naviguez sur une autre page et que pour afficher cette autre page votre terminal se connecte à un autre serveur ? L’autre serveur ne saura pas qui vous êtes … et vous serez déconnecté de votre compte.
Il est bien sûr possible de régler ce problème et tous les autres afin d’avoir une infrastructure capable de résister aux intempéries et rester en ligne malgré qu’un centre de données soit rayé de la carte, c’est passionnant à faire, car ça demande beaucoup de compétences que ce soit en réseau et en développement, mais le résultat final est vraiment génial.

Conclusion

Voici quelques idées afin d’avoir une stratégie de sauvegarde de données digne de ce nom, mon péché mignon, le bonus, est vraiment le top du top (enfin sans les points précédents il est tout aussi dangereux hein … il ne protège pas contre les éventuelles failles de sécurité par exemple).