Use mongodump e mongorestore para executar uma migração completa offline de um banco de dados MongoDB autogerenciado para uma instância de sharded cluster do ApsaraDB for MongoDB. Essa abordagem exige a interrupção de gravações durante a migração e é indicada para ambientes em que uma breve indisponibilidade é aceitável.
Para migrações que exigem gravações contínuas e zero tempo de inatividade, use o Data Transmission Service (DTS). Consulte Migrar dados de um banco de dados MongoDB autogerenciado com arquitetura de sharded cluster para o ApsaraDB for MongoDB usando DTS .
Pré-requisitos
Antes de começar, verifique se você possui:
mongodump e mongorestore instalados na mesma versão dos seus bancos de dados MongoDB autogerenciados. Consulte Install MongoDB para instruções de instalação.
Uma instância de sharded cluster de destino com capacidade de armazenamento superior ao tamanho dos dados dos seus bancos de dados autogerenciados. Se a capacidade for insuficiente, faça upgrade da instância antes de prosseguir.
mongodump e mongorestore podem ser executados no mesmo servidor dos seus bancos de dados autogerenciados ou em um servidor separado.
Restrições da migração
Esta é uma migração completa dos dados. Interrompa todas as gravações nos bancos de dados autogerenciados antes de migrar para garantir a consistência dos dados.
Se a pasta
dumpjá contiver arquivos de uma execução anterior, mova-os para outro diretório primeiro. O mongodump sobrescreve os arquivos existentes na pastadump.Execute mongodump e mongorestore a partir do shell do servidor — não do mongo shell.
Etapa 1: Fazer backup dos bancos de dados MongoDB autogerenciados
No servidor onde seus bancos de dados autogerenciados residem, execute:
mongodump --host <mongodb_host> --port <port> -u <username> --authenticationDatabase <database>
|
Parâmetro |
Descrição |
Padrão |
|
|
Endereço do servidor onde os bancos de dados autogerenciados residem |
|
|
|
Porta de serviço dos bancos de dados autogerenciados |
|
|
|
Conta usada para conectar ao banco de dados |
— |
|
|
Banco de dados de autenticação da conta |
— |
Exemplo:
mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase admin
Quando solicitado com Enter password:, insira a senha do banco de dados e pressione Enter. O backup é executado e salva os dados na pasta dump no diretório atual.
Etapa 2: (Opcional) Configurar o sharding
Sem o sharding configurado, todos os dados são gravados apenas no shard primário, deixando os demais shards ociosos. Para distribuir os dados entre os shards, configure o sharding antes ou depois da migração.
Crie os bancos de dados e as coleções necessários na instância de sharded cluster de destino antes de migrar os dados. O sharding pode ser configurado antes ou após a migração.
Para ver as etapas de configuração, consulte Configurar o sharding para maximizar o desempenho dos shards.
Etapa 3: Restaurar os dados na instância de sharded cluster de destino
3,1 Obter a string de conexão do mongos
Obtenha a string de conexão pública ou interna de um nó mongos na instância de sharded cluster de destino. Consulte Visão geral das conexões de instâncias de sharded cluster.
Os endpoints públicos não são ativados por padrão. Para usar uma conexão pública, primeiro solicite um endpoint público .
3,2 Adicionar o endereço IP do servidor à lista de permissões
Adicione o endereço IP do servidor que executa o mongorestore à lista de permissões da instância de sharded cluster de destino. Consulte Configurar uma lista de permissões para uma instância.
Rede interna: Adicione o endereço IP privado da instância ECS onde seus bancos de dados autogerenciados residem.
Internet: Adicione o endereço IP público do servidor onde seus bancos de dados autogerenciados residem.
3,3 Restaurar o backup na instância de destino
Execute o comando a seguir para restaurar todos os arquivos de backup na instância de sharded cluster de destino:
mongorestore --host <Mongos_host> -u <username> --authenticationDatabase <database> <backup_directory>
|
Parâmetro |
Descrição |
Padrão |
|
|
String de conexão de qualquer nó mongos na instância do ApsaraDB for MongoDB |
— |
|
|
Conta usada para conectar à instância de destino (a conta inicial é |
— |
|
|
Banco de dados de autenticação da conta (use |
— |
|
|
Diretório que contém os arquivos de backup |
|
Exemplo (conta: test, banco de dados de autenticação: admin):
mongorestore --host s-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dump
Quando solicitado com Enter password:, insira a senha. Os caracteres são mascarados durante a digitação.
Próximas etapas
Após a conclusão da restauração, redirecione o tráfego da sua aplicação para a instância de sharded cluster de destino. Programe a transição nos horários de menor movimento para minimizar o impacto nos seus usuários.
Para uma visão geral das opções de migração e sincronização disponíveis, consulte Migração e sincronização de dados.