Atualizar um conjunto de réplicas para 7.0
Nesta página
Use este tutorial para atualizar do MongoDB 6.0 para o MongoDB 7.0. Para atualizar para uma nova versão de patch dentro da mesma série de lançamentos, consulte Atualizar para a versão de patch autogerenciada mais recente do MongoDB.
Familiarize-se com o conteúdo deste documento, incluindo a revisão minuciosa dos pré-requisitos, antes de atualizar com o MongoDB 7.0.
As seguintes etapas esboçam o procedimento para atualizar um mongod
que é um membro do conjunto de réplica da versão 6.0 para 7.0.
Se você precisar de orientação sobre como atualizar para a versão 7.0, os serviços profissionais do MongoDB oferecem suporte de atualização da versão principal para ajudar a garantir uma transição tranquila, sem interrupção para seu aplicativo MongoDB.
Recomendações de upgrade e listas de verificação
Ao atualizar, considere o seguinte:
Atualizar caminho da versão
Para atualizar uma implantação MongoDB existente para 7.0, você deve estar executando uma versão da série 6.0.
Para atualizar de uma versão anterior à série 6.0, é preciso atualizar sucessivamente as principais versões até fazer o upgrade para a série 6.0. Por exemplo, se estiver executando a série 5.0, você deve atualizar para a 6.0 antes de fazer o upgrade para 7.0.
Verifique a compatibilidade do driver
Antes de fazer upgrade do MongoDB, verifique se você está usando um driver compatível com o MongoDB 7.0. Consulte a documentação do driver para seu driver específico para verificar a compatibilidade com o MongoDB 7.0.
As implementações atualizadas que são executadas em drivers incompatíveis podem encontrar comportamentos inesperados ou indefinidos.
Preparação
Antes de iniciar sua atualização, consulte o documento Alterações de compatibilidade no MongoDB 7.0 para garantir que seus aplicativos e sistemas sejam compatíveis com o MongoDB 7.0. Resolva as incompatibilidades em sua implantação antes de iniciar a atualização.
Antes de atualizar o MongoDB, sempre teste seu aplicativo em um ambiente de preparação antes de implantar a atualização em seu ambiente de produção.
Consideração de rebaixamento
A partir do MongoDB 7.0, você não pode fazer downgrade da versão binária do seu lançamento sem assistência do suporte.
Para saber mais, consulte Downgrade 7.0 para 6.0.
Pré-requisitos
Versão de todos os membros
Todos os nós do conjunto de réplicas devem estar executando a versão 6.0. Para atualizar um conjunto de réplicas da série 5.0 e anterior, primeiro atualize todos os nós do conjunto de réplicas para a versão mais recente da série 6.0 e, em seguida, siga o procedimento para atualizar do MongoDB 6.0 para o 7.0.
Versão de compatibilidade de recursos
O 6.0 conjunto de réplicas deve ter featureCompatibilityVersion
definido como "6.0"
.
Para garantir que todos os membros do conjunto de réplicas tenham featureCompatibilityVersion
configurado para "6.0"
, conecte a cada membro do conjunto de réplicas e marque o featureCompatibilityVersion
:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
Todos os membros devem retornar um resultado que inclua "featureCompatibilityVersion" : { "version" : "6.0" }
.
Para definir ou atualizar featureCompatibilityVersion
, execute o seguinte comando no primário. A maioria dos membros portadores de dados deve estar disponível:
db.adminCommand( { setFeatureCompatibilityVersion: "6.0" } )
Para mais informações, consulte setFeatureCompatibilityVersion
.
Estado do membro do conjunto de réplicas
Certifique-se de que nenhum membro do conjunto de réplicas esteja no estado ROLLBACK
ou RECOVERING
, emitindo o comando replSetGetStatus
:
db.adminCommand( { replSetGetStatus: 1 } )
Download 7.0 Binários
Usar um gerenciador de pacotes
Se você instalou o MongoDB a partir dos repositórios MongoDB apt
, yum
, dnf
ou zypper
, deverá atualizar para a versão 7.0 utilizando seu gerenciador de pacotes.
Siga as instruções de instalação do 7.0 apropriado para seu sistema Linux. Isso envolverá a adição de um repositório para a nova versão e, em seguida, a execução do processo de atualização real.
Manualmente
Se você não tiver instalado o MongoDB usando um gerenciador de pacotes, poderá fazer o download manual dos binários do MongoDB no MongoDB Download Center.
Consulte as instruções de instalação da versão 7.0 para obter mais informações.
Procedimento de atualização
É possível atualizar o MongoDB da versão 6.0 para a versão 7.0 com uma atualização "contínua," que permite atualizar um nó de cada vez, mantendo os demais em funcionamento para minimizar o tempo de inatividade.
Atualize os membros secundários do conjunto de réplicas.
Atualize os membros secundários da réplicas para definir um de cada vez:
Substitua o 6.0 binário pelo 7.0 binário.
Reinicie o membro.
Reduza o conjunto de réplicas primário.
Conecte o mongosh
ao primário e use rs.stepDown()
para reduzir o primário e forçar a eleição de um novo primário.
Atualize o primary.
Quando rs.status()
indicar que o primário foi desativado e outro membro tiver assumido o estado PRIMARY
, faça upgrade do primário desativado:
Encerre o primário desativado e substitua o binário
mongod
pelo binário 7.0 .Reinicie o membro.
Habilite recursos 7.0 incompatíveis com versões anteriores.
Neste ponto, você pode executar o 7.0 binários sem os recursos recursos do 7.0 que são incompatíveis com 6.0.
Para habilitar esses recursos da versão 7.0, defina a versão de compatibilidade do recurso (fCV
) como 7.0.
Dica
Habilitar essas recursos funcionalidades com versões anteriores pode complicar o processo de downgrade, pois você deve remover todos as funcionalidades persistentes incompatíveis com versões anteriores antes de fazer o downgrade.
É recomendável que, após a atualização, você permita que seu sistema seja executado sem habilitar essas funcionalidades por um período de burn-in para garantir que a probabilidade de downgrade seja mínima. Quando você estiver confiante de que a probabilidade de downgrade é mínima, habilite essas funcionalidades.
Dica
Certifique-se de que não haja initial sync em andamento. A execução do comando setFeatureCompatibilityVersion
enquanto uma initial sync estiver em andamento fará com que a initial sync seja reiniciada.
No primário, execute o comando setFeatureCompatibilityVersion
no banco de dados admin
:
db.adminCommand( { setFeatureCompatibilityVersion: "7.0", confirm: true } )
Definir featureCompatibilityVersion (fCV) : "7.0" executa implicitamente um replSetReconfig
para adicionar o campo term
ao documento de configuração e bloqueia até que a nova configuração se propague para a maioria dos nós do conjunto de réplicas.
Este comando deve executar gravações em uma collection interna do sistema. Se, por algum motivo, o comando não for concluído com êxito, você poderá tentar novamente o comando no primary com segurança, pois a operação é idempotente.
Procedimentos de atualização adicionais
Para atualizar um standalone, consulte a página Atualizar um standalone para a versão 7.0.
Para atualizar um cluster fragmentado, consulte Atualizar um cluster fragmentado para 7.0.