Docs Menu
Docs Home
/ /
Mantener
/ / /

Realizar mantenimiento en los miembros del conjunto de réplicas autogestionadas

Los conjuntos de réplicas permiten que una implementación de MongoDB permanezca disponible durante la mayor parte de una ventana de mantenimiento.

Este documento describe el procedimiento básico para realizar el mantenimiento de cada uno de los miembros de un conjunto de réplicas. Además, esta secuencia busca minimizar el tiempo de indisponibilidad del servidor principal y controlar el impacto en toda la implementación.

Utilice estos pasos como base para operaciones de conjuntos de réplicas comunes, particularmente para procedimientos como la actualización a la última versión de MongoDB.

Para cada miembro de un conjunto de réplicas, comenzando con un miembro secundario, realice la siguiente secuencia de eventos, terminando con el principal:

1

mongoshEn, apague la mongod instancia:

db.shutdownServer()
2

En el indicador de shell del sistema operativo, reinicie mongod como una instancia independiente.

Si está utilizando un archivo de configuración, realice las siguientes actualizaciones de configuración:

Por ejemplo, si se realiza mantenimiento en un miembro del conjunto de réplicas del servidor de configuración/fragmento para mantenimiento, el archivo de configuración actualizado incluirá contenido como el del siguiente ejemplo:

net:
bindIp: localhost,<hostname(s)|ip address(es)>
port: 27218
# port: 27018
#replication:
# replSetName: shardA
#sharding:
# clusterRole: shardsvr
setParameter:
skipShardingConfigurationChecks: true
disableLogicalSessionCacheRefresh: true

Si utiliza opciones de línea de comandos, realice las siguientes actualizaciones de configuración para reiniciar:

Por ejemplo, para reiniciar un miembro del conjunto de réplicas que no es parte de un clúster fragmentado:

mongod --port 27218 --dbpath /srv/mongodb --bind_ip localhost,<hostname(s)|ip address(es)> --setParameter disableLogicalSessionCacheRefresh=true

Por ejemplo, para reiniciar un miembro del conjunto de réplicas del servidor de configuración/fragmento para mantenimiento:

mongod --port 27218 --dbpath /srv/mongodb --bind_ip localhost,<hostname(s)|ip address(es)> --setParameter skipShardingConfigurationChecks=true --setParameter disableLogicalSessionCacheRefresh=true

Advertencia

Antes de vincular una dirección IP que no sea local (por ejemplo, de acceso público), asegúrese de proteger su clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, consulte la Lista de verificación de seguridad para implementaciones autogestionadas. Como mínimo, considere habilitar la autenticación y reforzar la infraestructura de red.

Inicie siempre con el mismo usuario, incluso al reiniciar un miembro del conjunto de réplicas como una instancia mongod independiente.

3

Mientras el miembro sea independiente, utilice para realizar mongosh mantenimiento:

mongo --port 27218

Importante

Mientras el miembro sea independiente, no se replican escrituras en este miembro ni tampoco se replican escrituras en este miembro en los demás miembros del conjunto de réplicas.

Asegúrese de que cualquier escritura en este autónomo no entre en conflicto con las escrituras oplog que se aplicarán al nodo cuando vuelva a unirse al set de réplicas.

4

Después de realizar todas las tareas de mantenimiento, utilice el siguiente procedimiento para reiniciar como miembro del conjunto de réplicas en su puerto mongod habitual.

mongoshDesde, apague el servidor independiente después de completar el mantenimiento:

use admin
db.shutdownServer()

Reinicie la instancia mongod como miembro de set de réplicas con su configuración original; es decir, deshaga los cambios realizados durante el inicio como autónomo.

Tip

Asegúrese de eliminar el parámetro disableLogicalSessionCacheRefresh.

Para los miembros del servidor de configuración o fragmento, asegúrese de eliminar el skipShardingConfigurationChecks parámetro.

Una vez iniciado, conecte a la instancia mongosh reiniciada.

El secundario tarda en alcanzar al principal. Desde, use el siguiente comando para mongosh RECOVERING SECONDARY verificar que el miembro haya alcanzado el estado al.

rs.status()
5
  1. Para realizar el mantenimiento del principal después de completar las tareas de mantenimiento en todos los secundarios, conectemongoshal principal y users.stepDown()para reducir el nivel del principal y permitir que uno de los secundarios sea elegido como nuevo principal. Especifique un periodo de espera de 300 segundos para evitar que el miembro vuelva a ser elegido principal durante cinco minutos.

    rs.stepDown(300)

    Una vez finalizados los pasos primarios, el conjunto de réplicas elegirá un nuevo primario.

  2. Reinicie como una instancia independiente y realice las siguientes actualizaciones de mongod configuración.

Si está utilizando un archivo de configuración, realice las siguientes actualizaciones de configuración:

Por ejemplo, si se realiza mantenimiento en un miembro del conjunto de réplicas del servidor de configuración/fragmento para mantenimiento, el archivo de configuración actualizado incluirá contenido como el del siguiente ejemplo:

net:
bindIp: localhost,<hostname(s)|ip address(es)>
port: 27218
# port: 27018
#replication:
# replSetName: shardA
#sharding:
# clusterRole: shardsvr
setParameter:
skipShardingConfigurationChecks: true
disableLogicalSessionCacheRefresh: true

Advertencia

Antes de vincular una dirección IP que no sea local (por ejemplo, de acceso público), asegúrese de proteger su clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, consulte la Lista de verificación de seguridad para implementaciones autogestionadas. Como mínimo, considere habilitar la autenticación y reforzar la infraestructura de red.

Si utiliza opciones de línea de comandos, realice las siguientes actualizaciones de configuración:

Por ejemplo, para reiniciar un miembro del conjunto de réplicas que no es parte de un clúster fragmentado:

mongod --port 27218 --dbpath /srv/mongodb --bind_ip localhost,<hostname(s)|ip address(es)> --setParameter disableLogicalSessionCacheRefresh=true

Por ejemplo, para reiniciar un miembro del conjunto de réplicas del servidor de configuración/fragmento para mantenimiento:

mongod --port 27218 --dbpath /srv/mongodb --bind_ip localhost,<hostname(s)|ip address(es)> --setParameter skipShardingConfigurationChecks=true --setParameter disableLogicalSessionCacheRefresh=true

Advertencia

Antes de vincular una dirección IP que no sea local (por ejemplo, de acceso público), asegúrese de proteger su clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, consulte la Lista de verificación de seguridad para implementaciones autogestionadas. Como mínimo, considere habilitar la autenticación y reforzar la infraestructura de red.

  1. Realizar tareas de mantenimiento en el ahora independiente.

    Importante

    Mientras el miembro sea independiente, no se replican escrituras en este miembro ni tampoco se replican escrituras en este miembro en los demás miembros del conjunto de réplicas.

    Asegúrese de que cualquier escritura en este autónomo no entre en conflicto con las escrituras oplog que se aplicarán al nodo cuando vuelva a unirse al set de réplicas.

  2. Después de realizar todas las tareas de mantenimiento, reinicie la mongod instancia como un miembro del conjunto de réplicas con su configuración original; es decir, deshaga los cambios de configuración realizados al iniciar como independiente.

    Tip

    Asegúrese de eliminar el parámetro disableLogicalSessionCacheRefresh.

    Para los miembros del servidor de configuración o fragmento, asegúrese de eliminar el skipShardingConfigurationChecks parámetro.

Volver

Cambiar el tamaño del registro de operaciones

En esta página