Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
Realizar Manutenção em Membros do Conjunto de Réplica
Nesta página
Visão geral
Os conjuntos de réplicas permitem que um sistema do MongoDB permaneça disponível durante a maior parte de uma janela de manutenção.
Este documento descreve o procedimento básico para realizar a manutenção de cada um dos membros de um conjunto de réplicas. Além disso, essa sequência específica se esforça para minimizar o tempo em que o primário fica indisponível e controlar o impacto em todo o sistema.
Use essas etapas como base para operações comuns de conjunto de réplicas, especialmente para procedimentos como a atualização para a versão mais recente do MongoDB.
Procedimento
Para cada membro de um conjunto de réplicas, começando com um membro secundário, execute a seguinte sequência de eventos, terminando com o principal:
Reinicie a instância do
mongod
como uma independente.Execute a tarefa na instância independente.
Reinicie a instância do
mongod
como um membro do conjunto de réplica.
Reinicie o secundário como autônomo em uma porta diferente.
No prompt do shell do sistema operacional, reinicie omongod
como uma instância autônoma.
Aviso
Antes de vincular sua instância a um endereço IP acessível publicamente, você deve proteger seu cluster contra acessos não autorizados. Para obter uma lista completa das recomendações de segurança, consulte Lista de verificação de segurança. No mínimo, considere habilitar a autenticação e fortalecer a infraestrutura de rede.
Sempre inicie o mongod
com o mesmo usuário, mesmo ao reiniciar um nó do conjunto de réplicas como uma instância standalone.
Realizar operações de manutenção no secundário.
Enquanto o nó for standalone, utilize o mongosh
para fazer a manutenção:
mongo --port 27218
Importante
Embora o nó seja standalone, nenhuma gravação é replicada para esse nó e as gravações para o nó não são replicadas para os outros nós do conjunto de réplicas.
Certifique-se de que todas as gravações nesse autônomo não entrem em conflito com as gravações de oplog que serão aplicadas ao membro quando ele ingressar novamente no conjunto de réplicas.
Reinicie mongod
como um nó do conjunto de réplicas.
Depois de executar todas as tarefas de manutenção, use o seguinte procedimento para reiniciar o mongod
como um nó do conjunto de réplicas em sua porta existente.
A partir do mongosh
, desligue o servidor independente após completar a manutenção:
use admin db.shutdownServer()
Reinicie a instância do mongod
como um membro do conjunto de réplicas com sua configuração original; isto é, desfaça as alterações de configuração feitas ao iniciar como um independente.
Dica
Certifique-se de remover o parâmetro disableLogicalSessionCacheRefresh
.
Para shard ou configurar membros do servidor, certifique-se de remover o parâmetro skipShardingConfigurationChecks
.
Quando tiver iniciado, conecte mongosh
à instância reiniciada.
O secundário leva tempo para alcançar o primário. A partir de mongosh
, use o seguinte comando para verificar se o membro passou do estado RECOVERING
para o estado SECONDARY
.
rs.status()
Execute a manutenção no último primário.
Para realizar a manutenção no primário depois de concluir as tarefas de manutenção em todos os secundários, conecte
mongosh
ao primário e users.stepDown()
para diminuir o primário e permitir que um dos secundários seja eleito o novo primário. Especifique um 300 segundo período de espera para evitar que o membro seja eleito principal novamente por cinco minutos:rs.stepDown(300) Após as etapas primárias, o conjunto de réplicas selecionará uma nova primária.
Reinicie o
mongod
como uma instância independente, fazendo as seguintes atualizações de configuração.
Execute a tarefa de manutenção no agora autônomo.
Importante
Embora o nó seja standalone, nenhuma gravação é replicada para esse nó e as gravações para o nó não são replicadas para os outros nós do conjunto de réplicas.
Certifique-se de que todas as gravações nesse autônomo não entrem em conflito com as gravações de oplog que serão aplicadas ao membro quando ele ingressar novamente no conjunto de réplicas.
Após executar todas as tarefas de manutenção, reinicie a instância do
mongod
como um membro do conjunto de réplicas com sua configuração original; isto é, desfaça as alterações de configuração feitas ao iniciar como um independente.Dica
Certifique-se de remover o parâmetro
disableLogicalSessionCacheRefresh
.Para shard ou configurar membros do servidor, certifique-se de remover o parâmetro
skipShardingConfigurationChecks
.