Restauração completa do sistema linux


20

Estou familiarizado com o uso do rsync para fazer backup de vários arquivos do meu sistema, mas qual é a melhor maneira de restaurar completamente uma máquina.

O que eu tentei no passado é:

  1. Faça um formato básico / reinstale a partir dos discos de instalação do Fedora
  2. Verifique se a rede está ativada
  3. Copie tudo, desde o backup rsync na parte superior do sistema recém-instalado

Dessa maneira, funciona, mas não acho que todo pacote instalado funcione 100% depois.

Quero poder restaurar meu sistema com o mínimo de esforço e tudo funcionar da mesma forma que no momento em que o backup foi realizado. Além disso, se possível, instale em outras máquinas e, essencialmente, tenha duas máquinas com os mesmos pacotes e dados.


Quando você diz que deseja instalar em outras máquinas, você quer dizer outras máquinas 'idênticas / ou mais, como um desktop e um laptop?
Ichorus

hardware seria diferente, mas em querer os mesmos pacotes de software em ambos
Simon Foster

Respostas:


17

Aqui está o que eu fiz (isso pressupõe um único disco, em / dev / sda)

  • use o dd para fazer backup do MBR e da tabela de partição: "dd bs = 512 count = 1 se = / dev / sda de = / backups / sda.layout"

  • use o rsync para copiar a coisa toda com algo como: "rsync -axvPH --numeric-ids ..."

Na restauração, faço isso:

  • Para inicializar a máquina de destino com o sysrescuecd , normalmente terei o arquivo 'sda.layout' em um pendrive.

  • restaure a tabela MBR / partição com dd: "dd bs = 512 count = 1 se = / caminho / para / sda.layout de = / dev / sda"

  • Use o partprobe (obrigado comentador Mark) para fazer o kernel reler a tabela de partições.

  • Monte todas as várias seções em / restore /. Como os pontos de montagem são idênticos em restauração, se eu tiver / boot / / var na minha fonte, acabarei com / restore / boot, / restore / var, etc.

  • use o rsync para restaurar a coisa toda.


3
Eu fiz isso várias vezes e tem a vantagem de usar comandos CLI linux padrão. Eu uso o rsnapshot, um script perl em torno do rsync para fazer backups em um servidor central. Depois, sincronize tudo novamente após a inicialização do sysrescuecd e da tabela de partições. BTW, "partprobe" vai voltar a ler a tabela de partição
Mark Porter

OK, isso pode ser visto como um truque vil, mas como você pode fazer o kernel reler a tabela de partição emitindo um sysctl () como o fdisk, você também deve ter o fdisk - que, diferentemente do partprobe, está sempre presente na minha experiência - faça -lo: fdisk / dev / yourdisk << EOF w EOF
Bernd Haug

Obrigado por sugestões de todos, eu sabia que deveria haver uma solução melhor por aí. Vou tentar essas sugestões e ver o que funciona melhor para mim.
Simon Foster

3
Não esqueça a contagem com dd! "dd bs = 512 se = / dev / sda de = / backups / sda.layout count = 1" e "dd bs = 512 se = / caminho / para / sda.layout de = / dev / sda count = 1"
Steven

@Steven: Merda! Obrigado pela captura. Posso votar em um comentário?
5119 kbyrd

6

Eu nunca clono inteiramente os sistemas. Você nunca sabe o que pode mudar e a imagem clonada do sistema já está desatualizada no momento em que ocorre uma alteração. A melhor maneira de fazer isso é estabelecer um procedimento que permita produzir sistemas funcionalmente idênticos. Uma possibilidade é algo como Kickstart, AutoYaST ou ferramentas similares. Mantenha bons backups de sua configuração e, idealmente, use um sistema de gerenciamento de configurações como Bcfg2, Puppet ou CFEngine para configurar tudo, em vez de fazê-lo manualmente. Então, quando você precisar criar um novo sistema semelhante a outro que você possui ou recriar um sistema existente, é um procedimento simples e bem definido.


3

Seria mais trabalhoso, mas o Kickstart e o Revisor permitem personalizar uma instalação e usá-la em outras máquinas. Você pode incluir versões personalizadas dos seus arquivos de configurações.

Você também pode considerar manter seu diretório inicial em uma partição separada. Você pode deixar essa partição em paz enquanto faz uma instalação limpa em outra partição.


2

Pegue uma cópia do CD de recuperação do sistema e, após a instalação mínima inicial, inicialize a partir dele, monte e faça chroot no disco e faça o rsync. Após terminar, pode ser necessário executar o update-grub para inicializá-lo a partir do dispositivo e do kernel corretos.


2

Eu sempre achei que a maneira do Gentoo de instalar um novo sistema (de backup ou não) era a melhor devido à sua simplicidade.

  1. Crie um sistema mínimo e funcional.
  2. Carregue o sistema de trabalho como um disco rígido em um livecd.
  3. Tar o sistema de arquivos e salve em algum lugar.
  4. Carregue o sistema de destino com um livecd.
  5. Prepare o disco rígido de destino e monte-o.
  6. Descompacte para o disco rígido montado.
  7. Digite chroot.
  8. Configure o gerenciador de inicialização e outras coisas dependentes do sistema.
  9. Reinicie e vá embora.
  10. Instale um novo software / copie pastas do usuário / adicione outros arquivos, conforme necessário.

2

Experimente o CD ao vivo do clonezilla. Você pode inicializar em uma sessão ao vivo e criar uma imagem da sua máquina sem precisar instalar nada. Você tem a opção de armazenar a cópia da imagem em um compartilhamento de rede ou máquina remota e assim por diante.


0

Se for exatamente a mesma máquina, eu usaria apenas ddpara criar uma imagem de disco e, em seguida, crie uma nova imagem conforme necessário (possivelmente alterando algumas configurações posteriormente, se apropriado).

Se você estiver trocando de hardware, obtive sucesso ao criar um tarball ou backup rsync completo da raiz do sistema de arquivos. Não sei por que você precisaria de uma instalação completa primeiro - desde que você faça um backup completo, a instalação básica do Fedora não deve ser um pré-requisito.


0

Seu procedimento pode causar inúmeros problemas e deve ser evitado.

Existem duas maneiras recomendadas principais de fazer isso e uma terceira, se você estiver apenas tentando criar um ambiente de desenvolvimento.

Imaging

Se o hardware para o qual você restaurará TO for o mesmo ou semelhante o suficiente, use uma ferramenta de criação de imagens de disco para fazer uma cópia de todo o disco rígido ou matriz. Quando você deseja restaurar, basta recriar novamente as máquinas em questão com esta imagem. Se você cria imagens para várias máquinas, saiba que precisará atualizar as configurações específicas da máquina nos outros dispositivos (nome do host, endereço IP estático, etc ...) para que não entrem em conflito.

Para fazer a imagem real, eu recomendaria qualquer ferramenta ou produto que possa clonar discos rígidos.

Backups de configuração / diretório inicial

Na sua máquina principal, faça backup regularmente (com o método que você quiser), independentemente dos seguintes diretórios (ou outros) necessários:

/ home - Todas as configurações, documentos e arquivos pessoais do usuário
/ etc - configurações
/ opt - software especial não instalado pelo gerenciador de pacotes
/ usr / local - software especial não instalado pelo gerenciador de pacotes
/ var - logs e outros

Ao restaurar, reinstale o sistema operacional nas máquinas em questão e copie cada um deles (ou apenas os arquivos relevantes) para o local apropriado.

Máquinas virtuais com instantâneos

Crie uma máquina virtual no VMWare (ou o que você preferir). Quando estiver configurado como você deseja, crie um instantâneo. Esse instantâneo pode ser facilmente restaurado para qualquer número de máquinas virtuais novas ou existentes.

Em geral, você deve fazer backup apenas de dados e configurações (no entanto, você os define). O SO e o software podem ser reconstruídos trivialmente a qualquer momento: apenas seu próprio conteúdo é valioso. Se essa configuração é para desenvolvimento e você precisa garantir um ambiente idêntico (em vez de simplesmente fazer as coisas funcionarem novamente), os instantâneos em uma máquina virtual são realmente a sua melhor aposta.

Imagem é a solução de força bruta. Se puder, faça backup dos seus dados e não se preocupe com o próprio sistema operacional. Tentar restaurá-lo completamente está pedindo problemas.

Se você puder esclarecer qual é a sua intenção final, posso fornecer uma solução mais detalhada.


0

Como você diz que "o hardware será diferente", o SystemImager pode ser muito útil.

É apenas um monte de scripts de wrapper em torno do PXE e Rsync. Portanto, o "backup" que ele cria é apenas uma estrutura de diretório completa do seu servidor Linux com backup. Você pode "cd" nesse diretório e mudar as coisas enquanto você alimenta. (O SystemImager consegue alterar as configurações de rede por conta própria quando você empurra a imagem para fora.)

Você pode executar o chroot no servidor de backup e executar o yum ou o apt para instalar o software antes de enviar a imagem para fora.

Editar: você pode dar uma olhada no script SI que cria partições / volumes lógicos e modificá-lo de acordo com o tamanho do disco das máquinas de destino. Você também pode adicionar / remover módulos do kernel.


0

Eu tive muita sorte com o Mondo Rescue. Basicamente, ele faz backup de todos os seus arquivos e partições em um CD inicializável para uso posterior. Ele pode lidar com alterações em partições e unidades.

http://www.mondorescue.org/



0
  • A maneira mais segura é clonar os discos inteiros ou pelo menos as partições relevantes e restaurá-los usando um Live CD.

  • Outro método que economiza mais espaço é usar o dump (xfsdump for XFS), mas nesse caso você terá que recriar (formatar) as partições manualmente. Não se esqueça de criá-los com os mesmos parâmetros, especialmente UUID e LABEL.

  • Você também pode usar tar com o --xattrs parâmetro para salvar os atributos estendidos de cada arquivo.


11
O rsync moderno no Linux possui -X e -A para atributos estendidos e ACLs, respectivamente.
kbyrd

0

partimage e partclone (partes do Clonezilla) são utilitários úteis para criar imagens completas do sistema.

Como você identificou, as imagens completas do sistema não são necessariamente portáteis: geralmente por causa dos nomes dos dispositivos.

Pode ser tão simples quanto reinstalar o GRUB (de preferência em uma partição separada / de inicialização) e o MBR após a criação de imagens (por exemplo, com um LiveCD).

Outra abordagem é usar as ferramentas de Gerenciamento de Configuração para definir políticas que são aplicadas a uma imagem de linha de base (como as caixas de base do Vagrant); e separar backups de dados em armazenamento em bloco e / ou objeto (EBS / S3, Openstack Block Storage / Openstack Object Storage)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.