¿Alguien sabe si hay una manera elegante de decirle a una unidad USB externa que no se dañe después de un período de inactividad? He visto soluciones basadas en cron que escriben un archivo cada minuto, pero nada que huele a agradable elegancia unixey. Debe haber un comando hdparm o scsi que pueda emitir (se accede a las unidades usb a través del controlador sd en OpenBSD) a la unidad para decirle que no duerma. Me temo que esta es probablemente una característica integrada en el controlador en el gabinete, y como tal, no puede cambiarlo, aparte de extraer el disco de su gabinete y colocarlo directamente en la máquina, pero pensé que preguntaría, en la casualidad.
Idealmente, estoy buscando una solución de OpenBSD, pero sé que hay otros por ahí con el mismo problema, por lo que cualquier solución será considerada para la respuesta.
Respuestas:
Sí, generalmente está integrado en el firmware. Algunos fabricantes de unidades proporcionan una herramienta de administración basada en MS Windows que le permitirá modificar varios parámetros, incluida la desactivación del temporizador de "suspensión" o desactivación. Si tiene acceso a un cuadro de Windows, puede valer la pena seguir ese ángulo.
fuente
Solo mis 2 centavos ...
Es más que cierto que girar los discos disminuye su vida útil. Años de experiencia han demostrado que arrancar y detener el motor del disco causa mucha más fatiga que el giro 24/7. Todos mis discos con gran número de inicio / parada tienen sectores reasignados y todos mis discos que giran 10 años 24/7 están (lo creas o no) como nuevos. Después de todo, los discos están hechos para girar, no para ralentí, por lo que si su prioridad es menos fatiga que el consumo de energía, siéntase libre de hacer girar sus discos 24/7.
Tengo un disco externo de 2TB que gira después de 30 minutos de inactividad. El disco debe estar encendido las 24 horas, los 7 días de la semana para realizar copias de seguridad y actuar como un pequeño NAS conectado a un Orange PI.
Usé la siguiente regla de udev en
(Nunca funcionó ya que el spin-down está en el firmware de los discos)
Aunque el disco es compatible con
Escribí un pequeño proceso de demonio que puede ejecutarse en el momento del arranque en
que escribe 10 veces en ciclos la fecha y hora actuales en un archivo de registro para que el disco siempre esté encendido. Siéntase libre de modificar a su gusto.
Las opciones de línea de comando son: el directorio de destino para escribir awake.log y (opcionalmente) el retraso de tiempo (predeterminado 300)
p.ej
el código: (puedes compilar con gcc)
fuente
Esta solución (para Linux) de http://www.arrfab.net/blog/?p=107 ha ayudado a una unidad portátil Seagate de 1TB que siguió durmiendo:
La unidad ahora responde inmediatamente incluso cuando se deja inactiva durante una hora. Sin embargo, aún no probé si la configuración se guarda en reinicios, etc.
fuente
He encontrado que el siguiente cronjob funciona para mí.
* / 5 * * * * / bin / touch / dev / sdb &> / dev / null
Obviamente actualícelo con el nombre del dispositivo de su disco.
También puede variar el tiempo según el tiempo que su unidad esté inactiva antes de que se apague.
fuente
El manual para Linux
hdparm
proporciona la siguiente información:Dicho esto, todavía no se garantiza que la carcasa de la unidad admitirá la transmisión de estas instrucciones a la unidad. La misma referencia menciona que poder usar hdparm con un gabinete solo es posible con ciertos modelos "más nuevos (2008 y posteriores)" que admiten el sistema de traducción de comandos SCSI-ATA, también conocido como "SAT". Todavía tengo que intentar hacer esto en otra cosa que no sea una unidad de copia de seguridad barata y reciente, un modelo HP SimpleSave. Parece proporcionar una funcionalidad limitada de administración de energía.
Y, por supuesto, esto también supone que OpenBSD
hdparm
funciona de la misma manera. No conozco en absoluto las formas de OpenBSD, por lo que no puedo ayudarlo allí.fuente
atactl
. Pero no sé si funciona en dispositivos USB;atactl(8)
está referenciada porwd(4)
(la página del manual del controlador de disco IDE) pero no porumass(4)
(la página del manual del controlador de almacenamiento USB).hdparm
podría usarse de alguna manera en un bucle sin sudo para evitar dormir?hdparam
el valor predeterminado para-B [apm_setting]
?