Soy el dueño de un NAS, ejecutando alguna distribución de Linux. Viene con una interfaz de administración web, donde puedo administrar varios servicios, derechos de usuario y también cuándo debería irse a dormir. Mi problema es, por alguna razón, cuando el NAS se ha ido a dormir, el disco duro se enciende nuevamente después de un par de minutos. Luego girará durante un tiempo y luego volverá a dormir. Esto continúa indefinidamente.
¿Cómo puedo tratar de determinar la causa de esto? Soy muy nuevo en Linux, pero logré obtener acceso de root y ahora tengo una conexión SSH.
Respuestas:
inotify-tools es una forma simple de hacer esto. Hay varios ejemplos en su sitio que podrían hacer lo que desea (vea el ejemplo de inotifywatch para obtener uno realmente básico).
fuente
Intenta correr
iotop
tal vez? Lo he encontrado útil en el pasado.fuente
Otro consejo: use Systemtap, hay un montón de scripts de sonda en el sitio de systemtap lo suficientemente útiles como para encontrar al culpable.
En otro caso por completo,
Si desea averiguar qué proceso causó que el disco girara, puede recopilar información configurando el indicador
/proc/sys/vm/block_dump
. Cuando se establece este indicador, Linux informa todas las operaciones de lectura y escritura del disco que tienen lugar, y todos los bloqueos sucios realizados en los archivos. Esto permite depurar por qué un disco necesita girar y aumentar aún más la duración de la batería. La salida de block_dump se escribe en la salida del kernel, y se puede recuperar usando "dmesg" o mire su instalación de kernel syslog para el destino de los mensajes de depuración. En general, debería ser/var/log/debug
. Cuando usa block_dump y su nivel de registro del kernel también incluye mensajes de depuración del kernel, probablemente desee desactivar klogd, de lo contrario, se registrará la salida de block_dump, lo que provocará una actividad del disco que normalmente no está allí.fuente
Debe decirle al núcleo que le informe de todas las lecturas / escrituras en los discos, luego debe mirar esa información.
Entonces:
sync
vacía todas las escrituras pendientes en los discos, de modo que solo verá nuevas lecturas o escrituras.dmesg -c
le muestra los mensajes del kernel y los borra (de lo contrario, también verá los antiguos cada vez que ejecute dmesg).grep
filtra la salida de dmesg para la actividad del disco que le interesa. Reemplace / dev / sda con su dispositivo real.Usualmente uso algo como esto para hacer girar el disco, luego verifico cuándo vuelve a girar:
El
while
bucle comprueba el estado activo / inactivo del disco cada 10 minutos. Cuando lo veas encendido, pasa ladmesg
línea de arriba para ver quién lo hace.fuente