Migração de toda a plataforma

A migração da plataforma consiste essencialmente na migração do banco de dados e na migração dos serviços. Nesse caso, é necessário instalar todo o software acessório no novo servidor, em seguida mover o banco de dados e copiar os serviços.

As etapas descritas abaixo aplicam-se igualmente às instalações Linux e Windows. Além disso, podem ser usadas para migração de Windows para Linux, ou vice-versa.

Etapa 1 - pré-requisitos

Antes de tudo, é necessário preparar o servidor (ou servidores) para executar a plataforma. Em geral, a capacidade de produção não deve ser inferior à existente, ou seja, é preciso garantir que o servidor tenha o mesmo número de núcleos de CPU, RAM e espaço em disco ou superior. A infraestrutura de rede deve ter velocidade de internet suficiente, e as mesmas portas devem estar abertas para que a plataforma funcione como no servidor anterior.

Em geral, ao calcular os parâmetros do novo servidor, você pode se basear no requisitos de hardware fornecido na seção correspondente do nosso site.

Do ponto de vista de software, deve ser instalado o mesmo software de terceiros que está no servidor de origem. Isso inclui:

  • Java SE Development Kit (JDK) 17

  • MySQL Server 8.0

  • NGINX 1.2 ou mais recente

Aqui importam apenas as versões principais, e a diferença nas versões secundárias não terá efeito sobre a funcionalidade.

Etapa 2 - migração do banco de dados

Esta é a etapa mais longa e que consome mais recursos porque o banco de dados cresce com o tempo e pode atingir tamanho significativo.

A estratégia básica aqui é fazer um backup do banco de dados existente, movê-lo para o novo servidor e restaurar o banco de dados a partir do backup. Este é um método simples, confiável e comprovado, mas a desvantagem é o longo tempo de indisponibilidade, que se torna ainda maior quanto maior for o banco de dados.

Se você tiver um disco separado em seu servidor antigo para hospedar o banco de dados, pode simplesmente desmontá-lo e montá-lo no novo servidor. Dessa forma, o banco de dados será transferido quase instantaneamente. Infelizmente, esse método funciona apenas ao virtualizar dentro do mesmo data center ou provedor de nuvem (AWS, Azure etc.). Se você trocar de data center, esse método não é aplicável.

Para bancos de dados grandes e em casos onde minimizar o tempo de indisponibilidade é crucial, deve-se usar um método avançado conhecido como replicação de banco de dados. Nesse caso, uma réplica do banco de dados é criada no servidor de destino, sendo gradualmente populada com dados e funcionando como slave. Esse procedimento é lento, mas permite que o banco de dados master continue funcionando normalmente sem tempo de indisponibilidade. Quando o slave alcançar o master em termos de população, tudo o que resta é inverter master-slave, e assim o banco de dados será completamente migrado para o novo servidor com todos os dados atuais.

A replicação não é um recurso padrão do MySQL, portanto requer o uso de software de terceiros para esse fim. Existem diferentes soluções e cada administrador de sistema tem suas preferências em ferramentas. Nossa ferramenta preferida é XtraBackup aplicativo da Percona que permite fazer backups a quente e replicação de um banco de dados em operação.

Etapa 3 - migração dos serviços

O único elemento da plataforma que muda constantemente é o banco de dados. Ao mesmo tempo, os serviços da plataforma e o site permanecem estáticos, e alterações ocorrem apenas durante as atualizações da plataforma. Então, tudo o que é necessário é copiar os diretórios necessários incluindo seus conteúdos para os mesmos caminhos.

No Linux estes são:

  • /home/java/

  • /var/www

  • /etc/nginx/ (todas as configurações e certificados SSL)

No Windows estes são:

  • C:\java

  • C:\nginx

Após isso, é necessário configurar os serviços Navixy para serem executados. No Linux isso é feito com systemd, no Windows com Java Wrapper. As configurações no servidor antigo e no novo devem ser as mesmas. Se não souber como configurar esses serviços, entre em contato com o suporte técnico da Navixy.

Se os sistemas operacionais do servidor antigo e do novo não forem os mesmos (por exemplo, se você estiver migrando do Windows para o Linux), então as configurações do serviço Java serão completamente diferentes, assim como a configuração do servidor web Nginx. Contate o suporte da Navixy para detalhes sobre como configurar os serviços.

Etapa 4 - alteração do endereço IP

Uma vez que você tenha movido o banco de dados e todos os serviços para o novo servidor, é necessário tornar esse servidor primário e disponível para os clientes e seus dispositivos de rastreamento.

Para isso, é preciso transferir o endereço IP público do servidor antigo para o novo.

Se a transferência do endereço IP for impossível (o que pode ocorrer ao trocar de data center), é necessário fazer alterações na configuração de DNS, vinculando seu domínio ao novo endereço IP público do servidor.

Se o endereço IP mudar, todos os dispositivos configurados para operação por IP deixarão de enviar dados ao servidor e precisarão de reconfiguração. Todos os dispositivos configurados para usar domínio continuarão funcionando como antes.

Passos finais

Após a alteração do endereço IP, é preciso parar os serviços java em execução no servidor antigo.

Em seguida, você pode iniciar todos os serviços no novo servidor. Isso conclui a migração e você pode verificar a disponibilidade da plataforma migrada.

Atualizado

Isto foi útil?