Migrar os dados do ScaleGrid for Redis™* de um servidor para outro é um requisito comum que ouvimos de nossos clientes. Duas das principais razões que ouvimos são frequentemente devido à migração de hardware ou à necessidade de dividir dados entre servidores.
Normalmente, você deseja migrar com o mínimo de tempo de inatividade ao usar as ferramentas padrão do Redis. Nesta postagem do blog, orientaremos você pelo processo usando a ferramenta de código aberto Redis-Shake. Desenvolvido e mantido pela equipe NoSQL no departamento de banco de dados Alibaba-Cloud, o Redis-Shake permite migrar facilmente dados do Redis entre clusters do Redis. Embora este guia seja mais voltado para implantações do ScaleGrid for Redis™*, ele também pode ser usado para outros tipos de implantações do Redis com algumas pequenas modificações.
Sem mais delongas, vamos começar com o guia de migração!
Pré-requisitos
Você precisará de uma máquina Linux ou Windows para realizar a migração. (Se necessário, pode ser a máquina de origem ou de destino).
Uma coisa importante para se certificar antes de continuar é que o Redis-Shake não suporta clusters habilitados para SSL a partir de agora. Certifique-se de que os clusters de origem e de destino não estejam habilitados para SSL.
Regra de firewall
Certifique-se de ter criado uma regra de firewall para permitir que sua máquina Linux/Windows se conecte aos clusters de origem e de destino. Consulte este link para obter mais informações sobre como configurar isso no ScaleGrid.
Baixar Redis-Shake
Faça o download e descompacte o Redis-Shake na máquina Linux/Windows depois de escolher a versão mais recente/estável neste link. Você também pode usar os seguintes comandos abaixo para baixar a versão mais recente a partir de hoje (v2.1.1).
wget https://github.com/alibaba/RedisShake/releases/download/release-v2.1.1-20210903/release-v2.1.1-20210903.tar.gz tar -xvzf release-v2.1.1-20210903.tar.gz cd release-v2.1.1-20210903/
A seguir, mostraremos dois casos de uso diferentes para o Redis-Shake.
- Migrando dados de um Standalone e Master-Slave
- Migrando dados no modo de cluster
Migrando dados – autônomo e mestre-escravo
Nesta seção, mostraremos como migrar seus dados nessas diferentes configurações:
- Independente para autônomo
- Mestre-escravo para mestre-escravo
- Independente para Mestre-Escravo (e vice-versa)
1. Coletar informações
Anote as seguintes informações da guia Visão geral na página de detalhes do cluster de seu cluster de origem e de destino:
- Nome do host :A cadeia de conexão está no formato [hostname:port]. Deve ser algo assim:EX-redms-00-redis-master.example.domain.io
- (No caso de um cluster mestre-escravo, nos conectaremos ao mestre).
- Porto :6379
- Senha :você pode encontrar sua senha e redefini-la no console em Credenciais
2. Editar arquivo de configuração
Abra seu arquivo “redis-shake.conf” na pasta principal e edite as seguintes variáveis:
source.type =independente
source.address =
source.password_raw =
target.type =independente
target.address =
target.password_raw =
3. Sincronizar dados
Execute o seguinte comando para sincronizar dados entre o cluster de origem e de destino:
$ ./redis-shake -type sync -conf redis-shake.conf
4. Aguardar registros
Aguarde até ver as seguintes informações nos logs:
sincronização rdb concluída.
Isso significa que a sincronização completa foi concluída e a sincronização incremental começa.
5. Parar sincronização incremental
Se +writeBytes=0
é visto por um longo tempo, então isso significa que nenhum dado novo é incrementado. Você pode interromper a sincronização incremental pressionando Ctrl+C . Deve se parecer com algo assim:
sincronizar:+forwardCommands=0 +filterCommands=0 +writeBytes=0
6. Corresponder ao número de chaves
Agora siga este link para nosso documento de ajuda, que ajuda você a se conectar a ambos os clusters usando redis-cli e, em seguida, combinar o número de chaves entre seus clusters usando o E é isso! Agora você migrou com êxito os dados de um cluster para outro usando o Redis-Shake. Se você tiver clusters no modo de cluster, convém dar uma olhada na próxima seção deste guia para ver o que você precisa fazer se estiver executando esse tipo de cluster. Nesta seção, mostraremos como migrar dados de uma implantação do Redis no modo de cluster para outro cluster. Anote as seguintes informações da guia Visão geral na página de detalhes do cluster de seu cluster de origem e de destino: Abra seu arquivo “redis-shake.conf” na pasta principal e edite as seguintes variáveis: Execute o seguinte comando para sincronizar dados entre o cluster de origem e de destino: Aguarde até ver as seguintes informações nos logs: Isso significa que a sincronização completa foi concluída e a sincronização incremental começa. Se Agora siga este link para nosso documento de ajuda, que ajuda você a se conectar a ambos os clusters usando redis-cli e, em seguida, combinar o número de chaves entre seus clusters usando o E é isso! Agora você migrou com êxito os dados de um cluster no modo de cluster para outro usando o Redis-Shake. Para obter mais informações sobre o Redis-Shake e seus recursos, visite a página do GitHub para saber mais e obter a versão mais recente. *Redis é uma marca registrada da Redis Labs Ltd. Quaisquer direitos sobre ela são reservados à Redis Labs Ltd. Qualquer uso por ScaleGrid é apenas para fins referenciais e não indica qualquer patrocínio, endosso ou afiliação entre Redis e ScaleGrid. info keyspace comando em ambos os clusters.
Migrando Dados – Modo Cluster
1. Coletar informações
2. Editar arquivo de configuração
source.type =cluster
source.address =
source.password_raw =
target.type =independente
target.address =
target.password_raw =
3. Sincronizar dados
$ ./redis-shake -type sync -conf redis-shake.conf
4. Aguardar registros
sincronização rdb concluída.
5. Parar sincronização incremental
+writeBytes=0
é visto por um longo tempo, então isso significa que nenhum dado novo é incrementado. Você pode interromper a sincronização incremental pressionando Ctrl+C . Deve se parecer com algo assim:
sincronizar:+forwardCommands=0 +filterCommands=0 +writeBytes=0
6. Corresponder ao número de chaves
info keyspace comando em ambos os clusters.
Interessado em saber mais sobre ScaleGrid?
Para saber mais sobre como o ScaleGrid Hosting for Redis™* pode ajudá-lo a gerenciar seus bancos de dados, confira nossa página ScaleGrid Service for Redis™. Veja como a hospedagem do ScaleGrid para Redis™ pode permitir que você se concentre mais no desenvolvimento de seu produto e menos no gerenciamento de bancos de dados.