Criando um segundo (clone) MongoDB ReplicaSet nos mesmos volumes de armazenamento

2

Estamos atualizando nosso software, o que exigirá uma atualização em nosso banco de dados MongoDB. Nós planejamos fazer isso fazendo uma cópia do ReplicaSet existente com um novo nome e fazendo as atualizações para o novo e, em seguida, trocando quando tudo estiver pronto. Ambos os ReplicaSet estarão nos mesmos servidores.

Eu já criei o novo banco de dados autônomo com seu novo nome (fiz mongodumop do Primário e depois o restaurei como um autônomo sob seu novo nome no mesmo volume que o Primário). O que quero fazer agora é alterar esse novo banco de dados de um modo autônomo para um ReplicaSet sem afetar o Production ReplicaSet original

Eu encontrei - Converter um standalone para um conjunto de réplicas link

Mas este exemplo apenas mostra um único ReplicaSet e eu só quero ter certeza de que o procedimento ainda funcionaria com dois bancos de dados nos mesmos servidores. O nome do ReplicaSet a ser convertido de um standalone é uma das opções de inicialização do mongo (--replSet) neste exemplo. Essa opção precisaria dos nomes original e novo do ReplicaSrt ou apenas do novo a ser convertido de Standalone

?     
por Paul Hardwick 13.11.2014 / 19:28

2 respostas

0

Para converter o autônomo em um segundo conjunto de réplicas, sem afetar o conjunto de réplicas original, você deve seguir as instruções para a configuração normal do conjunto de réplicas, levando em consideração o seguinte:

  1. Use um nome de replSet diferente para o novo conjunto
  2. Use um dbpath diferente para todos os novos membros do conjunto
  3. Use um caminho de log diferente para todos os novos membros do conjunto
  4. Configure os novos membros com portas diferentes

Se as informações acima forem contabilizadas, seus dois conjuntos serão distintos e não haverá tentativas entre os dois de se comunicarem entre si. Por favor, execute suas operações com rs.add () cuidadosamente, especificando as portas do novo membro em vez do antigo.

    
por 14.11.2014 / 21:13
0

Esta é uma maneira muito estranha de atualizar um conjunto de réplicas. O método usual é chamado de "rolling update" e funciona assim:

  1. Encerre um secundário
  2. Atualize os pacotes do MongoDB
  3. Siga as instruções para iniciar pela primeira vez, se houver alguma
  4. Repita as etapas 1 a 4 para todos os secundários restantes
  5. Conecte-se ao principal
  6. Deixe a redução usando rs.stepDown(3600)
  7. Repita as etapas 1 a 4

Atualização feita, com tempo de inatividade mínimo (na verdade, apenas cerca de 2 segundos para a eleição depois que a primária foi desativada), sem copiar daqui para lá.

    
por 19.11.2014 / 01:01