O Vagrant ou o Docker podem substituir o Clonezilla para clonagem de máquinas dev em máquinas virtuais?

2

A pergunta original Como faço para migrar O Ubuntu atualmente instalado em uma máquina virtual? foi perspicaz, mas com os aprimoramentos e desenvolvimentos em sistemas como Vagrant ou Docker, talvez o Clonezilla esteja se tornando arcaico para replicar ambientes de desenvolvimento. Eu acho que vale a pena revisitar.

Minhas impressões sobre o Vagrant e o Docker com relação a este tópico:

  1. Vagrant . Bom para criar máquinas virtuais nas quais executar seu código. No entanto, se você tem uma máquina Ubuntu existente com muitas configurações, etc ... parece que não há maneira de exportar a configuração desta máquina para um arquivo vagrant?
  2. Docker . Parece ser bom para executar seu aplicativo em qualquer lugar em que o docker esteja instalado, mas não desenvolvendo seu aplicativo em lugar algum. Eu posso estar errado nisso, e é por isso que estou perguntando. Se a máquina principal do seu computador quebrar, ter um contêiner docker é suficiente para voltar a funcionar rapidamente em um ambiente de desenvolvimento?

Pergunta: O Vagrant ou o Docker podem substituir o Clonezilla pela clonagem de máquinas dev em máquinas virtuais? Se sim, qual você escolheria e você poderia dar alguns pontos-chave sobre a implementação neste caso?

    
por singularity 10.02.2016 / 22:42

1 resposta

2

Claro, mas são abordagens diferentes para praticamente a mesma coisa.

  • Clonezilla (et al) envolve a obtenção de uma imagem completa do aplicativo de boot-through. É grande e não há desduplicação. Se você tiver 50 instâncias de uma pilha semelhante, faça um backup completo de cada uma delas e armazene 50 imagens completas. Você armazena uma carga de coisas facilmente substituíveis.
  • Docker instala em estoque Ubuntu (instalável a partir de um CD). Cada contêiner pode ser baseado em uma imagem pública. Você sobrepõe seus dados insubstituíveis por cima. Isso é tudo que você precisa para fazer o backup. No cenário anterior, isso significa que agora há 50 cópias básicas do Ubuntu que você não precisa fazer backup.

Para restaurar o primeiro, basta obter sua imagem e gravá-la. Para restaurar uma pilha Docker inteira, você precisa reinstalar o Ubuntu, o Docker, pegar a imagem base [minúscula] do Ubuntu e reinstalar suas camadas e configurações. Você pode - e deve - automatizar o processo de construção (Chef, Puppet, etc).

A ramificação a longo prazo é simples: espaço em disco. Você pode fazer o backup de seu aplicativo Docker um bilhão de vezes no mesmo espaço que suas imagens do Clonezilla ... Com o custo da complexidade.

Barra lateral : Embora eu esteja mencionando a automação, há uma terceira escola de pensamento que apenas usa o Chef / Puppet para automatizar a instalação e configuração das instalações do Ubuntu. Você acaba com instalações completas, portanto, nenhum dos benefícios de memória / armazenamento de tempo de execução que o Docker oferece, mas backups pequenos e fácil replicação.

Os contêineres são uma boa ideia. Recipientes e camadas são provavelmente uma ideia ainda melhor. Eu ainda estou para implementá-los com raiva, mas eu estou apenas começando a ver os benefícios do LXC, então não será longo, tenho certeza.

E, no seu caso, não se esqueça de você pode usar as duas técnicas de backup de uma só vez se não tiver certeza. Isso quer dizer que você pode pegar uma imagem do Clonezilla de um host do Docker (e ainda manter backups de suas imagens privadas do Docker em outro lugar)

    
por Oli 10.02.2016 / 23:16