“duplicar” um servidor em execução

1

Em vez de usar o Ansible ou alguma outra ferramenta de gerenciamento de configuração, depois de muitos meses sendo o administrador deste servidor do ubuntu 16.04, fiz várias mudanças no sistema: alterei os arquivos de configuração em / etc, pacotes instalados, ativados e desativados módulos apache2 e assim por diante.

Existe uma maneira automatizada de criar um script ou algo assim, que quando executado em uma instalação limpa do Ubuntu 16.04 (mas se funciona em qualquer linux ainda melhor), pode recriar um servidor que é mais ou menos exatamente o mesmo que o que eu tenho agora e está trabalhando e funcionando?

Edit: Infelizmente, esta não é uma VM que eu possa clonar.

    
por Simon 12.10.2017 / 22:53

2 respostas

0

Não há muito o que fazer quando se trata dos padrões da indústria no momento. Se você realmente precisa de scripts para preparar tudo para você, então eu faria:

  • faça o dump de todos os pacotes instalados com dpkg -l junto com versões dele.
  • crie um novo servidor com o ubuntu 16.04, instale todos os pacotes nas mesmas versões.
  • instale etckeeper no novo servidor
  • rsync todos os diretórios /etc do servidor original para o "limpo" um - garantindo que os arquivos do "limpar" um que não sejam t presentes no original são excluídos ( a2dismod simplesmente exclui links simbólicos no diretório / etc / apache2 / modules-enabled de modo que seria uma outra maneira de fazer o mesmo) - existe uma opção em rsync para faça exatamente isso.

Depois disso, você deve ser apresentado (graças ao etckeeper) com um diferencial do git do diretório /etc/ - isso pode simplesmente (?) ser transformado em um script patch - mas ele só funcionará de forma confiável quando todos As versões dos pacotes serão exatamente iguais às do servidor original. No entanto, isso seria uma boa base para alguns modelos reais de ansible / puppet / chef

Descendo essa rota, você deve ser capaz de criar algum tipo de automação para preparar novos servidores com configuração semelhante.

Existe outra opção se "padrões do setor" não lhe dizem respeito - apenas rsync / tar todo o servidor (você precisa parar os bancos de dados ou omiti-los no rsync para evitar estruturas de arquivos inconsistentes) para que você possa desempacotá-lo em uma instalação limpa do Ubuntu 16.04 para obter exatamente a mesma máquina em outro local.

    
por 12.10.2017 / 23:21
0

As únicas abordagens que posso pensar são:

  • encontre a lista de todos os pacotes instalados e reinstale-os na máquina de destino; em seguida, localize todos os arquivos de configuração alterados / adicionados e use tar / rsync / whatever para copiá-los na máquina de destino;

  • se você não pode / não clonar por cópia RAW direta, você pode usar tar / rsync (com parâmetros apropriados) para clonar completamente os dados de origem para a nova máquina.

  • você pode usar uma ferramenta de despejo do sistema de arquivos (isto é: dump2fs, xfsdump, fsarchiver, etc) para despejar todo o sistema de arquivos, restaurando-o na nova máquina;

  • use clonezilla / dd / ddrescue para clonar os discos físicos (a clonagem não precisa de um ambiente virtual) e restaure a imagem na máquina de destino. Isso requer uma máquina de origem de bootecd ou um instantâneo LVM / BTRFS / ZFS do volume de origem.

por 12.10.2017 / 23:21