¿Cómo pueden las paradas inesperadas dañar una computadora con Linux?
¿Las paradas inesperadas son tan dañinas para Linux como para otros sistemas operativos? Siga leyendo mientras investigamos los efectos de los apagados catastróficos del sistema en los sistemas de archivos de Linux.
La sesión de Preguntas y Respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad..
La pregunta
SuperUser reader User208554 siente curiosidad por las estructuras de archivos de Linux y le preocupa la aplicación / instalación en la que está trabajando:
Estoy desarrollando una aplicación en una placa incorporada de Linux (se ejecuta Debian), p. Ej. Raspberry Pi, Beagle Board / Bone, u olimex. Las placas funcionan en un entorno en el que la electricidad se corta inesperadamente (es demasiado complicado para colocar la fuente de alimentación, etc.) y sucedería todos los días un par de veces. Me pregunto si los cortes de energía inesperados causarán problemas en el sistema operativo Linux. Si es algo de lo que debería preocuparme, ¿qué sugeriría para evitar daños en el sistema operativo contra los cortes de energía inesperados??
PD. La aplicación necesita escribir algunos datos en el medio de almacenamiento (tarjeta SD), creo que no sería adecuado montarlo como solo lectura.
Entonces, ¿cuál es el veredicto?
La respuesta
El colaborador de SuperUser l0b0 ofrece información sobre los sistemas de archivos de diario / no de diario:
Esto dependería de
- si está utilizando un sistema de archivos de registro por diario y
- qué tan bien las aplicaciones son capaces de manejar el procesamiento abortado.
Considere, por ejemplo, una aplicación que procesa un archivo y escribe los resultados a medida que se calculan (una línea de salida por línea de entrada) en otro archivo. Si se corta la energía durante el procesamiento, y la misma aplicación se ejecuta después de reiniciar, no puede simplemente reiniciar el procesamiento desde el inicio del archivo de entrada, lo que significaría que el archivo de salida contendría información duplicada.
Podría ser muy difícil decir algo definitivo sobre un hipotético sistema complejo, pero el software de Linux más estable parece ser capaz de manejar los fallos bastante bien..
Stu sugiere separar el sistema operativo y los datos, así como agregar una batería de respaldo:
Para ayudar a minimizar la posibilidad de que se dañe el sistema operativo, probablemente sea mejor tener particiones separadas de "sistema" y "datos" en la tarjeta SD. De esa manera, puede montar la partición del "sistema" de solo lectura y usar un FS altamente resistente en la partición de "datos".
Además, la mayoría de esas tarjetas tienen requisitos de energía muy bajos, por lo que es posible una batería de respaldo. La tabla "LiPo rider" para la Raspberry Pi se puede utilizar como un UPS básico para proporcionar un apagado limpio en caso de pérdida de energía.
Finalmente, Jenny D amplía la sugerencia del sistema de archivos de diario:
Los cortes de energía inesperados pueden causar daños en los datos del sistema de archivos, por ejemplo, Si un proceso ha comenzado a escribir en un archivo, pero aún no ha terminado de escribirlo, el archivo puede terminar solo a mitad de escritura. Ahora imagine que el corte de energía ocurre cuando está a mitad de camino a través de una actualización del kernel ...
Como escribió l0b0, el uso de un sistema de archivos de diario ayudará, ya que podrá hacer un seguimiento de lo que realmente se ha hecho. Además de la información de wikipedia que está vinculada a l0b0, es posible que también le interese la Garantía de registro en el registro de sistemas de archivos contra la corrupción después de una falla de alimentación..
Obviamente, usted como programador debe considerar cuidadosamente cómo manejar la escritura en archivos para que se convierta en un proceso atómico (es decir, se haya completado o no se haya hecho en absoluto, pero nunca se haya hecho a medias). Es un tema bastante complejo..
¿Tienes algo que agregar a la explicación? Apague el sonido en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange con experiencia en tecnología? Echa un vistazo a la discusión completa aquí.