Desactivar atime en un sistema de archivos

27

Estoy configurando un conjunto de réplicas mongoDB y una de las primeras cosas que se supone que debo hacer es apagar un tiempo en el sistema de archivos. Después de investigar esto un poco, no me opongo a hacer esto, pero tengo que preguntar, ¿qué usos tiene atime? He buscado en las páginas web y he encontrado muy poco en el sentido de "esta aplicación o este proceso utiliza un tiempo y sería estúpido si lo desactivara", tipos de advertencias, pero debo ser una persona paranoica por naturaleza.

Entonces, ¿qué usa atime y si lo apago, qué podría romperse?

QWade
fuente

Respuestas:

25

mutt, un cliente de correo electrónico, utiliza los tiempos de acceso a los archivos para controlar el correo nuevo que llega a un buzón con formato mbox. Aparentemente, este problema no es grave y es fácil de solucionar .

Aparte de eso, es difícil encontrar ejemplos de cosas que rompan noatime. Ejecuto varios servidores Linux con noatimeen todos los sistemas de archivos, y no recuerdo haber visto ningún problema atribuible noatime.

Si le preocupa el uso noatimeen general, podría dedicar un sistema de archivos separado para sus cosas de mongoDB y montar solo ese sistema de archivos con noatime.

EDITAR

Encontré un blog interesante en kerneltrap.org que cita algunas discusiones entre desarrolladores de Linux (Linus Torvalds, Ingo Molnar, Alan Cox y otros) sobre el tema atime. En el segundo correo electrónico de Ingo, dice esto:

... no tengo ninguna queja real sobre ext3, con la calificación obligatoria de que "noatime, nodiratime" en / etc / fstab es imprescindible. Esto acelera las cosas de manera muy visible, especialmente cuando se accede a muchos archivos. Es un poco extraño que cada escritorio y servidor Linux se vea afectado por una notable desaceleración del rendimiento de E / S debido a las constantes actualizaciones de atime, mientras que solo hay dos usuarios reales: tmpwatch [que se puede configurar para usar ctime, por lo que no es un gran problema] y algunas herramientas de respaldo. (Ok, y notifique por correo también, supongo). De decenas de miles de aplicaciones. Entonces, para la mayoría de las cargas de trabajo de archivos, le damos a Windows una ventaja de rendimiento del 20% al 30%, por casi nada.

Steven Monday
fuente
10

Las herramientas que sondean el uso de archivos, como los limpiadores de archivos temporales, lo usan. Puede evitar esto en algunos sistemas de archivos y sistemas operativos utilizando en su relatimelugar, que solo actualiza el tiempo después de que haya pasado una cierta duración desde la última actualización.

Ignacio Vazquez-Abrams
fuente
8

También puede crear un punto de montaje separado para su conjunto de réplicas mongoDB. Luego puede establecer el parámetro de noatime en ese punto de montaje solo sin afectar a ningún otro programa.

Francois Wolmarans
fuente
4

Como seguimiento aquí, relatimese hizo el valor predeterminado en el núcleo en 2.6.30 que se lanzó alrededor del marco de tiempo de marzo de 2009. Eso significa que las ganancias que ve en la configuración de noatime serán menores en cualquier núcleo moderno.

Todavía es una recomendación porque todavía hay una ganancia de rendimiento para MongoDB, pero mientras esté en una versión del kernel razonablemente actual, no es tan esencial como lo era antes.

Además, además del software mencionado aquí, también he visto un tiempo utilizado por las herramientas de respaldo.

Adam C
fuente
1

Solo me gustaría enfatizar un punto @Steven Monday: use un sistema de archivos separado.

Para una base de datos, esta siempre es una buena opción y le brinda mucha más flexibilidad para ajustar el rendimiento de la base de datos con el menor inconveniente de un punto de montaje adicional para administrar. Por lo general, también le dará más opciones para tomar instantáneas de la base de datos para realizar copias de seguridad (aún más útil en casos en los que puede tomar una instantánea y hacer una copia de seguridad de la réplica en lugar del maestro)

DisabledLeopard
fuente