Script / ferramenta para clonar um servidor ubuntu

2

Eu instalei e configurei um servidor Ubuntu (instalando pacotes adicionais e fazendo modificações em alguns arquivos de configuração). Agora eu gostaria de instalar um sistema quase idêntico, que tem apenas um IP diferente, hostname ou qualquer coisa assim. Existe algum script ou ferramenta que possa automatizar esse processo?

Eu não estou procurando por algo como o Clonezilla, que faz um clone de imagem. Eu não estou procurando algo como remastersys, que cria uma imagem ISO. Eu gostaria de algo assim: link ou este: link , mas mais completo e automático.

Basicamente, essa ferramenta deve verificar o sistema existente e extrair uma lista de pacotes instalados. Em seguida, compare os arquivos de configuração no sistema com os arquivos de configuração padrão de cada pacote e gere diffs onde eles são diferentes. No entanto, ele também deve identificar as configurações que são diferentes para cada servidor (como IP, hostname, etc.) e fornecer uma opção para personalizá-las.

Tudo isso deve ser feito automaticamente, e a saída deve ser um "DNA" muito pequeno do sistema atual. Em seguida, uma ferramenta como o debootstrap deve ser usada para instalar o novo sistema, e as alterações descritas no "DNA" devem ser aplicadas a ele: instalando novos pacotes e modificando seus arquivos de configuração.

Sobre a motivação:

Eu gerencio um servidor web virtual na nuvem onde fiz muitas configurações ao longo do tempo: relacionadas a segurança, pacotes diferentes etc. Agora, se eu quiser construir outro servidor que tenha a mesma função e propósito que o primeiro, o caminho longo e tedioso seria passar por cima de todas as instalações e configurações novamente, e ainda assim posso perder alguma coisa. Eu pensei que talvez houvesse alguma ferramenta lá fora, que pode fazer algo como um diff entre o estado atual do servidor e o estado inicial de um servidor recém-instalado. Esse diff também me ajudaria a auditar o sistema atual, não me lembro exatamente de todas as coisas que toquei e mexi nele.

Esse diff também pode servir como uma receita que eu posso compartilhar com meus amigos, se eles quiserem construir um sistema como o meu. Seria muito mais conveniente e seguro do que passar grandes tarballs ou imagens.

As ferramentas sugeridas para clonagem:

Algumas das ferramentas sugeridas são:

Mas nenhum deles é adequado para o meu caso.

    
por dashohoxha 22.01.2013 / 11:31

2 respostas

1

Se dois sistemas tiverem os mesmos pacotes instalados e você fizer um diff de seus diretórios / etc, você basicamente obterá todas as alterações de configuração entre eles (talvez não 100% deles, mas ainda assim muito precisos). Então, o que fiz para auditar meu sistema foi:

  • Instale um sistema mínimo com o debootstrap (semelhante ao descrito aqui: link ).

  • Certifique-se de instalar no sistema chroot todos os pacotes que estão instalados no sistema principal (como descrito aqui: link )

  • Faça um diff entre os diretórios / etc dos dois sistemas.

Naturalmente, este diff não pode ser prontamente usado para instalar e configurar outro sistema, mas sabendo onde estão as diferenças e o que são, pode ajudar a construir um tklpatch (assim: link ), o que obviamente não é fácil de ser feito e requer algum trabalho.

Então, eu posso distribuir / publicar este tklpatch e todos podem construir facilmente um sistema bastante similar ao meu.

    
por dashohoxha 22.02.2013 / 10:58
0

Eu acho que você poderia usar dpkg --get-selections . Em seguida, instale esses pacotes em seu novo servidor. Os arquivos de configuração que você pode copiar do servidor antigo. Não é indolor, mas é acessível.

Fonte

    
por don.joey 22.02.2013 / 14:59