Configurar noatime para los discos SSD

Publicado en: Tecnología

Esta semana me he enterado vía GUMCAM (Grupo de Usuarios Mac de la Comunidad de Madrid) que los discos SSD pueden sufrir por el exceso de accesos a parámetros de los ficheros.

El GUMCAM organizó unas sesiones abiertas a tod@s en las que te enseñaban a desmontar un portátil Mac montar un disco SSD en  la bahía del lector DVD y configurarlo para que tu Mac OS X vaya fino, fino. Y entre toda la documentación que han contando por su twitter #gumcam_org me ha chocado esto del noatime.

La propiedad atime de los discos duros

Cada vez que se accede a un fichero del disco duro, el sistema Unix lee el atime para saber el último acceso al fichero, lo abre y graba en el fichero la fecha en nuevo atime. Es decir, por cada acceso 3 operaciones.

En un disco convencional no tiene la mayor importancia. Pero en los discos SSD es muy recomendable desactivarlo porque el ciclo de escrituras sobre el disco son limitadas, para alargar la vida del dispositivo desactivando atime.

Pasos para desactivar la propiedad atime del disco SSD:

1. Crear un fichero plist para que cada vez que arranque el equipo se active ‘noatime’
Crear y editar un fichero plist:

$ sudo vi /Library/LaunchDaemons/com.macosas.noatime.plist

Añadir al fichero el contenido xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
 <dict>
  <key>Label</key>
  <string>com.macosas.noatime</string>
  <key>ProgramArguments</key>
  <array>
    <string>mount</string>
    <string>-vuwo</string>
    <string>noatime</string>
    <string>/</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
 </dict>
</plist>

2. Revisar los permisos del fichero, deben quedar así:

$ ls -al /Library/LaunchDaemons/com.macosas.noatime.plist
-rw-r--r-- 1 root wheel /Library/LaunchDaemons/com.macosas.noatime.plist

3. Cargar el fichero en el launchd de sistema:

$ sudo launchctl load -w /Library/LaunchDaemons/com.macosas.noatime.plist

El cambio a noatime podremos comprobarlo al reiniciar, ejecutando el comando mount:

$ mount
/dev/disk0s2 on / (hfs, local, journaled, noatime)

Larga vida al SSD! O al menos, alargad la vida.