Hoy día es común que tengamos nuestras maquinas Vyatta corriendo en dispositivos de estado sólido (SSD), ya sean CompactFlash, memorias USB, tarjetas SD o dispositivos PATA/SATA SSD.
La tecnología SSD es mucho más silenciosa, resistente a golpes y consume menos energía que los discos duros tradicionales pero tienen por contra tienen un número limitado de ciclos de escritura lo que significa que los dispositivos SSD pueden llegar a morir relativamente rápido en sistemas con una intensa actividad de lectura.

Los archivos temporales, el almacenamiento de logs y el cache web son los primero culpables de la muerte de los SSD en Vyatta.

Lo que vamos a mostrar aquí es como mover esos ficheros temporales y de logs a tmpfs lo que reducirá drásticamente el número de ciclos de escritura en SSD alargando su vida.

A tener en cuenta: No se contempla el traslado del cache web a tmpfs ya que puede inutilizar la configuración. Por tanto se recomienda no usar nunca tmpfs para cache web, como alternativa se propone el uso de almacenamiento persistente adicional como discos duros u otro dispositivo flash.

Mover ficheros temporales y de logs a almacenamiento volátil tmpfs en Vyatta

  1. El proceso de mover los ficheros de logs desde /var/log a tmpfs no es tarea fácil ya que hay que crear una estructura de directorios especial (en /var/log) para syslog y otros demonios con capacidades de logueo, por lo que el amigo Cartman (autor de este post) ha creado un paquete Debian llamado mksubdirs que crea la estructura de directorios necesaria en el momento del arranque del sistema.

  2. Añadir las siguientes líneas al fichero /etc/fstab:

    none                    /tmp            tmpfs   mode=1777       0 0 
    none                    /var/tmp        tmpfs   mode=1777       0 0 
    none                    /opt/vyatta/tmp tmpfs   mode=0755       0 0 
    none                    /var/log        tmpfs   mode=0755       0 0


    Reiniciar Vyatta.

  3. Descargar e instalar el paquete mksubdirs:

    cd /tmp 
    wget http://www.cyberlynx.eu/~cyberlynx.eu_cartman/vyatta/packages/mksubdirs_2010100200_all.deb 
    sudo dpkg -i mksubdirs_2010100200_all.deb


    Reiniciar de nuevo Vyatta.



Si el sistema arranca sin errores significa que todo ha ido bien y que nuestro dispositivo SSD usado está a salvo.


Notas:

  • Los logs almacenados en tmpfs se borran en cada reinicio o apagado de la máquina. Se recomienda encarecidamente almacenar logs en un server syslog externo si no queremos perder nuestros logs.

  • El paquete mksubdirs puede usarse tanto para Vyatta como para cualquier distro basada en Debian como Ubuntu.
    En caso de querer usarlo en distros no Vyatta es necesario eliminar la línea que comienza por /opt/vyatta/tmp en el archivo de configuración /etc/default/mksubdirs

  • También sería conveniente deshabilitar la sincronización automática de listas de paquetes de apt con la siguiente orden de configuración de Vyatta:

    set system package auto-sync 0


    Esta orden deshabilita la sincronización automática de apt con los repositorios, lo que elimina otros tantos ciclos de escritura en nuestros SSDs.



Fuente original en comunidad Vyatta.



Como alargar la vida de los dispositivos de estado solido (SSD) en Vyatta y Debian con tmpfs