Migração do servidor: a maneira mais eficiente

10

Recebi a tarefa de migrar um dos nossos sites entre servidores (dois hosts diferentes). Ambos os ambientes são linux.

O site transmite vídeo, então o servidor está atualmente cheio de arquivos de mídia (imagens e vídeo). Meu primeiro pensamento foi que usaríamos o rsycnc para transferir tudo, mas eu quero ser o mais eficiente possível e fazer tudo o mais rápido que pudermos. Eu imaginei que alguns de vocês podem ter conselhos sobre como acelerar o processo, ou se o rsync é mesmo a escolha certa aqui.

Obrigado antecipadamente. Desculpas pelo meu conhecimento limitado sobre coisas de sysadmin ...

EDIT: Estamos correndo em uma pilha LAMP básica (centos) e movendo-se para o chapéu vermelho no rackspace).

    
por Ghost Code 06.01.2013 / 04:16

2 respostas

12

Há muita coisa envolvida em "migrar um aplicativo de um servidor para outro" - não há como responder de forma abrangente a todos os casos de uso. VOCÊ pode responder de forma bastante abrangente à sua configuração, se abordar sistematicamente:

  1. Faça uma lista de tudo que seu aplicativo precisa.
    • Servidor da Web?
    • Servidor de banco de dados?
    • Servidor de e-mail?
    • Linguagem de script (PHP, Ruby / Rails, Perl, algo mais)?
    • Programas auxiliares (ImageMagick, etc.)?
  2. Faça uma lista de itens de configuração importantes.
    • endereço IP, máscara de rede, gateway, etc.
    • Servidores DNS
    • Itens específicos do aplicativo (diretórios temporários, etc.)
  3. Pegue as listas de (1) e (2) e escreva um esboço da migração.
    Isto deve incluir coisas como instalar e configurar qualquer software / pacotes que você precisa, descarregar e carregar o banco de dados, etc.
  4. > TESTE A MIGRAÇÃO
    Copie tudo como você faria se o servidor fosse lançado, mas não o faça ao vivo. Coloque em uma rede isolada quando terminar e teste tudo.
    Se você tiver um procedimento de teste padrão para seu aplicativo, deverá executá-lo no servidor migrado.
  5. Se tudo não for perfeito, vá para (3), atualize (1) e (2) e depois revise seu plano.
  6. Quando as migrações de teste funcionam perfeitamente, faça a migração real.
    Dependendo de quão complexo é o processo de migração, isso pode significar simplesmente descartar e recarregar um banco de dados, ou você pode querer limpar a máquina e fazer tudo do zero.

Quando terminar, você terá uma lista de verificação para seu aplicativo específico, em seu ambiente específico. Essa lista de verificação provavelmente evoluirá à medida que você desenvolve o aplicativo, mas pode servir como ponto de partida em três a cinco anos quando você precisar migrar novamente.

Outras coisas a serem consideradas incluem a implementação do gerenciador de configuração, ala, puppet ou chef.
(Se você vai ser "o administrador do sistema", você deveria estar considerando-os, caso contrário, passá-los para a pessoa / equipe responsável.)

    
por 06.01.2013 / 06:04
5

Bem, você tem a configuração do servidor e o conteúdo do servidor para lidar, e é altamente improvável que a mesma técnica funcione para ambos.

Você tem um banco de dados? Em caso afirmativo, isso precisará ser movido também. O Rsync funciona muito bem para conteúdo estático. Basta executá-lo uma vez para obter a lista de seus dados movidos e, em seguida, dizer a cada poucas horas para manter as coisas sincronizadas até a transição. Certifique-se de desativar o cron do rsync antes da migração!

No que diz respeito à configuração, não temos ideia do que você está executando, por isso não é possível fornecer recomendações.

    
por 06.01.2013 / 04:49