La vida útil de las tarjetas microSD es bastante más limitada que en los discos duros tradicionales. Uno de los procesos del sistema que más las castiga, es la escritura de logs de sistema. El SO y sus servicios, escribe constantemente entradas en los distintos ficheros bajo el directorio /var/log. La generación de estos logs, es un proceso constante que puede llegar a desgastar y destruir nuestra microSD.
Para alargar la vida de la microSD existe log2ram, un pequeño programa que monta un sistema de ficheros del tipo tmpfs que funciona en ram.
Seguramente estaréis pensando que pasa con los logs si se apaga la raspberrypi, pues en principio se pierden todos, ya que la ram es una memoria volátil. Por suerte log2ram permite configurar una periodicidad para que escriba todos los logs a la microSD, en mi caso, vuelco todos los logs una vez al día, además si apagamos la raspberrypi de forma correcta el propio script los vuelca.
En resumen, con este pequeño programa, limitamos enormemente la cantidad de veces que el sistema escribe en la microSD alargando su vida útil. Ahora nos ponemos manos a la obra con su instalación y configuración.
- Instalamos log2ram mediante apt:
$ echo "deb http://packages.azlux.fr/debian/ buster main" | sudo tee /etc/apt/sources.list.d/azlux.list
$ wget -qO - https://azlux.fr/repo.gpg.key | sudo apt-key add -
$ sudo apt update
$ sudo apt install log2ram
- Configuramos log2ram editando el fichero /etc/log2ram.conf:
# El tamaño de memoria RAM a reservar
SIZE=200M
# Si tenemos rsync instalado, es recomendable habilitar esta opción
USE_RSYNC=false
# En caso de querer recivir un email si hay problemas, por ejemplo que el espacio de ram reservado sea muy pequeño
MAIL=false
# el directorio que queremos que controle log2ram
PATH_DISK="/var/log"
- (Opcional) Si necesitamos especificar otra frecuencia de escritura de logs editamos el timer del servicio:
$ sudo systemctl edit log2ram-daily.timer
[Timer]
OnCalendar=weekly
- Reiniciamos el servicio:
sudo systemctl restart log2ram.service
- Validamos que todo esté funcionando correctamente:
$ df -h | grep log2ram
log2ram 200M 76M 125M 38% /var/log
$ mount | grep log2ram
log2ram on /var/log type tmpfs (rw,nosuid,nodev,noexec,noatime,size=204800k,mode=755)
Y con estos sencillos pasos, aseguramos que nuestra microSD tenga una sana y larga vida.