El manual para la opción de montaje 'barrera' es:
barrera = 0 / barrera = 1
Esto deshabilita / habilita el uso de barreras de escritura en el código jbd. Barrera = 0 deshabilita, barrera = 1 habilita (predeterminado). Esto también requiere una pila de E / S que pueda soportar barreras, y si jbd obtiene un error en una escritura de barrera, deshabilitará las barreras nuevamente con una advertencia. Las barreras de escritura imponen el orden adecuado en disco de las confirmaciones de diario, lo que hace que el uso de cachés de escritura de disco volátil sea seguro, con alguna penalización de rendimiento. Si sus discos están respaldados por batería de una forma u otra, deshabilitar las barreras puede mejorar el rendimiento de manera segura.
Pero no sé qué significa la frase " ordenación adecuada en disco de confirmaciones de diario ".
Supongamos el orden normal: diario 1, datos 1; diario 2, datos 2.
¿Cuál de los siguientes resultados de pedido sucederá si configuro barrier=0
?
- revista 2, datos 2; revista 1, datos 1;
- datos 1, diario 1; datos 2, diario 2.
barrier=1
, y corre lo suficientemente rápido para mí. A menos que estés haciendo cosas realmente pesadas, lo dejaría puesto. Tiene memorias intermedias de memoria RAM, por lo que las cosas se escribirán cuando sea posible, sin ralentizar las aplicaciones. Y muy poco retraso en la escritura en el disco. Si desea ver cuánto aceleran las memorias intermedias de ram, agregue sync = 1 a su directorio de inicio e intente usar su sistema durante un día o dos.Respuestas:
La mayoría de los sistemas de archivos modernos son sistemas de archivos de registro en diario, lo que significa que realizan un seguimiento de los cambios que aún no se han escrito en el disco en una estructura de datos interna llamada diario. En el caso de un bloqueo, este diario se reproducirá para asegurarse de que todas las escrituras se realizaron con éxito, evitando la corrupción de archivos.
Al escribir realmente los datos en el disco, la caché de escritura reordenará las escrituras para intentar maximizar el rendimiento, pero debe asegurarse de que los datos del archivo real se escriban en el disco antes de los metadatos, para asegurarse de que si se produce un bloqueo ocurre que los metadatos no estarán desactualizados con los datos.
El problema es que muchos discos tienen cachés propios que también pueden reordenar las escrituras. Algunos sistemas de archivos supondrán que eso sucederá y forzarán al disco a vaciar el caché en ciertos puntos para evitar esto, y se llama,
write barriers
por ejemplo, en ext4 y Linux en general.Sin embargo, para los discos modernos, el sacrificio de rendimiento por hacer esto es insignificante, y no debe deshabilitar las barreras de escritura a menos que sea absolutamente necesario.
fuente
De este artículo de LWN :
fuente