Accueil » Sauvegarde et Restauration du système

Sauvegarde et Restauration du système

Sauvegarde et Restauration du système pour le Raspberry

La sauvegarde et la restauration du système sur le Raspberry sont des étapes importantes du développement. En effet, au cours des manipulations sur le Raspberry, nous aurons besoin d’installer différents logiciels. Nous avons vu que l’utilisation d’une machine virtuelle était très pratique pour optimiser les installations et vérifier qu’elles opèrent toutes de leur côté sans aucune dépendance aux installations précédentes d’autres librairies pour un autre logiciel.

Cependant, il n’est pas toujours possible de passer par l’émulation du Raspberry en virtuel. C’était le cas par exemple pour l’installation du projet Pi4J et des librairies WiringPi pour le développement Java car cela dépend des librairies natives du Raspberry qui n’existent pas en virtuel. C’était aussi le cas pour l’installation du Spinnaker SDK de chez FLIR et pour l’utilisation du GPIO. 

Il peut alors être intéressant de garder une sauvegarde du système à un instant donné. Le but est de reprendre le principe des snapshots de la machine virtuelle mais en réel avec un fichier image disque qui sauvegarde le système du Raspberry Pi réel à un moment donné. Cela nous évitera de flasher de nouveau une carte SD avec un système d’exploitation de base. Ainsi, nous flasherons la sauvegarde et nous procéderons ainsi à la restauration de l’état du système sur Raspberry avec les configurations souhaitées.

Prérequis

Pour sauvegarder et restaurer un système sur le Raspberry, nous allons faire la sauvegarde directement sur le Raspberry en suivant les consignes de la vidéo suivante « https://www.youtube.com/watch?v=00ck25k_lgw ».

Nous allons donc faire la sauvegarde et la restauration de manière autonome sans passer par un PC intermédiaire. Nous allons pour cela booter sur une clé USB et garder le système que nous voulons sauvegarder sur une carte SD que nous brancherons par la suite. Pour démarrer le Raspberry sur une clé USB, la démarche à suivre est décrite sur la page « Démarrage sur une clé USB » (voir ici).

Dans un premier temps, nous allons installer 2 logiciels sur le Raspberry qui est booté en USB :

  • GNOME Disks va permettre de créer une image disque à partir du système actuel du Raspberry, qui est sur la carte SD.
  • GParted permettra le redimensionnement de la partition de la sauvegarde afin de l’utiliser sur une carte SD de la taille de notre choix.

Terminal

Ensuite, nous allons installer un 3ème logiciel qui nous permettra de rétrécir la taille de la partition de la sauvegarde pour qu’elle soit la moins lourde possible. C’est Pi Power Tools que nous allons installer à partir du GitHub « https://github.com/Botspot/Pi-Power-Tools ».

Terminal

Cette commande clone le répertoire dans /home/pi/Pi-Power-Tools et ajoute un bouton de menu dans l’onglet Accessoires du bureau. Il faut pour cela installer les packages YAD durant l’isntallation, ils servent à créer une interface graphique après exécution d’un script.  Rien n’est modifié en dehors de notre répertoire personnel. Nous avons maintenant tous les logiciels installés pour pouvoir sauvegarder et restaurer correctement le système du Raspberry.

Enfin, nous allons installer un dernier logiciel pour pouvoir restaurer la sauvegarde. Nous passerons par le logiciel Raspberry Pi Imager qui s’installe de la manière suivante :

Terminal

Sauvegarde du système sur le Raspberry

Afin de commencer la sauvegarde du système qui se situe sur la carte SD du Raspberry, il faut aller dans Accessoires et lancer « Disques ». Nous branchons par la suite la carte SD sur le lecteur du Raspberry.

Ouverture de GNOME Disks Raspberry booté en USB

L’image disque que nous allons créer est celle du système d’exploitation de la carte SD. Nous devons maintenant choisir la destination sur laquelle nous créons l’image disque. En effet, il n’est pas possible de créer une image disque du système d’exploitation directement sur le lecteur qui contient le système d’exploitation. Nous passons donc par une carte SD intermédiaire et nous copions l’image sur le bureau du système booté en USB. Nous sélectionnons alors notre carte SD et nous commençons la création de l’image disque. Pour cela, il faut cliquer sur les 3 traits horizontaux en haut à droite de GNOME disks et appuyer sur « Créer une image disque ».

Raspberry création image disque du système placée sur la carte
Raspberry sauvegarde du système située sur une carte SD

Nous choisissons maintenant le nom de notre image que nous allons pour l’instant enregistrer sur le Bureau. Il est important de ne pas choisir un nom d’image trop long car il pourrait y avoir quelques problèmes par la suite, notamment sur l’utilisation de Pi Power Tools. Il suffit de rentrer le mot de passe de la machine et la création de l’image disque se lance.

Une fois la copie terminée, nous voyons que le fichier image disque fait environ 16 Go, soit la taille de la carte SD du Raspberry. Nous allons rétrécir l’image pour ne pas sauvegarder tout l’espace vide. Nous ouvrons donc Pi Power Tools en IMG Mode. Nous utilisons le « drag and drop » pour déposer l’image qui se situe sur le bureau dans Pi Power Tools.

Ouverture de Pi Power Tools en mode IMAGE sur le Raspberry
Ouverture d'une image sur Pi Power Tools

Nous cliquons maitenant sur Shrink et le rétrécissement de l’image se lance dans une console pour supprimer tout l’espace vide. Nous vérifions sur le bureau que l’image a bien été réduite. Sa nouvelle taille est de 5.91 Go.

On rétrécit l'image au maximum
L'image a bien été rétrécie au maximum

Pour finir cette première étape, nous pouvons compresser cette image disque pour créer un fichier « .zip » et ainsi faciliter le stockage de cette sauvegarde du Raspberry. Nous pouvons donc la stocker sur un disque dur externe, sur une carte SD ou sur un ordinateur.

Restauration du système​ du Raspberry

Enfin, une fois que le système est sauvegardé, il faut pouvoir le restaurer sur le Raspberry si l’on souhaite profiter de la sauvegarde. Pour cela, nous allons utiliser le logiciel Raspberry Pi Imager que nous avons installé au début dans les prérequis. Nous ouvrons donc le fichier « zip » ou l’image de la sauvegarde directement en utilisant une image personnalisée. Nous sélectionnons la carte SD sur laquelle nous allons restaurer le système précédemment sauvegardé et nous lançons l’écriture.

Il est nécessaire que la carte SD soit au moins plus grande que la taille de l’image disque sauvegardée sinon il sera impossible de flasher la carte.

Flash de la carte SD avec Raspberry Pi Imager

Ensuite, nous allons devoir redéfinir la taille de la partition pour compléter tout l’espace non alloué. En effet, il faut redimensionner la partition pour profiter de tout l’espace restant sur la carte SD choisie pour la restauration. Cela nous permet de restaurer notre système sur une carte SD de n’importe quelle taille tant qu’elle a assez d’espace pour contenir la sauvegarde.

Nous ouvrons donc le logiciel GParted qui se situe dans « Outils système » du menu Raspberry. Nous sélectionnons la carte SD en haut à droite « /dev/mmcblk0 ». Ensuite, il faut faire un clic droit sur « /dev/mmcblk0p2 » et cliquer sur Redimensionner. Nous faisons glisser la barre pour pour prendre la taille maximale. Nous validons cela en cliquant sur la flèche verte et en validant. Les partitions occupent maintenant tout l’espace de stockage sur notre clé USB.

Visionnage de la carte SD sur GParted sur le Raspberry
Les partitions sont toutes allouées

Enfin, la carte SD est maintenant utilisable et nous pouvons booter le Raspberry avec cette dernière. L’intérêt de ces manipulations en bootant en USB est que nous sommes autonomes et nous ne passons pas par l’utilisation d’un PC par exemple. Cependant, il existe d’autres méthodes pour sauvegarder et restaurer le système du Raspberry. Par exemple, une méthode en utilisant un PC a été décrite sur la page « Démarrage sur une clé USB » (voir ici).

Nous avons utilisé ces manipulations pour créer une sauvegarde de notre système après avoir paramétré la prise en main à distance du Raspberry. En effet, c’est une étape indispensable pour nous dans l’utilisation du Raspberry. De plus, nous avons choisi de prendre un OS plus léger pour la sauvegarde. Pour cela, nous avons installé le « Raspberry Pi OS with desktop » sans les logiciels recommandés.  Cela nous évitera donc de repartir de zéro si jamais nous devons reflasher la carte SD pour tester des installations. La sauvegarde et la restauration du système est donc un point important du développement sur le Raspberry.