Administrateur système pour une entreprise qui se situe à Chalon-sur-Saône, j’ai rencontré un problème, concernant les sauvegardes de nos clients. En effet, nous avons développé une box de sauvegarde qui s’appelle MultiBox . Elle est basée sur une architecture Linux bien évidemment et nous avons recompilé le logiciel pour l’adapter à nos besoins.
L’auteur de l’article que je vous propose aujourd’hui est Damien. Je l’ai formé à l’informatique il y a ouuuhhh… quelques années. Depuis il a fait son chemin et est devenu sysadmin. Pour résoudre un problème de sauvegarde il a choisi une solution à base de Raspberry Pi et décrit ici les étapes de sa réalisation. Une preuve de plus de l’intérêt du Raspberry Pi pour les entreprises.
La parole est à Damien
Un système de sauvegarde à base de Raspberry Pi
Pour expliquer rapidement, nous installons en principe chez le client un NAS QNAP. Il se réplique sur un système distant pour faire des sauvegardes incrémentielles et également des images complètes.
Le souci est qu’aujourd’hui beaucoup de gens habitent la campagne (la Bourgogne ce n’est quand même pas au fin fond du Larzac me direz-vous, mais presque…). Du coup le souci que je rencontre est le suivant.
Les sauvegardes se font très lentement. Forcément, étant donné le débit internet très faible, ce qui provoque des ralentissements sur les serveurs. Faire des copies directement sur un disque tous les soirs n’est pas non plus une solution acceptable.
Après réflexion, je me suis dit : »Pourquoi pas un pi ? »
Un disque dur de 1To
Il est transportable et désormais plus de problèmes de ralentissement de copie (l’utilisateur n’a pas forcément le temps de faire les copies et elles peuvent aussi être incomplètes).

Essais de différents boîtiers. En définitif c’est le bleu qui sera utilisé.
Il fallait réfléchir à un système autonome ; transportable, sécurisé tous en ne négligeant pas la simplicité d’installation pour l’utilisateur. Il ne devait pas non plus faire de bruit, car l’air de rien un NAS ça fait du bruit.
Et hop ni une ni deux me voilà parti dans mes test et recherche, pour résoudre le problème.
La solution que j’ai trouvée comporte un Raspberry Pi 3 une Raspbian Lite avec un pi drive et là
1er problème : la taille du disque
– En effet créer un système de sauvegarde correct, il faut un minimum d’espace et le disque de 314 Go est un peu limite pour un système de sauvegarde. Je décide de brancher un disque de 1 To et là… deuxième problème
2éme problème
– L’alimentation, du Raspberry Pi et du disque.
– Les disques sont trop consommateurs et, de ce fait, il aurait fallu rajouter une alimentation externe, ce qui me pose soucis étant donné que je veux que ma solution soit transportable, j’ai donc repris mes recherches et là le saint Graal.
La solution
– Après un appel à Kubii pour savoir s’ils avaient une solution, je tombe sur le site du constructeur Western Digital. Il propose un disque dur Pi Drive de 1 To, qui permet de gérer l’alimentation comme on le fait un disque de 314 Go ; j’achète donc ce disque pour compléter mes tests.
Les premiers essais
Je branche le tout et je fais mon installation. Recompilation du logiciel, test ok tout fonctionne, pas de problème d’alimentation tout fonctionne parfaitement, tout est parfait enfin presque… Je me vois mal remettre au client un Raspberry Pi sans protection, avec les câbles apparents.
Comme aujourd’hui nous somme dans un monde complètement fou et étant un peu geek sur les bords, j’ai investi, il y-a à peu près 6 mois de cela dans une imprimante 3D.
Bingo, je tiens le bon fil : modéliser un boîtier pour mon Raspberry Pi.
Le boîtier en impression 3D
Alors me voilà aujourd’hui, comme tous bon maker qui se respecte en mode modélisation et print 3D à gogo, j’arrive à un résultat plus que concluant, tout en prenant compte qu’il me faudra ; un interrupteur ; un port Ethernet et en étant sûr qu’en aucun cas le client n’aura accès à l’électronique (pour éviter les soucis). L’interrupteur ne fait que couper l’alimentation dans ce cas.
Après plusieurs semaines, j’arrive enfin à un résultat comme vous pouvez le voir sur les images de cet article.
Il reste deux choses à régler : la dissipation de chaleur et la sécurité en cas de choc. J’ai donc repris ma modélisation pour arriver à un résultat final me satisfaisant complètement. Un ventilateur permet d’abaisser la température dans le boîtier et les deux couvercles noirs sont en polyFlex, une matière souple permettant d’amortir en cas de choc ; le reste est imprimé en PLA Chromatik de chez Dagoma.
Le Raspberry Pi monté, la box imprimée avec ses protections, on peut commencer l’assemblage.
Un souci avec la longueur des fils
Je coupe le câble d’alimentation pour faire passer un interrupteur, je monte mon Raspberry Pi sur une structure que j’ai modélisée ainsi que le disque dur et là aucune action le Raspberry Pi ne démarre plus.
grrrrrr si près du but, rebelote on réfléchit Damien : qu’as tu fais depuis tout à l’heure, qui pourrait créer ce souci ?
L’interrupteur !! j’ai rallongé les câbles pour être plus à l’aise lors de l’assemblage ; Eh bien c’est une très mauvaise idée car plus un fil est long, plus il est résistant et plus l’intensité du courant est faible.
J’entreprends donc de raccourcir mes fils et de m’adapter à la situation. Ouf cette fois le résultat est probant. Ah Ah les lois de l’électricité sont une autre aventure aussi passionnante que l’informatique.
Bref tout est monté et je me pose alors, la question de la carte SD prévue pour un nombre de lectures infini, mais un peu moins en écriture. Avec un disque de 1 To pourquoi pas booter sur le disque ? Et c’est parti !
Configuration du système
La première opération à faire est de démonter la partition si elle est montée :
sudo umount /dev/sda1
Une fois ceci fait, nous allons pouvoir partitionner et formater. L’outil le plus simple pour cela en ligne de commande est cfdisk.
sudo cfdisk /dev/sda
Il reste maintenant à formater la partition, qui est a priori /dev/sda1:
sudo mkfs.ext4 /dev/sda1
Créer une image du système présent sur la carte SD sur le disque dur.
cat /boot/cmdline.txt dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
La partition à copier est donc /dev/mmcblk0p2:
sudo dd bs=1M if=/dev/mmcblk0p2 of=/dev/sda1
l’étendre pour qu’elle prenne toute la place disponible sur le disque dur:
sudo resize2fs /dev/sda1
ET SURTOUT NE PAS OUBLIER
sudo cat /etc/fstab proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 #/dev/mmcblk0p2 / ext4 defaults,noatime 0 1 /dev/sda1 / ext4 defaults,noatime 0 1
Pour la modification du chemin, il suffit d’éditer le fichier /boot/cmdline.txt et de remplacer l’ancien chemin (/dev/mmcblk0p2) par le nouveau (/dev/sda1). Pour ma part, j’ai copié la ligne et commenté l’ancienne, afin de garder une trace :
sudo cat /boot/cmdline.txt #dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Donc maintenant ma box est prête l’emploi ; elle boote sur mon disque mais le bootloader étant sur la carte SD, il ne faut pas retirer celle-ci. Ca ne pose pas de problème puisqu’elle est seulement lue au démarrage.
Utilisation de la box
Le client a juste à alimenter la box, brancher le câble internet, appuyer sur l’interrupteur ; le Raspberry Pi se connecte scanne le réseau, reconnaît ses hôtes, et la sauvegarde peut désormais commencer.
Quand celle -ci est finie on aperçoit la LED du disque qui est allumée et prévient le client du bon fonctionnement du processus de sauvegarde. Le Raspberry Pi envoie également un mail, qui nous prévient que la sauvegarde s’est bien déroulée.
Fichiers d’impression 3D
Les fichiers sont disponibles sur Thingiverse.
Vidéo
Conclusion
J’avoue être fier de cette réalisation et d’avoir apporté ma pierre à l’édifice du Pi. C’est cela qui me passionne dans l’informatique partir de rien et développer au fur et à mesure avec des pièges qu’il faut savoir contrer.
Sources
Cet article Une solution de sauvegarde à base de Raspberry Pi a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....