Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Faça downgrade do conjunto de réplicas 6.0 para 5.0

Nesta página

  • Caminho de downgrade
  • Controle de acesso
  • Pré-requisitos
  • Procedimento de downgrade

Antes de tentar fazer um downgrade, familiarize-se com o conteúdo nesta página.

Importante

Antes de atualizar ou fazer downgrade de um conjunto de réplicas, certifique-se de que todos os membros do conjunto de réplicas estejam em execução. Se você não fizer isso, a atualização ou downgrade não será concluído até que todos os membros sejam iniciados.

Se você precisar fazer o downgrade do 6.0, faça o downgrade para a versão de correção mais recente do 5.0.

O MongoDB suporta apenas downgrades de versão única. Você não pode fazer o downgrade para uma versão que esteja várias versões atrás da versão atual.

Por exemplo, você pode desatualizar um sistema série 6.0 para série 5.0. No entanto, desatualizar ainda mais o sistema série 5.0 para um sistema série 4.4 não é possível.

Se o seu conjunto de réplicas tiver o controle de acesso ativado, os privilégios de usuário de downgrade deverão incluir privilégios para listar e gerenciar índices nos bancos de dados. Um usuário com papel do root tem os privilégios exigidos.

Antes de iniciar o procedimento de downgrade, você deve concluir as etapas de pré-requisito a seguir.

1

Opcional, mas recomendado. Crie uma cópia de segurança do seu banco de dados.

Para saber como criar uma cópia de segurança, consulte Métodos de cópia de segurança para um sistema autogerenciado.

2

Para fazer o downgrade do 6.0 para o 5.0, você deve remover os recursos do 6.0 que são incompatíveis com o 5.0. Para obter uma lista de recursos incompatíveis e como removê-los, consulte Considerações sobre downgrade.

3

Para fazer downgrade do FCV do seu conjunto de réplicas:

  1. Certifique-se de que não haja initial sync em andamento. A execução do comando setFeatureCompatibilityVersion enquanto uma initial sync está em andamento faz com que a initial sync seja reiniciada.

  2. Certifique-se de que nenhum nó tenha um campo newlyAdded na configuração do conjunto de réplicas. Execute o seguinte comando em cada nó do seu conjunto de réplicas para verificar isso:

    use local
    db.system.replset.find( { "members.newlyAdded" : { $exists : true } } );

    O campo newlyAdded só aparece no documento de configuração do conjunto de réplicas de um nó durante e logo após uma sincronização inicial.

  3. Certifique-se de que nenhum membro do conjunto de réplicas esteja no estado ROLLBACK ou RECOVERING .

  4. Use mongosh para se conectar ao seu primário.

  5. Faça o downgrade de featureCompatibilityVersion para "5.0".

    db.adminCommand( { setFeatureCompatibilityVersion: "5.0" } )

    O comando setFeatureCompatibilityVersion executa gravações em uma collection interna do sistema e é idempotente. Se o comando não for concluído com êxito, tente novamente o comando no primary.

  6. Para garantir que todos os membros do conjunto de réplicas tenham o featureCompatibilityVersion atualizado, conecte a cada membro do conjunto de réplicas e verifique o featureCompatibilityVersion:

    db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

    Todos os membros devem retornar um resultado que inclua:

    "featureCompatibilityVersion" : { "version" : "5.0" }

    Se algum membro retornar uma featureCompatibilityVersion de "6.0", aguarde até que o membro retorne a versão "5.0" antes de continuar.

Para obter mais informações sobre o valor featureCompatibilityVersion retornado, consulte Obter FeatureCompatibilityVersion.

Aviso

Antes de prosseguir com o procedimento de downgrade, certifique-se de que todos os membros do conjunto de réplicas, incluindo os membros do conjunto de réplicas atrasadas, tenham as alterações de pré-requisito. Para fazer isso, verifique o featureCompatibilityVersion e remova as feições incompatíveis para cada nó antes de fazer o downgrade.

1

Utilizando um gerenciador de pacotes ou um download manual, obtenha a versão mais recente na série 5.0. Se estiver usando um gerenciador de pacotes, adicione um novo repositório para os binários 5.0 e execute o processo de downgrade real.

Importante

Antes de atualizar ou fazer downgrade de um conjunto de réplicas, certifique-se de que todos os membros do conjunto de réplicas estejam em execução. Se você não fizer isso, a atualização ou downgrade não será concluído até que todos os membros sejam iniciados.

Se você precisar fazer o downgrade do 6.0, faça o downgrade para a versão de correção mais recente do 5.0.

2

Certifique-se de que os binários do 5.0 estão em seu PATH do sistema. Para confirmar sua versão binária, execute o seguinte comando:

mongod --version

A saída do comando deve indicar uma versão da série 5.0.

3

Faça o downgrade de cada membro secundário do conjunto de réplicas, um de cada vez:

  1. Desligue o membro.

    Para encerrar o processo mongod , use mongosh para se conectar ao secundário e execute o seguinte comando:

    db.adminCommand( { shutdown: 1 } )
  2. Reinicie o membro.

    Para iniciar um processo do mongod, execute o seguinte comando:

    mongod --dbpath </path-to-data-folder>

    Para saber mais sobre como iniciar um processo do mongod, veja Iniciar processos do mongod.

  3. Aguarde o membro entrar no estado SECONDARY .

    Antes de fazer o downgrade do próximo secundário, aguarde até que o membro se recupere para o estado SECONDARY . Para verificar o estado do membro, use o método rs.status() em mongosh.

  4. Depois que o membro estiver no estágio SECONDARY , faça downgrade do próximo secundário.

4

Pule esta etapa se o conjunto de réplicas não incluir um árbitro.

Faça downgrade do membro árbitro do conjunto de réplicas:

  1. Desligue o membro.

    Para desligar o arbiter, utilize mongosh para conectar ao arbiter e execute o seguinte comando:

    db.adminCommand( { shutdown: 1 } )
  2. Exclua o conteúdo da linguagem de definição de dados (DDL) do árbitro.

    Para encontrar a linguagem de definição de dados (DDL) do árbitro mongod, verifique a configuração do storage.dbPath ou a opção de linha de comando --dbpath .

    Execute o seguinte comando:

    rm -rf /path/to/mongodb/datafiles/*
  3. Reinicie o árbitro.

    Para iniciar um processo do mongod, execute o seguinte comando:

    mongod --dbpath </path-to-mongodb-datafiles>

    Para saber mais sobre como iniciar um processo do mongod, veja Iniciar processos do mongod.

  4. Aguarde o membro entrar no estado ARBITER .

    Antes de fazer o downgrade do primary, aguarde até que o nó se recupere para o estado ARBITER . Para verificar o estado do membro, use o método rs.status() em mongosh.

5
  1. Rebaixe o primário.

    Em mongosh, use rs.stepDown() para reduzir o primário e forçar o procedimento de failover normal.

    rs.stepDown()
  2. Verifique se o primário foi desativado.

    Execute o seguinte comando:

    rs.status()

    Verifique se o primário foi desativado e se outro membro assume o estado PRIMARY .

  3. Substitua e reinicie o antigo mongod primário.

    1. Desligue o membro.

      Para executar um desligamento do primário, use o mongosh para se conectar ao primário e executar o seguinte comando:

      db.adminCommand( { shutdown: 1 } )
    2. Reinicie o mongod com o binário 5.0 .

      Para iniciar um processo do mongod, execute o seguinte comando:

      mongod --dbpath </path-to-mongodb-datafiles>

      Para saber mais sobre como iniciar um processo do mongod, veja Iniciar processos do mongod.

Voltar

Autônomo