Instalação do sistema operacional duplicado

3

Estou tentando copiar localmente a instalação do SO do meu servidor local em uma máquina, portanto, se algo der errado, teremos um backup. Já instalei a mesma versão do sistema operacional que já está no nosso sistema ao vivo neste servidor, mas quero ter certeza de que posso copiar todos os mesmos pacotes e duplicar o ambiente o máximo possível. Esta é uma solução rápida, não uma solução permanente.

Eu tenho todos os arquivos de configuração de backup em Jungle Disk , bem como arquivos de site e tudo isso. Mas eu quero espelhar os pacotes que estão instalados e gostaria de poder fazer com o mínimo de trabalho possível. Algum conselho?

atualização

Importando seleções debconf Foram mostrados 3 erros ...

warning: Unknown type terminal, skipping line 56
warning: Unknown type error, skipping line 76
warning: Unknown type detect-keyboard, skipping line 252

Aqui estão alguns snipplets do meu arquivo:

# 
tasksel tasksel/terminal        terminal

# Detecting your keyboard layout
console-setup   console-setup/detect    detect-keyboard

# Failure restarting some services for PAM upgrade
libpam0g        libpam0g/restart-failed error

Na verdade, recebi cerca de 8 outros erros, todos Unknown type error e estou preocupado com a estabilidade desse espelho se eu continuar

    
por Webnet 07.12.2010 / 22:17

3 respostas

4

Em sistemas derivados do Debian, como o Ubuntu, é possível duplicar de perto a instalação do software de uma máquina para outra usando as ferramentas de gerenciamento de pacotes. Vamos dizer que MachineA é o servidor original que você deseja espelhar, e MachineB é o servidor que você quer se tornar um espelho do MachineA. (Todos os comandos citados aqui devem ser executados como root .)

Primeiro, verifique se o pacote debconf-utils está instalado no MachineA e no MachineB (execute o seguinte nos dois servidores):

aptitude update && aptitude install debconf-utils

Em seguida, no MachineA, faça uma cópia do estado atual do pacote e do banco de dados debconf:

dpkg --get-selections  > /root/dpkg-selections.txt
debconf-get-selections > /root/debconf-selections.txt

Copie os dois arquivos de MachineA para MachineB, por exemplo:

scp /root/{dpkg,debconf}-selections.txt MachineB:

Agora, no MachineB, carregue o arquivo de seleções debconf

debconf-set-selections /root/debconf-selections.txt

carrega o arquivo de seleções de pacotes

dpkg --clear-selections && dpkg --set-selections < /root/dpkg-selections.txt

e finalmente, execute o gerenciador de pacotes para atualizar as instalações de software do seu sistema

aptitude install

Agora, tudo o que resta é mover os arquivos de configuração necessários de /etc no MachineA para o MachineB. Isso é feito melhor manualmente, porque há determinados arquivos que precisam ser diferentes nas duas máquinas, mesmo que sejam espelhos um do outro. Por exemplo, arquivos como /etc/hostname , /etc/network/interfaces e /etc/fstab refletem coisas sobre seus respectivos sistemas locais que podem (ou devem) ser diferentes em outra máquina. Para gerar uma lista de arquivos de configuração a serem copiados do MachineA para o MachineB, você pode usar rsync no modo "dry run", em que nada é realmente copiado, mas os arquivos que seriam copiados são listados, por exemplo, (do MachineB):

rsync -rplgoDvn MachineA:/etc/ /etc

ADENDO

Não é incomum que mensagens de aviso e erro sejam geradas por debconf-set-selections . Eu já os vi muitas vezes, e não sei por que eles ocorrem, mas não consigo lembrar de que eles indicaram uma instância real de uma configuração quebrada.

Se você é cético e deseja acalmar seus medos, é possível verificar se todas as configurações de pacote estão corretas seguindo o procedimento a seguir: Crie uma lista de todos os pacotes para os quais avisos / erros foram gerados e execute manualmente dpkg-reconfigure package para cada pacote nessa lista. Se houver algum problema genuíno com um pacote, eles devem ser expostos e / ou reparados pela operação de reconfiguração.

    
por 07.12.2010 / 23:31
2

Eu, pessoalmente, trataria isso como apenas uma oportunidade de backup, em vez de tentar replicar o sistema em outro sistema de execução ao vivo. Basta copiar todo o novo sistema para o sistema antigo usando rsync ou rdiff-backup. O benefício do rdiff-backup é que você pode ter várias cópias dos dados facilmente.

Um exemplo de comando similar ao backup do rsync seria, no servidor de origem:

rsync -a --exclude=/proc/ --exclude=/dev/ --exclude=/sys/ / root@backup:/path/to/backups/origin-root/

Isso fará uma cópia COMPLETA do sistema no destino. A partir daí, você sempre pode recuperar qualquer configuração de que precise, sem se preocupar em sobrescrever configurações que precisa preservar no novo servidor (por exemplo: fstab, hosts, hostname, rede, regras de rede persistentes do udev, etc ...).

    
por 07.12.2010 / 23:23
0

Na máquina antiga:

dpkg --get-selections >/tmp/mypackagelist

Copie o arquivo para a máquina de backup e:

cat mypackagelist | xargs apt-get -y install

(Isso tem que ser feito como superusuário).

Mais pode ser encontrado em this old pergunta .

    
por 07.12.2010 / 22:22