¿Cómo pueden los cierres inesperados dañar una computadora Linux?

¿Los cierres inesperados son tan perjudiciales para Linux como lo son para otros sistemas operativos? Siga leyendo mientras investigamos los efectos de los cierres catastróficos del sistema en los sistemas de archivos de Linux.

¿Los cierres inesperados son tan perjudiciales para Linux como lo son para otros sistemas operativos? Siga leyendo mientras investigamos los efectos de los cierres 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, una agrupación de sitios web de preguntas y respuestas dirigida por la comunidad.

La pregunta

El lector SuperUser 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 integrada de Linux (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 colocar una 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ían problemas en el sistema operativo Linux. Si es algo de lo que debería preocuparme, ¿qué sugeriría para evitar los 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 de solo lectura.

Entonces, ¿cuál es el veredicto?

La respuesta

El colaborador de SuperUser l0b0 ofrece información sobre los sistemas de archivos con registro en diario/sin registro en diario:

Esto dependería de

  1. si está utilizando un sistema de archivos de diario y
  2. qué tan bien las aplicaciones pueden 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 alimentación 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; eso significaría que el archivo de salida contendrá información duplicada.

Podría ser muy difícil decir algo definitivo sobre un sistema hipotético complejo, pero la mayoría del software estable de Linux parece ser capaz de manejar los bloqueos 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 corrupción del sistema operativo, probablemente sea mejor tener particiones separadas de «sistema» y «datos» en la tarjeta SD. De esa manera, puede montar la partición de «sistema» de solo lectura y usar un FS altamente resistente en la partición de «datos».

Además, la mayoría de esas placas tienen requisitos de energía muy bajos, por lo que es posible una batería de respaldo. La placa «LiPo rider» para la Raspberry Pi se puede utilizar como 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 dañar los datos del sistema de archivos, p. Ej. Si un proceso ha comenzado a escribir en un archivo, pero aún no ha terminado de escribirlo, el archivo puede terminar solo a la mitad. Ahora imagine si el corte de energía ocurre cuando está a la mitad de una actualización del kernel …

Como escribió l0b0, el uso de un sistema de archivos de registro diario ayudará, ya que podrá realizar un seguimiento de lo que realmente se ha hecho. Además de la información de Wikipedia que enlazó con l0b0, también puede estar interesado en la Garantía contra la corrupción de Do Journaling Filesystems después de una falla de energía.

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, está completamente hecho o no está hecho en absoluto, pero nunca a la mitad). Es un problema bastante complejo.

¿Tienes algo que agregar a la explicación? Suena apagado en los comentarios. ¿Desea leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Mira el hilo de discusión completo aquí.

Rate article
labsfabs.com
Add a comment