O problema fundamental que você tem é manter a consistência do banco de dados durante o switch. Para ter tempo de inatividade zero , você não terá escolha a não ser configurar os dois servidores em um cluster ativo / ativo. (mesmo assumindo, no momento, que a configuração do cluster não envolveria tempo de inatividade, o que é um pouco complicado).
Como você não pode alterar o TTL, o melhor passo é minimizar o tempo de inatividade:
- Defina o novo site em um segundo nome de domínio (por exemplo:
www2.example.com
), mas também responda awww.example.com
. Aponte o DNS parawww2
apenas no novo servidor. - Os arquivos do site são replicados e bloqueados nas edições dos dois lados.
- Em seguida, em uma janela de manutenção anunciada, substitua o site ativo por um aviso de "down for upgrades".
- Sincronize ou copie o banco de dados conforme necessário e inicie o novo servidor.
- Então (e somente então) faça suas alterações de DNS no registro
www
. - Substitua a configuração antiga do site por um redirecionamento 302 simples para
www2.example.com
- Aguarde até que o TTL completo expire (e depois um pouco) antes de desativar o servidor antigo.
Isso garantirá que todo o tráfego vá para o novo site durante a propagação de DNS, independentemente de para qual servidor eles vão inicialmente, embora ele pressuponha que seu site seja capaz de ser exibido a partir de vários nomes de domínio ao mesmo tempo.
Para uma pilha LAMP de servidor único (se é isso que você tem), essa é a sua rota para o tempo de inatividade mínimo (mas não zero).