Converter um mongod autônomo autogerenciado em um conjunto de réplicas
Uma instância autônoma mongod
é útil para teste e desenvolvimento. Uma instância autônoma não é uma boa opção para uma implantação de produção porque pode ser um ponto único de falha. Um conjunto de réplicas, também conhecido como cluster, fornece redundância e disponibilidade. Sempre use um conjunto de réplicas na produção.
Se você tiver um servidor independente com dados que deseja utilizar na produção, converta o servidor independente em um conjunto de réplica primeiro.
Importante
Se você converter um servidor de desenvolvimento em um conjunto de réplica para uso de produção, consulte a lista de verificação de segurança antes de expor seu cluster à Internet.
Você pode migrar facilmente de um servidor standalone para um cluster MongoDB Atlas . MongoDB Atlas é o serviço totalmente gerenciado para implementações MongoDB na nuvem. Para saber mais, consulte Migrar ou importar dados na documentação do MongoDB Atlas.
Antes de começar
Tipo de cluster
Antes de converter sua instância standalone, considere se um conjunto de réplica ou um aglomerado compartilhado é mais apropriado para sua carga de trabalho.
Um cluster fragmentado é um tipo especial de cluster. Um cluster fragmentado oferece redundância e disponibilidade; ele também distribui dados entre os fragmentos. Os fragmentos geralmente são hospedados em vários servidores e permitem o dimensionamento horizontal.
Autorização
Para usar a autorização com um conjunto de réplicas, você também deve configurar os membros do conjunto de réplicas para usar certificados X.509 ou arquivos-chave para executar a autenticação interna.
Para mais informações, veja:
Procedimento
Desligue a instância independente.
Use mongosh
para se conectar à sua instância mongod
.
mongosh
Alterne para o banco de dados admin
e execute shutdown
.
use admin db.adminCommand( { shutdown: 1, comment: "Convert to cluster" } )
Configurar membros do conjunto de réplicas
Atualize o arquivo de configuração em cada servidor e defina a configuração replSetName
.
replication: replSetName: "rs0"
Configurar autenticação de membro
Configure a autenticação de membros para cada servidor no conjunto de réplicas.
Configure o conjunto de réplicas para usar certificados X.509 para autenticação interna de membro.
Contexto | Opção | Descrição |
---|---|---|
Define o modo TLS a ser usado na autenticação. Para configurar o servidor para exigir autenticação de certificado X.509 , defina essa opção como | ||
Define o caminho para o arquivo | ||
Define o caminho para o arquivo que contém a cadeia de certificados raiz para a Autoridade de Certificação (CA). | ||
Defina o caminho para o arquivo | ||
Defina o modo usado para autenticar membros de cluster. Para usar a autenticação X.509 , defina esta opção como |
Por exemplo:
replication: replSetName: "rs0" security: clusterAuthMode: x509 net: tls: mode: requireTLS certificateKeyFile: /etc/mongodb/client.pem CAFile: /etc/mongodb/ca.pem clusterFile: /etc/mongodb/member.pem
Configure o conjunto de réplicas para usar keyfiles para autenticação interna de membros. Para autenticar, cada membro deve ter uma cópia do mesmo arquivo de chaves.
Contexto | Opção | Descrição |
---|---|---|
Define o caminho para o arquivo-chave do conjunto de réplicas. |
Por exemplo:
replication: replSetName: "rs0" security: keyFile: /etc/mongodb/keyfile
Configura um conjunto de réplicas sem autorização.
Aviso
Você só deve usar essa configuração para conjuntos de réplicas internas que não sejam acessíveis pela rede.
Contexto | Opção | Descrição |
---|---|---|
Define os nomes de host ou endereços IP que o MongoDB escuta para conexões de clientes. Para bloquear o acesso da rede ao servidor, defina esta opção como |
Por exemplo:
replication: replSetName: "rs0" net: bindIp: localhost
Inicie o MongoDB.
Comece mongod
para cada membro.
Inicialize o conjunto de réplicas.
Para inicializar o conjunto de réplica, utilize o mongosh
para reconectar à sua instância do servidor. Em seguida, execute rs.initiate()
.
rs.initiate()
Você só precisa iniciar o conjunto de réplicas uma vez.
Para visualizar a configuração do conjunto de réplica, utilize rs.conf()
.
Para verificar o status do conjunto de réplicas, use rs.status()
.
Adicione nós ao conjunto de réplicas.
O novo conjunto de réplicas tem um único nó primário. A próxima etapa é adicionar novos nós ao conjunto de réplica. Revise a documentação em clusters antes de adicionar nós adicionais:
Quando estiver pronto para adicionar nós, use rs.add()
.