Se for necessário migrar todos os deploys de um servidor para outro, deve-se seguir o seguinte procedimento (considerando que o servidor antigo está INACESSÍVEL via SSH -- pior cenário possível). Se o servidor antigo estiver acessível, mesmo que "mais ou menos", o procedimento é outro.
PROCEDIMENTO
- Preparar o novo servidor. Deve ser feito como se fosse um novo servidor normal (vide ACCINFRA-A-6);
- Garantir que o servidor antigo está realmente parado/desligado;
- Entrar no Ozone e conferir qual a versão de cada um dos deploys que está sendo migrado;
- Conferir na tela de licenças do Ozone quais plugins estavam instalados no deploy.
Pra cada deploy a ser migrado:
-
subir todos os deploys a serem migrados "como se fossem deploys novos" (
/root/docker/deployNewAccelero.sh); -
iniciar os deploys (
/root/docker/deploy.accelerobr.com.br/scripts/up.sh) -- provavelmente vai dar erro de HTTPS, não tem problema; -
fazer uma recuperação completa de backup (DB + arquivos), vide ACCINFRA-A-14;
-
fazer checkout da versão específica em que estava o deploy (docker + app):
git -C /root/docker/deploy.accelerobr.com.br checkout 2.16.1-HF7git -C /root/docker/deploy.accelerobr.com.br/app checkout 2.16.1-HF7 -
reiniciar o deploys inteiro (
/root/docker/deploy.accelerobr.com.br/scripts/restart.sh); -
se havia plugins instalados, acessar o Accelero e reinstalá-los.
O certificado digital (HTTPS) pode demorar até uma meia hora pra ser renovado/revalidado. Se depois de uma hora a renovação não acontecer automaticamente, tente reiniciar o container infra-nginx-le usando docker container restart infra-nginx-le.
RECOMENDAÇÕES
HTTPS
Você pode usar o site https://letsdebug.net/ pra ver se o DNS está atualizado corretamente -- o certificado digital depende disso estar OK. Faça a busca digitando o domínio que foi migrado e clicando em Show verbose information. Nas informações mostradas deve aparecer o IP do novo servidor.
CONFERÊNCIA FUNCIONAIS
Depois de ligar um deploy, faça testes funcionais (logar, fazer algumas ações aleatórias). É improvável, mas possível, que a recuperação de backup "faça bagunça" com permissões de diretórios. Na dúvida, compare as permissões com outros servidores.
ROTEADOR DO CLIENTE
Oriente o cliente que TALVEZ ele precise reiniciar o roteador (cache local de DNS). Nunca foi necessário, mas...
ESTIMATIVAS / PROBLEMAS
A dor de cabeça desse processo é imensurável. Não faça esse processo.
Mas se tiver que fazer...
Você não vai levar menos que uma hora. Conte com no mínimo duas horas e desligue o celular durante o processo. Foco 100% nesse problema, porque a chance de algo dar errado é muito grande, e o custo do erro também é imensurável.
E tenha um amiguinho do lado.
--
Considere também que como esse processo envolve a recuperação de um backup, os dados que foram gerados "entre a execução do último backup até a hora que o servidor antigo parou" serão perdidas. Se tudo der certo, o pior cenário é perder 24 horas de operação.
Exatamente por isso, evite ao máximo a execução desse processo. Tente de todas as formas possíveis acessar o servidor antigo e fazer o procedimento ACCINFRA-A-12, porque a vida de todo mundo será melhor.