Los servidores de configuración almacenan los metadatos de un clúster particionado. Los metadatos reflejan el estado y la organización de todos los datos y componentes dentro del clúster dividido. Los metadatos incluyen la lista de fragmentos en cada partición y los rangos que definen los fragmentos.
La Las instancias mongos almacenan en caché estos datos y los utilizan para dirigir las operaciones de lectura y escritura a las particiones correctas. mongos actualiza la caché cuando hay cambios de metadatos para el clúster, como cuando se agrega una partición. Las particiones también leen los metadatos de los fragmentos de los servidores de configuración.
Los servidores de configuración también almacenan información de configuración de autenticación en implementaciones autoadministradas, como control de acceso basado en roles o configuraciones de autenticación interna para el clúster.
MongoDB también utiliza los servidores de configuración para gestionar bloqueos distribuidos.
Cada clúster fragmentado debe tener sus propios servidores de configuración. No utilices los mismos servidores de configuración para diferentes clústeres.
Advertencia
Las operaciones administrativas realizadas en los servidores de configuración pueden tener un impacto significativo en el rendimiento y la disponibilidad del clúster fragmentado. Según la cantidad de servidores de configuración afectados, el clúster puede estar en modo de solo lectura o sin conexión durante un tiempo.
Servidores de configuración del conjunto de réplicas
Cambiado en la versión 3.4.
Los servidores de configuración para clústeres sharded pueden implementarse como un set de réplicas (CSRS). Utilizar un set de réplicas para los servidores de configuración mejora la coherencia entre los servidores de configuración, ya que MongoDB puede aprovechar los protocolos estándar de lectura y escritura de sets de réplicas para los datos de configuración. Además, el uso de un set de réplicas para los servidores de configuración permite que un cluster shard tenga más de 3 servidores de configuración, ya que un set de réplicas puede tener hasta 50 miembros. Para implementar servidores de configuración como un set de réplicas, los servidores de configuración deben ejecutar el Motor de almacenamiento WiredTiger.
Las siguientes restricciones se aplican a una configuración de conjunto de réplicas cuando se utiliza para servidores de configuración:
Debe tener cero árbitros.
No debe tener miembros retrasados.
Deben crear índices (i.e. ningún nodo debería tener el ajuste
members[n].buildIndexesajustado en falso).
Operaciones de Lectura y Escritura en los Servidores de Configuración
La base de datos admin y la base de datos de configuración existen en los servidores de configuración.
Guardar en los servidores de configuración
La base de datos admin contiene las colecciones relacionadas con la autenticación y la autorización, así como las otras colecciones del sistema.* para uso interno.
La base de datos de configuración contiene las colecciones que contienen los metadatos del clúster compartido. MongoDB escribe datos en la base de datos de configuración cuando cambia los metadatos, como después de una migración de fragmento o una división de fragmento.
Los usuarios deben evitar escribir directamente en la base de datos de configuración durante el funcionamiento o mantenimiento normal.
Al escribir en los servidores de configuración, MongoDB utiliza una preocupación de escritura "majority"de.
Lecturas desde servidores de configuración
MongoDB lee de la base de datos admin para datos de autenticación y autorización y otros usos internos.
MongoDB lee de la base de datos config cuando se inicia un mongos o después de un cambio en los metadatos, como después de la migración de un fragmento. Las particiones también leen los metadatos de los fragmentos de los servidores de configuración.
Al leer desde los servidores de configuración del conjunto de réplicas, MongoDB utiliza un nivel de preocupación de "majority" lectura de.
Disponibilidad del servidor de configuración
Si el conjunto de réplicas del servidor de configuración pierde su servidor principal y no puede elegir uno, los metadatos del clúster pasan a ser de solo lectura. Aún se pueden leer y escribir datos desde los fragmentos, pero no se realizarán migraciones ni divisiones de fragmentos hasta que el conjunto de réplicas pueda elegir uno principal.
En un clúster fragmentado, mongod las mongos instancias y monitorean los conjuntos de réplicas en el clúster fragmentado (por ejemplo, conjuntos de réplicas de fragmentos, conjunto de réplicas del servidor de configuración).
Si todos los servidores de configuración dejan de estar disponibles, el clúster puede quedar inoperativo. Para garantizar que los servidores de configuración permanezcan disponibles e intactos, es fundamental realizar copias de seguridad de los mismos. Los datos del servidor de configuración son pequeños en comparación con los datos almacenados en un clúster, y su carga de actividad es relativamente baja.
Ver Un miembro del set de réplicas del servidor de configuración se volvió no disponible para más información.
Metadatos de clúster fragmentados
Los servidores de configuración almacenan metadatos en la base de datos de configuración.
Importante
Realice siempre una copia de seguridad de la base de datos config antes de realizar cualquier tarea de mantenimiento en el servidor de configuración.
Para acceder a la base de datos config, emita el siguiente comando en
mongosh:
use config
En general, nunca debe editar directamente el contenido de la base de datos config. La base de datos config contiene las siguientes colecciones:
Para obtener más información sobre estas colecciones y su rol en clústeres particionados, consulta Base de datos de configuración. Consulta Operaciones de lectura y escritura en los servidores de configuración para obtener más información sobre las lecturas y actualizaciones de los metadatos.
Seguridad en el clúster particionado
Utiliza Autenticación interna/membresía autogestionada para aplicar la seguridad entre clústeres y evitar que componentes de clúster no autorizados accedan al clúster. Debes iniciar cada mongod en el clúster con la configuración de seguridad adecuada para aplicar la autenticación interna.
A partir de MongoDB 5.3, SCRAM-SHA-1 no se puede usar para la autenticación intraclúster. Solo se admite SCRAM-SHA-256.
En versiones anteriores de MongoDB, se pueden usar tanto SCRAM-SHA-1 como SCRAM-SHA-256 para la autenticación intra-clúster, incluso si SCRAM no está explícitamente habilitado.
Consulta Implementar clúster fragmentado autogestionado con autenticación de clave para aprender cómo implementar un clúster fragmentado seguro.