Tengo una configuración incrustada usando un initramfs para el sistema de archivos raíz pero usando una partición ext3 personalizada montada en un disco compacto flash IDE. Debido a que la integridad de los datos ante la pérdida de energía es el factor más importante en toda la configuración, he utilizado las siguientes opciones para montar (a continuación se muestra la entrada de mi /etc/fstab
archivo
<file system> <mount pt> <type> <options> <dump><pass>
/dev/sda2 /data ext3 auto,exec,relatime,sync,barrier=1 0 2
Descubrí estas opciones leyendo en internet. Lo que me preocupa es que el contenido de /proc/mounts
dar lo siguiente:
/dev/sda2 /data ext3 rw,sync,relatime,errors=continue,user_xattr,acl,
barrier=1,data=writeback 0 0
Por lo que entiendo al leer, es que quiero usar la data=journal
opción para mi montaje, ya que ofrece la mejor protección contra la corrupción de datos. Sin embargo, desde la página de manual para opciones específicas de ext3 mount
, dice lo siguiente sobre la opción de reescritura:
El orden de los datos no se conserva: los datos pueden escribirse en el sistema de archivos principal después de que sus metadatos se hayan confirmado en el diario.
Se rumorea que es la opción de mayor rendimiento. Garantiza la integridad interna del sistema de archivos , sin embargo, puede permitir que aparezcan datos antiguos en los archivos después de un bloqueo y recuperación del diario.
Estoy muy confundido acerca de esto: la página del manual parece sugerir que, para la integridad del sistema de archivos, quiero especificar la data=writeback
opción, mount
pero la mayoría de las otras referencias que he encontrado (incluidos algunos libros publicados en Linux incrustado) sugieren que debería estar usando data=journal
. ¿Cuál sería el mejor enfoque para mí? La velocidad de escritura no es un problema en absoluto; sin embargo, la integridad de los datos sí lo es.
fuente
data=ordered
: pRespuestas:
No se deje engañar por el hecho de que solo
writeback
mencionainternal filesystem integrity
.Con
ext3
, si se utilizajournal
,ordered
owriteback
, los metadatos del sistema de archivos es siempre articulado y que significa la integridad del sistema de archivos interno.Los modos de datos ofrecen una forma de control sobre cómo se escriben los datos ordinarios en el sistema de archivos.
En el
writeback
modo, los cambios de metadatos se registran primero en el diario y se escribe un bloque de confirmación. Una vez que se ha actualizado el diario, pueden continuar los metadatos y las escrituras de datos.data=writeback
puede ser un riesgo de seguridad grave: si el sistema se bloquea al agregar un archivo, después de que se hayan confirmado los metadatos (y se hayan asignado bloques de datos adicionales), pero antes de que los datos se hayan escrito (los bloques de datos se sobrescriban con nuevos datos), luego después del diario recuperar ese archivo puede contener bloques llenos de datos de archivos eliminados previamente, de cualquier usuario 1 .Entonces, si la integridad de los datos es su principal preocupación y la velocidad no es importante,
data=journal
es el camino a seguir.fuente
Como ya ha notado, el punto principal es que no puede evitar que su sistema de archivos se bloquee.
Lo que puedes hacer:
Al final, las opciones de montaje paranoico pueden verse así:
Y también puede garantizar la integridad de los datos con un fsck automático en cada arranque.
fuente
Intente cambiar la parte de la página de manual que identifica:
Como don_crissti señaló, los otros modos no tienen el "sin embargo".
fuente