Para reconfigurar un conjunto de réplicas cuando la mayoría de los miembros están disponibles, utilice el rs.reconfig() operación en el primario actual, siguiendo el ejemplo en el Procedimiento de reconfiguración del set de réplicas.
Este documento proporciona pasos para volver a configurar un set de réplicas cuando solo una minoría de los miembros son accesibles.
Es posible que debas utilizar el procedimiento, por ejemplo, en un set de réplicas distribuido geográficamente, donde ningún grupo local de nodos pueda alcanzar una mayoría. Consulta Elecciones de sets de réplicas para obtener más información sobre esta situación.
Reconfigurar forzando la reconfiguración
Este procedimiento le permite recuperarse cuando la mayoría de los miembros del conjunto de réplicas están caídos o no se pueden alcanzar. Te conectas con cualquier nodo superviviente y usas la opción force en el método rs.reconfig().
La opción force fuerza una nueva configuración en el nodo. Utilice este procedimiento solamente para recuperarse de interrupciones catastróficas. No utilices force cada vez que recuadras. Además, no utilices la opción force en ningún script automático y no utilices force cuando aún haya un primario.
Advertencia
La reconfiguración forzada puede causar un comportamiento inesperado, como la rollback de "majority" escrituras ya confirmadas.
Para forzar la reconfiguración:
Respaldar a un miembro sobreviviente.
Conéctese a un miembro superviviente y guarde la configuración actual. Considere los siguientes comandos de ejemplo para guardar la configuración:
cfg = rs.conf() printjson(cfg) En el mismo nodo, remueve los nodos inactivos y no disponibles del set de réplicas del arreglo
membersconfigurando el arreglo para que contenga solo los nodos sobrevivientes. Considera el siguiente ejemplo, que usa la variablecfgcreada en el paso anterior:cfg.members = [cfg.members[0] , cfg.members[4] , cfg.members[7]] En el mismo nodo, reconfigura el conjunto usando el comando
rs.reconfig()con la opciónforceestablecida entrue:rs.reconfig(cfg, {force : true}) Esta operación fuerza a la secundaria a usar la nueva configuración. La configuración se propaga luego a todos los miembros que sobreviven listados en el
membersarreglo. Luego, el set de réplicas elige un nuevo primario.Nota
Al usar
force : true, el número de versión en la configuración del conjunto de réplicas aumenta significativamente, en decenas o centenas de miles. Esto es normal y está diseñado para evitar colisiones de versiones del conjunto si, accidentalmente, se fuerzan reconfiguraciones en ambos lados de una partición de red y, posteriormente, la partición de red finaliza.Si el fallo o partición fue sólo temporal, apaga o desactiva los nodos eliminados lo antes posible.