Tengo una Raspberry Pi a la que quiero conectar un disco duro externo. Ahora estoy pensando qué sistema de archivos usaré. El problema es que la Raspberry Pi se apagará de vez en cuando sin desmontar el disco duro. Entonces, ¿qué sistema de archivos es el más robusto para este caso de uso?
Respuesta1
Casi cualquier sistema de archivos de lectura y escritura no se comporta tan bien cuando se apaga en medio de una operación. Será mejor usar un sistema de archivos con un diario, esto al menos minimizará cualquier problema. No hay ninguna diferencia realmente grande que yo sepa entre las distintas opciones.
Lo que debería considerar seriamente es usar algo como autofs para montar el sistema de archivos solo bajo demanda. Autofs se puede configurar para desmontar el sistema de archivos cuando no haya estado en uso después de un período de tiempo configurable. De esta manera, su sistema de archivos estará desmontado y completamente seguro, a menos que apague el sistema mientras está en medio o justo después de haber intentado hacer algo con el sistema de archivos.
¿Tienes un tutorial para configurar el desmontaje automático?
Sin saber qué versión de Linux estás usando, no tengo un tutorial específico. Aquí hay algunos enlaces que pueden ayudarlo a comenzar. El punto clave es el --timeout
que establece cuánto tiempo permanecerá montado el sistema de archivos cuando no haya archivos en uso.
- http://wiki.debian.org/AutoFs
- http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-client-config-autofs.html
- http://www.autofs.org/
- http://tldp.org/HOWTO/text/Automount
- http://www.linux-consulting.com/Amd_AutoFS/autofs.html
- http://linux.die.net/man/5/autofs
- http://linux.die.net/man/5/auto.master
Respuesta2
En principio, este debería ser un excelente caso de uso para unSistema de archivos estructurado por registros. Tengo poca experiencia con ellos, peroNILFSe ve bien y ha estado en el kernel principal de Linux durante algún tiempo. En principio, crea cada cambio en el sistema de archivos como un parche que se aplica sobre el estado anterior. De esta manera, uno debería poder volver fácilmente al estado anterior si hay un problema con el estado más reciente (por ejemplo, debido a un corte de energía inoportuno), ya que generalmente nada se sobrescribe en el uso normal.
Por otro lado, NILFS no es tan maduro como ext3, ni hay casi la misma cantidad de herramientas de recuperación si algo sale mal. También tenga en cuenta que cuando digo que las cosas son posibles en el párrafo anterior, es muy posible que signifique que tiene que compilar y usar algún software manualmente para hacerlo.
NILFS también requiere una limpieza ocasional, ya que sobrescribir o eliminar archivos en realidad no libera espacio en el disco. Creo que esto sucede automáticamente de forma predeterminada. Es posible que desee asegurarse de que esto suceda en un momento en el que la energía no desaparezca del dispositivo.
Respuesta3
La pregunta me suena muy enferma. No importa cuán fuerte sea un sistema de archivos, detener el sistema en medio de su operación es comprar todos los días toda la lotería por una corrupción masiva del sistema de archivos.
Al usar unGPIOpuede indicarle a su dispositivo que desea apagarlo. (Las PC de escritorio normales tienen esta entrada de línea hace mucho tiempo).
Con algún circuito externo, podría apagar su dispositivo solo después de finalizar el procedimiento de parada. Pero debes asegurarte de que los gatos malos mantengan sus patas en la línea eléctrica real.
tengo unenchufesheeva, donde el LED es configurable por el usuario y agregué un script para ejecutarlo justo antes de la parada final, que apaga este LED. No más dudas ni pérdida de tiempo tratando de descubrir cuándo es el momento adecuado para apagar.