Clone regular do Ubuntu Server for Parallels

3

Qual seria a melhor maneira de fazer uma cópia / imagem regular de um servidor ao vivo (Ubuntu LTS Hardy), para que eu possa executá-lo como um ambiente local de teste e backup? dentro do Parallels.

Mais detalhes:

  • Eu tenho um servidor web ao vivo, hospedado no Ubuntu, acessível via SSH / SCP / SFTP, etc.
  • Tenho paralelos instalados na minha máquina de desenvolvimento do OS X.

Eu gostaria de ter uma cópia da máquina viva o mais exata possível, rodando dentro do Parallels para testes e como um backup de resort.

Eu suponho que a maneira mais simples seria instalar o Ununtu dentro do Parallels e então fazer cópias regulares do sftp / scp da estrutura de diretórios do servidor.

No entanto, eu queria saber se havia uma maneira 'inteligente' de fazer isso, como alguma forma de criação automática de máquinas virtuais a partir de um sistema existente - como fantasmas.

    
por Jon Hadley 23.11.2009 / 16:39

2 respostas

3

Eu não sei sobre uma ferramenta automática de criação de VMs; Eu só queria fornecer alguns detalhes sobre o seu método de baixa tecnologia.

Para ser específico, existem duas maneiras "de baixa tecnologia", dependendo se você pode ficar com o servidor off-line por um tempo.

  1. Coloque o servidor offline , anexe uma unidade de backup, execute dd over / e quaisquer outras partições de sistema principais para criar imagens exatas na unidade de backup, desanexe a unidade de backup, retorne servidor para serviço. A unidade de backup agora contém uma imagem completa do servidor no momento do backup. (Isso provavelmente não é algo que você gostaria de fazer a cada duas semanas, mas você poderia atualizar incrementalmente uma imagem com rsync ou similar.)

  2. Não coloque o servidor offline ; em vez disso, faça uma lista de todos os pacotes e versões instaladas no sistema (por exemplo, dpkg -l > server.packages.list ); instalar um sistema básico no Parallels; instalar pacotes para combinar a listagem do servidor; faça backup do /etc do servidor, de quaisquer outros arquivos de configuração principais e de quaisquer fontes de dados importantes (por exemplo, /var/www ) e copie-os para o sistema Parallels.

Na falta de uma ferramenta de virtualização, pode ser mais fácil usar a opção 2. A criação inicial da VM levaria algum tempo, mas você poderia facilmente criar e fazer backup de uma imagem desse sistema, antes de aplicar as alterações feitas no servidor ativo. Então você tem uma imagem de instalação automática instantânea, e o backup de servidor e restauração para VM pode ser roteirizado de modo que seja fácil refazer a partir do zero (ou do novo backup). instalar) de vez em quando.

Na verdade, você pode continuar com o # 2 e encará-lo como uma oportunidade para verificar periodicamente sua solução de backup: se você puder restaurar de seus backups para a imagem de instalação nova, sua solução de backup será boa. Se você não puder, você sabe que tem algo para trabalhar.

    
por 24.11.2009 / 00:22
1

A maneira que eu faria isso por mim mesmo é de alguma forma na linha de resposta # 2 de ~ quack.

Inicialmente eu instalaria o mesmo sistema básico que está vivo em seu servidor ativo em sua máquina virtual (isto para ter seu hardware reconhecido, grub funcionando, etc ...). Então eu rsync todos os filetree relevantes (por exemplo, não / proc ou / dev ou / tmp) do servidor ao vivo para o desenvolvimento.

Como o rsync é baseado na ideia de que somente os dados que são alterados são copiados, após a configuração inicial, seria bastante rápido sincronizar novamente o servidor de desenvolvimento com o servidor ativo.

A dificuldade que eu posso antecipar (mas tenho certeza que muitos mais estão ao virar da esquina!) é que alguns arquivos de configuração podem realmente precisar ser diferentes nos dois sistemas (por exemplo, aqueles que contêm o UUID dos dispositivos) e pode ser difícil entender quais deles e excluí-los do processo de rsync.

Como uma sidenote duas observações:

  • Eu acho que para a maioria das minhas necessidades eu não preciso do meu ambiente de desenvolvimento para combinar isso de perto com o meu servidor de produção. E eu "emparelho" meus dois sistemas com uma mistura de sistema de versionamento (código) e scripts (banco de dados).
  • Se sua principal preocupação é ter uma cópia exata do seu sistema em execução, a fim de ter uma maneira fácil de restaurá-lo em caso de backup, então você poderia tentar G4L em combinação com o zsync (que é um conceito semelhante ao rsync, mas desenvolvido especificamente para arquivos grandes como imagens de partição e cd ISO).

HTH.

    
por 24.11.2009 / 02:02