Es un tema delicado que relaciona varias herramientas potentes como acpi, hdparm, smartmontools y laptop mode tools, como hoy en día hay un porcentaje muy alto de sistemas portátiles, seguramente habrá mucha gente afectada sin saberlo. El tema es complejo, intentaré resumirlo lo mejor que pueda.
El asunto es la tegnología Ramp Load/Unload, que al contrario que los discos anteriores (tegnología CSS, Contact Start Stop) cuando el disco no lee o escribe datos, los cabezales se desplazan hacia atrás, descansan en una rampa y el disco deja de girar o gira más despacio, de ahí que "lo vendan" como un ahorro de energía, que a la hora de la verdad, no es para tanto. El problema es que hay un límite de cliclos de carga/descarga, a partir de 300.000-600.000 ciclos de carga el fabricante considera que el disco puede fallar en cualquier momento, tanto desplazarse hacia la rampa y hacia el disco, se acaba debilitando el eje de los cabezales (aunque en la práctica puede aguantar muchos más ciclos, se han dado casos que han llegado a los 1.200.000 ciclos y más, pero ningún fabricante lo garantiza). Mi disco ya tiene casi 250.000 ciclos de carga y aún no tiene un par de años.
A los fabricantes de hardware hace mucho tiempo que no les interesan que los productos sean fiables y duraderos, sino que haya que cambiarlos cada pocos años, menuda porquería de sistema capitalista... Pero bueno, esto es otro tema y además ya lo sabemos desde hace bastante tiempo, no nos pilla de nuevo, ¿verdad? Obsolescencia programada y tal...
Afortunadamente hay soluciones, hdparm gestiona un valor que se llama apm (Avanced Power Management), tiene un rango de valores de 1 a 255, el 1 es el máximo rango de ahorro energético pero a costa de machacar el eje de los cabezales como no está escrito... 254 es el mínimo, 255 es el valor de desconexión. Os aconsejo que lo mantengáis siempre en 254 que es el valor más conservador y que alargará la vida de vuestros discos. Ahora paso a mostraros como ver este valor en vuestros discos.
Usaremos las siguientes herramientas:
smartmontools: Utilidades para controlar y monitorizar dispositivos de almacenamiento que usen S.M.A.R.T.
hdparm: Interfaz para gestionar parámetros de dispositivos SATA/IDE.
laptop-mode-tools: Herramientas para el ahorro de energía basadas en el estado de batería/CA.
dennis@ritchie # smartctl -a /dev/sda ← Opción inofensiva que muestra toda la info.
...
9 Power_On_Hours 0x0032 090 090 000 Old_age Always - 7410 ← Horas totales de funcionamiento de vida del disco.
193 Load_Cycle_Count 0x0032 118 118 000 Old_age Always - 246152 ← Cantidad total de ciclos de carga/descarga.
...
Comprobad como vuela este valor cada pocos segundos, si tenéis una configuración muy agresiva.
richard@stallman # hdparm -I /dev/sda ← Opción inofensiva que muestra toda la info.
...
Advanced Power Management level: 254 ← Este valor es el que buscamos.
...
(Funcionan mejor las etiquetas "quote", las "code" se comen el texto por los lados. xD)
Si usais Laptop Mode Tools cambiad el siguiente valor de "/etc/laptop-mode/laptop-mode.conf"
BATT_HD_POWERMGMT=254 ← O al valor que prefiráis, pero yo aconsejo que antepongáis la longevidad del disco a la autonomía.
(Al menos cuando estés con la batería que no destruyas más el disco.)
Una vez vistos todos los datos, podéis ir comprobando los valores cómodamente mediante tuberías y grep:
ada@lovelace #hdparm -I /dev/sda | grep -i level && smartctl -a /dev/sda | grep -i load
Advanced power management level: 254
193 Load_Cycle_Count 0x0032 118 118 000 Old_age Always - 247531
PD: Lo he intentado explicar de la forma más resumida posible para que no me saliera un megapost de 3 páginas, he omitido cosas, pero creo que se entiende. Tened esto en cuenta y vuestros discos os lo agradecerán.
Saludos!