Raspberry Pi - Allonger la durée de vie de vos cartes SD
Vous le savez surement, la durée de vie d’une carte SD dépend aussi du nombre d’écritures que vous effectuez sur celle-ci. L’OS du Raspberry Pi fonctionnant sur une carte SD (ou micro SD), il écrit pas mal de logs dessus toute la journée.
Voici donc une solution simple qui permet de limiter ces écritures afin de prolonger la durée de vie de votre carte SD. Pour cela, nous allons utiliser l’outil Ramlog qui crée un disque temporaire en mémoire vive, où sont stockés et mis à jour les logs. Et ce n’est que lorsque vous arrêterez votre Raspberry Pi que ces logs seront écrits sur la carte SD. Cela limitera grandement le nombre d’accès en écriture sur la carte.
Notez qu’il est possible d’utiliser ramlog sur n’importe quel GNU/Linux donc ça peut aussi être utile pour les possesseurs de SSD.
Voici comment installer Ramlog sur le Rpi :
sudo apt-get install rsync
sudo apt-get install lsof
wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
sudo dpkg -i ramlog_2.0.0_all.deb
Ensuite, modifiez le fichier suivant :
sudo nano /etc/init.d/ramlog
Et ajoutez y les 2 lignes suivantes dans la section #BEGIN INIT INFO (oui, n’oubliez pas de mettre aussi les #).
# X-Start-Before: rsyslog
# X-Stop-After: rsyslog
Enfin, éditez le fichier suivant :
sudo nano /etc/init.d/rsyslog
et ajoutez ramlog aux 2 lignes suivantes comme ceci (pour le lancer au démarrage et l’arrêter lors du démontage) :
# Required-Start: $remote_fs $time ramlog
# Required-Stop: umountnfs $time ramlog
Entrez ensuite la commande suivante pour activer le script au lancement :
sudo insserv
Et rebootez 2 fois le Rapsberry :
sudo reboot
Une fois qu’il est relancé, allez faire un tour ici pour vérifier que tout se passe bien :
sudo cat /var/log/ramlog
Si vous y voyez des erreurs, essayez de les corriger. La plupart du temps, ces messages d’erreur demandent à ce que vous arrêtiez d’autres daemons avant de lancer Ramlog. Ça arrive par exemple avec Cups et Samba et pour régler ça, il faut indiquer dans les fichiers de confs des programmes en question, que ramlog doit être lancé avant qu’ils commencent à écrire dans les logs.
Pour Samba, éditez le fichier suivant :
sudo nano /etc/init.d/samba
Et ajoutez ramlog à la fin des 2 lignes suivantes :
# Required-Start: $network $local_fs $remote_fs ramlog
# Required-Stop: $network $local_fs $remote_fs ramlog
Même punition pour Cups :
sudo nano /etc/init.d/cups
Ajoutez ramlog à la fin de ces 2 lignes :
# Required-Start: $syslog $remote_fs ramlog
# Required-Stop: $syslog $remote_fs ramlog
Voilà, vous avez compris le concept. Refaites un petit insserv et redémarrez :
sudo insserv
sudo reboot
Et voilààààà !