Sauvegarder / cloner son Raspberry PI – Tutoriel





sauvegarder cloner raspberry pi

La sauvegarde, un sujet que tout le monde connait ! Et sauvegarder notre Raspberry PI va vite devenir critique.  En effet la configuration d’un système domotique prends énormément de temps ! Il est donc primordial d’en prendre soin en cas de panne et de prévoir une solution pour sauvegarder le Raspberry PI.

 

Je n’ai jamais rencontré quelqu’un pour qui sauvegarder ses données n’était pas important. De manière générale tout le monde s’accorde sur l’importance d’un système de sauvegarde. Et pourtant en creusant un tout petit peu, combien de personne ont vraiment un système de sauvegarde en place fonctionnel ?

 

Les entreprises dépensent des fortunes dans des systèmes de sauvegarde complexe pour leur infrastructure. Beaucoup de particulier pensent que c’est inutile ou ils ne maintiennent pas un système de sauvegarde viable.

Jusqu’au jour où tout crash, parce que oui sa vous arrivera !

Je ne veux pas vous alarmer mais je peux déjà voir la petite larme qui coulera de vos yeux lorsque la carte SD de votre Raspberry PI ne fonctionnera plus et qu’il faudra repartir de zéro.

 

Imaginez toutes les heures passé devant votre terminal à configurer, optimiser, chouchouter votre Raspberry PI qui d’un coup s’envole, disparu.

Si j’en parle aujourd’hui c’est parce ça m’est arrivé et je peux vous dire que j’ai dû faire une pause avec mon Raspberry PI. J’étais écœuré et je m’en voulais de ne pas avoir mis en place de système de sauvegarde.

 

Sommaire :

 

Deux niveaux de sauvegarde

Avant de rentrer dans la configuration de la sauvegarde du Raspberry PI, je voudrais expliquer les différents niveaux de sauvegarde qui existe et que l’on peut mettre en place.

  • Sauvegarde de fichier
  • Sauvegarde bare-metal (sauvegarde complète)

 

Sauvegarde de fichier

sauvegarde fichier raspberry pi

Lorsque l’on parle de sauvegarde on pense souvent à sauvegarder ces photos de vacances ou ses documents Word/Excel. L’idée est simplement d’externaliser ses fichiers sur un support autre que le système lui-même.

Car oui il ne faut pas sauvegarder sur le même disque que les données.

La méthode la plus simple consiste donc à copier ses fichiers sur un disque dur externe ou une clé USB.

Après forcément il faut penser à le faire régulièrement pour garantir d’avoir une sauvegarde à jour.

 

Sauvegarde bare-metal (clone)

cloner raspberry pi

La sauvegarde bare-metal ou complète est un système de sauvegarde qui ne se contente pas seulement de sauvegarder les fichiers. Le mécanisme s’occupe de réaliser une image complète du système incluant l’ensemble des fichiers mais aussi le système d’exploitation et tous ses composants. On peut donc dire que l’on clone notre système.

 

Ce système est plus complexe à mettre en place mais permet de restaurer l’intégralité du système et non seulement les fichiers.

 

Sauvegarder le Raspberry PI

 

Comme on vient de le voir nous avons pouvoir choisir différente méthode pour sauvegarder notre Raspberry PI. Dans le cadre de notre projet domotique si nous avons uniquement Domoticz on pourrait avoir tendance à sauvegarder l’intégralité de notre dossier et ne pas se préoccuper du système.

Seulement si vous utilisez votre Raspberry PI pour d’autre application, comme un media center avec Kodi, un serveur de mail, Homebridge, il se peut que vous ayez réalisé des dizaines de modifications dans des fichiers de config.

 

Et en cas de crash, est-ce que vous vous souviendrez de toutes les modifications que vous avez effectuées ?

Honnêtement non ou alors vous êtes sacrément bon ou vous avez tout documentés.

 

Je vais donc vous proposer de réaliser une sauvegarde bare-metal de notre Raspberry PI. Ce qui en cas de panne nous permettra de restaurer intégralement notre système sur une nouvelle carte SD et redémarrer le PI sans aucune perte de configuration. Même la petite ligne que vous avez ajoutée dans un fichier de config perdu au fin fond de votre système.

 

Stocker la sauvegarde du Raspberry PI

 

Maintenant que tu es convaincu de la mise en place d’une sauvegarde et que tu as décidé de réaliser un clone de ta carte SD il va te falloir la stocker. Car si tu stockes ton clone sur la même SD cela va te poser un soucis.

Il faut donc externaliser la sauvegarde.

Pas forcément besoin de l’envoyer dans le cloud ou la stocker chez le voisin par mesure de sécurité. Cependant il faut trouver un support fiable qui nous permettra d’héberger les sauvegardes du Raspberry PI.

 

sauvegarde externe raspberry pi

 

Plusieurs solutions s’offre à nous :

 

Personnellement j’ai un Nas Synology à la maison donc je ne me suis pas trop posé la question, cependant l’utilisation d’un support externe comme un disque dur externe ou une clé USB peut largement faire l’affaire.

 

Il faut juste garder en tête que le clone de la carte SD va nous demander un peu de place. Si par exemple la carte SD du Raspberry PI fait 16GB et que vous sauvegarder le Raspberry PI tous les lundis. Vous souhaitez garder les 4 dernières sauvegarde, il va vous falloir 4 x 16GB = 64GB au minimum pour pouvoir les stocker.

 

Concernant les supports de stockage je vous conseille d’éviter les clés USB low cost. Il vaut mieux investir quelques euros de plus et avoir de la meilleure qualité. Des marques comme Corsair ou SanDisk ne m’ont jamais déçu. Je vous conseille les clés suivantes :

 

 

L’autre solution serait d’utiliser un disque dur externe qui propose de plus grande capacité de stockage. Eviter tous les disques qui nécessitent une alimentation externe. Pourquoi ? Tout simplement parce que cela va ajouter un câble de plus dans la solution qu’il faudra brancher. Et il ne faut pas oublier le critère WAF.

 

Concernant l’utilisation de disque dur externe je ne peux que vous conseiller de vous tourner vers Western Digital qui propose du matos fiable et performant.

 

Comme vous le voyez la différence est assez faible en termes de coût, l’avantage des clés USB c’est bien sur leur portabilité même si le disque dur externe est pas bien grand léger.

 

Si vous avez un peu plus de moyen vous pouvez opter pour un NAS Synology !

Le prix est plus élevé mais vous allez faire des miracles avec ces petits boîtiers. Ils sont ultra fiable, silencieux et vont vous permettre de stocker tous vos fichiers. Que ce soit vos films, séries, musique, photo et bien sûr sauvegarde.

 

Bref je vous laisse choisir 🙂





 

Comment cloner la carte SD du Raspberry PI

 

Maintenant que vous avez bien compris la criticité de la sauvegarde et que vous avez de quoi la stocker passons à la configuration du côté du Raspberry PI. Pour ça pas besoin d’installer des outils tiers ou autre programme développer par je ne sais qui. Linux est magique et nous propose déjà une commande nous permettant de cloner des disques.

 

Tout d’abord nous devons trouver le nom disque principal :

fdisk -l

On vérifie où le disque dur externe ou la clé USB sont montés :

 

Puis on lance la commande dans un terminal pour valider le bon fonctionnement.

sudo dd if=/dev/mmcblk0 bs=1M" | dd of=/dossier-du-support-USB/pibackup.$(date +%d.%m.%Y).gz

Une fois terminée on se retrouve donc avec un fichier compressé comportant la date du jour. J’ai pour habitude d’ajouter la date du jour à mes sauvegarde c’est plus simple pour s’y retrouver.

On est donc capable de réaliser un clone de notre carte SD et de le stocker sur un support externe.

 

Maintenant que ça marche il faut planifier la sauvegarde car il n’y a rien de pire que de devoir sauvegarder son Raspberry PI en manuel.

Je vous propose le petit script suivant :

  • Sauvegarde du Raspberry PI
  • On garde les 3 dernières sauvegardes
  • Pensez à modifier le chemin de la sauvegarde “of=/volume1/Thomas/Backup/rpi/pibackup.$(date +%d.%m.%Y).gz”

 

#!/bin/bash
#Script de clonage de la carte SD d'un RASPBERRY PI
#Sauvegarde à planifier une fois par semaine
#On garde les 3 derières semaines en cas de soucis

#Clonage du raspberry
sudo dd if=/dev/mmcblk0 bs=1M | dd of=/volume1/Thomas/Backup/rpi/pibackup.$(date +%d.%m.%Y).gz

#On test si il existe un fichier de plus de 3 semaines pour le supprimer
if [-f /volume1/Thomas/Backup/rpi/pibackup.$(date --date'28 days ago'"+%d.%m.%Y").gz]; then

   sudo rm /volume1/Thomas/Backup/rpi/pibackup.$(date --date'28 days ago'"+%d.%m.%Y").gz
fi

On sauvegarde notre script dans /home/pi/clone-rpi.sh
On autorise l’exécution :

sudo chmod +x /home/pi/clone-rpi.sh

Maintenant on ajoute notre script à la crontab :

sudo vim /etc/contab

On ajoute la ligne pour lancer le script tous les lundis à 1h du matin :

PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
0 1 * * Mon bash /home/pi/clone-rpi.sh

Sauvegarder Raspberry PI vers un NAS Synology

 

Si comme moi vous avez un NAS Synology chez vous, le choix de la destination de la sauvegarde est tout trouvé. Nous allons simplement ajouter notre script dans les tâches planifiées du NAS qui s’occupera de faire la sauvegarde du Raspberry PI à distance et de la stocker localement.

 

Pour ça il va falloir permettre au NAS de se connecter via un système de clé public/privé sur le Raspberry PI.

 

Si vous n’avez pas défini de mot de passe sur le compte root du Raspberry PI connectez-vous dessus puis :

passwd root

Puis définissez un nouveau mot de passe.

 

Puis on se connecte sur le NAS Synology en ligne de commande :

ssh [email protected]

Si cela ne marche pas il faut activer le service SSH sur le Synology :

Panneau de Configuration => Terminal & SNMP => Terminal => Activer le service SSH

 

comment activer ssh synology

 

 

On génère ensuite une paire de clé public/privé pour gérer l’authentification entre le NAS Synology et le Raspberry PI :

ssh-keygen

Ne mettez pas de mot de passe juste cliquer sur entrée 🙂

 

Ensuite on envoi la clé publique sur le Raspberry PI :

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Insérez le mot de passe de l’utilisateur root du Raspberry PI.

 

Vous devriez avoir le message suivant :

Now try logging into the machine, with "ssh 'remote-host'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Ensuite essayer de vous connecter depuis le Synology vers le Raspberry PI :

ssh [email protected]

Vous devriez être connecté sur le Raspberry PI sans avoir rentré de mot de passe.

 

Créez maintenant un fichier texte dans /Volume1/home (Vérifier que le chemin marchez chez vous)

vim backup_rpi

 

Puis copier/coller le script suivant :

#!/bin/bash
#Script de clonage de la carte SD d'un RASPBERRY PI
#Sauvegarde à planifier une fois par semaine
#On garde les 3 derières semaines en cas de soucis

#Clonage du raspberry
ssh [email protected] "sudo dd if=/dev/mmcblk0 bs=1M" | dd of=/volume1/Thomas/Backup/rpi/pibackup.$(date +%d.%m.%Y).gz

#On test si il existe un fichier de plus de 3 semaines pour le supprimer
if [-f /volume1/Thomas/Backup/rpi/pibackup.$(date --date'28 days ago'"+%d.%m.%Y").gz]; then

sudo rm /volume1/Thomas/Backup/rpi/pibackup.$(date --date'28 days ago'"+%d.%m.%Y").gz
fi

 

Puis activer l’exécution sur le script :

sudo chmod +x /Volume1/home/backup_rpi.sh

 

Retourner maintenant dans l’interface de votre NAS Synology dans

 

Panneau de Configuration ==> Planificateur de tâche

Puis créer ==> Tâche planifiée ==> Script défini par l’utilisateur

planifié sauvegarde raspberry pi

 

Définissez un nom à votre tâche et sélectionner l’utilisateur “ADMIN”

 

créer une tache planifié synology

 

Il s’agit maintenant de programmer notre tâche tous les lundis à 1h du matin le script s’occupera du reste :

 

Programmer sauvegarde raspberry pi synology

 

Puis dans les Paramètre de Tâche il faudra définir le script à exécuter et si l’on veut être notifié par email en cas de réussite/échec de la sauvegarde.

Je vous conseille vivement d’activer les notifications emails ne serait-ce qu’au début pour bien valider le bon fonctionnement du script.

 

sauvegarde raspberry synology tache planifiée

 

Et voilà nous avons maintenant une tâche planifié qui tourne tous les lundis à 1h du matin qui s’occupe de réaliser un clone de notre Raspberry PI et de le stocker localement sur des disques redondé normalement en Raid 1.

 

J’espère que vous en avez appris un peu plus sur la sauvegarde et sur les différentes méthodes pour sauvegarder un Raspberry PI.

Si vous n’avez encore rien fait je vous invite grandement à mettre en place une sauvegarde car le jour où sa crash il ne nous reste que nos larmes pour pleurer :'(

Et vous comment sauvegardez-vous votre Raspberry PI ? Je serais intéressé de connaitre d’autre technique 🙂

Post Author: tomtom

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *