Clonar um servidor Linux em funcionamento

18

Preciso clonar um servidor linux que funcione. Não podemos desligar o servidor em funcionamento. Existe alguma maneira de obter um clone e implantá-lo em outro servidor?


fonte

Respostas:

14

Existem várias maneiras de copiar discos, sistemas de arquivos ou arquivos. Geralmente, copiar o sistema de arquivos fornece um bom clone com a flexibilidade de que ele possa ter um tamanho ligeiramente diferente no sistema de destino. Com o sistema de destino executando algum tipo de Linux ativo (knoppix, ubuntu live, etc.), inicializado a partir de um cdrom, você pode criar as partições no disco usando o fdisk ou seu aplicativo de partição favorito. Supondo que você tenha um servidor SSH em execução no sistema de origem, adote uma abordagem semelhante a esta:

http://www.linuxfocus.org/English/March2005/article370.shtml

A mágica está acontecendo neste comando:

ssh sourcePC 'dump -0 -f - /' | restore -r -f -

Ao usar qualquer método específico para clonar discos em um ambiente Linux ativo, sua única preocupação provavelmente seria com os bancos de dados. A melhor maneira de fazer backup e restaurar um banco de dados é usar sua ferramenta de despejo para criar um instantâneo de arquivo ascii do banco de dados imediatamente antes do despejo do sistema de arquivos. Para o mysql existe:

mysqldump --all-databases > mysql_databases.sql

Para o postgresql, existe:

pg_dumpall > pg_databases.sql

Se você encontrar algum tipo de erro de consistência no novo sistema, restaure o banco de dados. Como alternativa, depois de desligar os serviços no sistema de origem, faça o dump do banco de dados novamente e restaure no destino, e você não perderá nenhum dado modificado recentemente.

labradort
fonte
11
+1 para a referência
linuxfocus
2

Construa um layout de disco na nova máquina como desejar.

Use rsync para transferir o conteúdo do disco. Repita algumas vezes para recuperar o atraso.

Na nova máquina, experimente o que você precisará fazer adicionalmente para inicializar corretamente. Grub, por exemplo, e faça com que ele esteja em um estado consistente.

Até que você possa desligar a máquina antiga, faça o rsync em intervalos regulares para manter o novo disco próximo ao antigo.

Em seguida, leve o antigo para o modo de manutenção, faça o rsync mais uma vez e inicie o novo, que deve aparecer como o antigo.

Thorbjørn Ravn Andersen
fonte
5
Isso pode causar corrupção de dados. Para garantir uma cópia adequada dos arquivos (incluindo bancos de dados dinâmicos), seria necessário executar o comando rsync inteiro em uma operação atômica, enquanto o sistema estava em pausa. Um instantâneo LVM seria atômico ou construir um espelho RAID e, em seguida, desconectar uma das unidades e colocá-la na nova máquina. Mesmo assim, você realmente precisa ir para o nível de execução 1 ( pt.wikipedia.org/wiki/Runlevel#Typical_Linux_runlevels ), fazer o instantâneo e reiniciar em um nível de execução mais alto.
Lee B
1

Meu colega de trabalho jura pelo System Imager:

http://wiki.systemimager.org/index.php/Main_Page

Não sei como isso funcionaria para sistemas "ativos".

Caso contrário, acho que você está preso fazendo as coisas manualmente:

  • Verifique se não há aplicativos de instalação fora dos repositórios
  • Despejar a lista de pacotes instalados e instalá-los no novo servidor
  • Copiar sobre arquivos de configuração
  • Restaurar bancos de dados
Natalie Adams
fonte
systemimager rochas. Ele funciona em um sistema ativo, com as mesmas condições para executar o rsync para copiar o estado de um sistema ativo. Alguns aplicativos precisarão ser encerrados ou despejados no disco (por exemplo, bancos de dados mysql) antes da cópia e precisarão ser restaurados no novo sistema.
gbjbaanb 02/11/2009
0

Desde que você possa colocar seus bancos de dados em um estado consistente no disco, você pode simplesmente usar o DAR para fazer uma cópia de tudo e depois gravá-lo novamente no seu novo servidor.

Sincronizar seus bancos de dados para um estado consistente no disco pode ser complicado, mas apenas tirar uma captura instantânea e depois restaurar a imagem depois de restaurar a imagem DAR pode funcionar. O DAR afetará o desempenho do servidor enquanto estiver em execução.

Depois de obter sua imagem, você pode ajustar as configurações de rede e conseguir recuperá-la sem problemas.

http://dar.linux.free.fr/

Paul McMillan
fonte