Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Modifica de manera segura un set de réplicas de PSA autogestionado

Al reconfigurar sets de réplicas primaria-secundaria-árbitro (PSA) o cambiar a una arquitectura PSA, debes tener especial cuidado en los siguientes casos:

  • Desea reconfigurar un secundario en un conjunto de réplicas existente de tres miembros con una arquitectura PSA para que se convierta en un nodo con voto y portador de datos con una prioridad distinta de cero.

  • Quiere agregar un nuevo nodo con voto, portador de datos y con una prioridad diferente de cero a un set de réplicas existente de dos nodos que contiene un primario y un árbitro.

Advertencia

Si el secundario que estás agregando está retrasado y el set de réplicas resultante tiene una configuración PSA, el primer cambio de configuración modificará el número de nodos necesarios para confirmar un cambio con "majority". En este caso, el punto de confirmación se retrasará hasta que el secundario haya alcanzado al primario.

Este documento describe el procedimiento para reconfigurar tu set de réplicas en estos casos específicos sin utilizar el método asistente designado rs.reconfigForPSASet().

Si estás realizando una de las operaciones anteriores, es necesario reconfigurar tu set de réplicas en dos pasos:

  1. Reconfigura el set de réplicas para añadir o modificar un secundario con { votes: 1, priority: 0 }.

  2. Una vez que el secundario añadido o modificado esté al día con todos los guardados confirmados, se debe reconfigurar el secundario para que tenga una prioridad distinta de cero { votes: 1, priority: <num> }.

El enfoque en dos pasos evita la posibilidad de revertir guardados confirmados en caso de una conmutación por error al nuevo secundario antes de que el nuevo secundario tenga todos los guardados confirmados del primario anterior.

Para ejecutar el rs.reconfigForPSASet() método, debes conectarte al primario del set de réplicas.

1

Para evitar revertir guardados no confirmados al agregar o cambiar un nodo votante que porta datos, es necesario agregar el nodo con { priority: 0 } primero.

En mongosh, modifica la configuración del set de réplicas. Para reconfigurar un set de réplicas existente, primero recupera la configuración actual con rs.conf(), modifica el documento de configuración según sea necesario y luego pasa el documento modificado a rs.reconfig():

cfg = rs.conf();
cfg["members"] = [
{
// existing member or members
},
{
"_id" : <num>, // The array position of the new member in the
// ``members`` array.
"host" : <host>,
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 0,
"tags" : { <tags> },
"secondaryDelaySecs" : <num>,
"votes" : 1
},
{
// existing member or members
}
]
rs.reconfig(cfg);
2

Una vez que el secundario esté al día, establezca la prioridad en el número deseado. Antes de que esta reconfiguración tenga éxito, el secundario debe replicar todos los guardados que se confirmaron cuando tenía cero votos. Esta opción se marca automáticamente cuando emites el comando rs.reconfig().

cfg = rs.conf();
cfg["members"] = [
{
// existing member or members
},
{
"_id" : <num>, // The array position of the new member in the
// ``members`` array.
"host" : <host>,
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : <num>,
"tags" : { <tags> },
"secondaryDelaySecs" : <num>,
"votes" : 1
},
{
// existing member or members
}
]
rs.reconfig(cfg);

En esta página