Logo carnetderootxzz@carnetderoot.net"La simplicité est la sophistication suprême" - Léonard De Vinci
mardi 10 mai 2016

:: Prolonger la durée de vie des cartes SD sur Raspberry Pi ::

Les cartes Raspberry Pi sont souvent considérées, à tort, comme des "killeuses" de carte SD. Ceci n'est pas dû à notre framboise préférée mais au fait que la carte SD fasse office de disque dur. Or le système d'exploitation risque de solliciter énormément cette dernière pour y écrire régulièrement de petites quantités de données (fichiers journaux, fichiers temporaires, etc.), traitement pour lequel une carte SD n'a pas été conçue (ses cycles d'écritures sont limités). Le risque ici est de voir fondre comme neige au soleil l'espace disque disponible sur votre carte SD, jusqu'à la rendre inutilisable. Pour limiter ce risque des moyens existent, je vous en présente deux que j'ai personnellement testés (et éprouvés).

tmpfs

tmpfs va nous permettre de déplacer les répertoires fortement sollicités en ram.
A noter que le contenu de ces répertoires sera perdu à chaque redémarrage du système.

Répertoires concernés :

  • /tmp
  • /var/tmp
  • /var/log

Cette liste est bien-sûr exhaustive, n'hésitez pas à ajouter d'autres répertoires fortement sollicités en terme d'écriture.

Pour cela, il faut modifier le fichier /etc/fstab comme suit :

tmpfs /tmp tmpfs defaults,noatime,nosuid,size=16m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=16m 0 0
tmpfs /var/log tmpfs defaults,noatime,nosuid,mode=0755,size=16m 0 0

La quantité de RAM disponible sur le raspberry pi étant limitée, on fixe arbitrairement la taille max des partitions à 16Mo.

ramlog (http://www.tremende.com/ramlog/)

Dans le cas des fichiers journaux, la méthode précédente présente l'inconvénient de supprimer ces derniers à chaque redémarrage du Pi. Ce qui, pour un serveur Web ou tout autre serveur public, peut s'avérer rédhibitoire. ramlog permet de contourner ce problème : à chaque démarrage, il crée un volume de stockage virtuel en RAM, y copie le contenu de /var/log puis monte ce volume comme /var/log. Les fichiers journaux sont ainsi stockés sur le disque dans le répertoire /var/log.hdd qui est mis à jour à chaque arrêt/redémarrage du service.

Pour installer ramlog, lancer les commandes suivantes :

$ wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
$ sudo dpkg -i ramlog_2.0.0_all.deb
$ sudo reboot

Une fois le Pi redémarré, vérifier que ramlog est bien actif avec la commande suivante :

$ service ramlog status

Références