Ejecute un servidor de configuración MongoDB sin 3GB de archivos de diario


9

Para una instalación de MongoDB fragmentada en producción, necesitamos 3 servidores de configuración. Según la documentación, "el proceso mongod del servidor de configuración es bastante ligero y se puede ejecutar en máquinas que realizan otro trabajo". Sin embargo, en la configuración predeterminada, todos tienen habilitado el registro diario y, con la asignación previa, esto ocupa 3 GB de espacio en disco. Supongo que el volumen real de datos y transacciones de un servidor de configuración es bastante pequeño, por lo que esto parece demasiado.

¿Hay alguna forma de ejecutar (de forma segura) estos servidores de configuración con mucho menos uso de disco para el diario? ¿Necesito realizar un diario en todos los servidores de configuración? ¿Puedo configurar el tamaño del diario para que sea más pequeño?

Respuestas:


10

Sí, hay una manera de minimizar el tamaño predeterminado de los archivos de diario, sujeto a un par de advertencias. De la documentación de configuración de MongoDB :

Para reducir el impacto del diario en el uso del disco, puede dejar el diario habilitado y establecer pequeños archivos en verdadero para reducir el tamaño de los archivos de datos y diarios.

Aquí está la smallfilesinformación de configuración:

Establezca en verdadero para modificar MongoDB para usar un tamaño de archivo de datos predeterminado más pequeño. Específicamente, los archivos pequeños reducen el tamaño inicial de los archivos de datos y los limitan a 512 megabytes. La configuración de archivos pequeños también reduce el tamaño de cada archivo de diario de 1 gigabyte a 128 megabytes.

Use la configuración de archivos pequeños si tiene una gran cantidad de bases de datos que contienen una pequeña cantidad de datos. La configuración de archivos pequeños puede hacer que mongod cree muchos archivos, lo que puede afectar el rendimiento de bases de datos más grandes.


0

Algunos miembros, de replicación , pueden usar el diario y otros no. [1]

Puede configurar el tamaño de jounral para que sea más pequeño utilizando la línea de comando "--smallfiles". [2]


¿Y se recomienda algo de esto?
Thilo

MongoDB realiza una asignación previa con archivos de diario para evitar tener que perder el tiempo más tarde. Si le preocupa más el espacio en disco que el rendimiento, es una opción. Recomendaría dejar el diario en todas las máquinas, nunca se sabe cuándo y cómo podría ocurrir un bloqueo. Nunca puedes estar demasiado seguro.
Nican

1
Esa es, por supuesto, una buena guía. Pero las mentes inquisitivas quieren saber si un servidor de configuración tiene un volumen de transacción que necesita 3 GB de diarios, y si hay algún beneficio en tener diarios que no sean un tiempo de inicio más rápido después de un bloqueo (tenga en cuenta que con 3 servidores de configuración, no debería haber cualquier pérdida de datos, incluso sin registro en el diario, ¿verdad?) Y qué tan rápido de todos modos con la pequeña cantidad de datos solo de configuración. Me parece que las reglas aquí deberían ser diferentes para los nodos de réplica y los servidores de configuración. Los documentos dicen que "debería estar bien si puede recuperar uno de ellos en un día", por ejemplo.
Thilo

0

Puede iniciar mongod con la opción --nojournal, pero estaría muy seguro acerca de las copias de seguridad del servidor de configuración.


1
¿Cuánto más seguro debo estar que tener tres servidores de configuración en tres máquinas diferentes? Además, ¿cuál es el procedimiento para hacer copias de seguridad del servidor de configuración? Si no realizo una copia de seguridad después de cada cambio (por ejemplo, si se agregó una colección o un evento de fragmentación), entonces no puedo recuperarme de estas copias de seguridad obsoletas, ¿verdad?
Thilo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.