Como clonar um servidor Linux ao vivo sem parar?

1

Esta é a minha situação atual: + Um servidor linux contendo vários aplicativos da web que não podem ser interrompidos, sem acesso físico a ele, somente via ssh.

Isso é o que eu preciso: Eu preciso replicá-lo para uma máquina virtual no meu computador, a fim de fazer algumas operações que possam ser arriscadas.

O que eu tentei: Eu tentei o comando dump executando esta linha no servidor live:

dump -0aLf / | ssh user@backup-server dd of=/path/to/destination/data.dump

Mas não é possível abrir dispositivos em /dev/ mostrando esta mensagem:

DUMP: Date of this level 0 dump: Mon Sep  1 16:52:14 2014
DUMP: Dumping /dev/vzfs (/) to /dev/tape
DUMP: Cannot open /dev/vzfs
DUMP: The ENTIRE dump is aborted.

Minhas perguntas:

  • Devo excluir / dev / tree do comando Dump? como isso deve ser feito?
  • Devo executar outro comando para fazer essa réplica?
por hertsmael 02.09.2014 / 11:15

2 respostas

0

Não há como clonar um servidor Linux sem privilégios administrativos (leia-se: root).

Parece que você está tentando garantir que uma alteração seja testada primeiro em um ambiente separado (que não existe atualmente). A questão é: que camadas essa mudança vai tocar?

Se você souber quais componentes serão atualizados / alterados, saiba no que focar. Digamos que este seja um servidor CentOS 6 executando o MySQL 5.1 e a mudança é para atualizar para o MySQL 5.5 (o que for). Construa uma máquina separada do CentOS 6, instale o MySQL 5.1, replique os dados e a configuração, e tente a atualização e o teste.

Se esta máquina não puder ser parada, como você está corrigindo? Eu espero que você esteja. Se assim for, pode ser parado e só precisa de alguns arranjos. Sua melhor opção é pará-lo e considerar fazer uma operação p2v para que você tenha um sistema exato em execução em uma máquina virtual em algum lugar para experimentar (e muito mais fácil de quebrar e restaurar muitas vezes, se necessário).

    
por 02.09.2014 / 13:30
0

Você sempre pode fazer um tar.gz. Eu fiz isso para clonar sistemas. Obviamente, você precisa criar partições, formatar e montar antes de untar no sistema de destino. Além disso, você precisará instalar o grub após e, é claro, os privilégios de root na máquina de origem.

Eu normalmente listo cada partição separadamente e uso --one-file-system . Por exemplo, imagine que você tenha um sistema com / , /boot , /usr , /var e /tmp partições diferentes. Você poderia fazer um tarball de todo o sistema assim:

tar --one-file-system -cjpf backup.tar.bz2 / /boot /usr /var"

Também /sys , /dev , /proc , /tmp precisaria ser criado no sistema de destino. /dev pode ser incluído no tarball, não faz mal. Aqui você está copiando também /var/tmp só porque não é uma partição separada de /var , você sempre pode usar --exclude se não quiser copiá-lo. Normalmente eu não ligo se não é muito grande.

Além disso, isso copiaria um sistema em execução que pode conter certas inconsistências (por exemplo, executando bancos de dados). O efeito ao iniciar a cópia pela primeira vez será como se a máquina tivesse sido desligada abruptamente.

    
por 02.09.2014 / 17:09