Linux - Solução de backup de imagens?

3

Eu quero saber se existe uma maneira de fazer um backup de um sistema Linux em um arquivo único e restaurá-lo em outro sistema?

Você sabe que no Windows existem programas que fazem uma cópia de uma unidade (como C: \) em um único arquivo de imagem. Então você pode restaurar esse arquivo mais tarde, caso esteja infectado ou algo acontecer.

Sempre que quero migrar meu vps para outro host, tenho que configurar o novo servidor do zero e mover os arquivos manualmente. Posso apenas fazer um backup instantâneo de todo o sistema e restaurá-lo em outro lugar (ou no mesmo servidor)?

Eu não estou familiarizado com o Linux e não tenho idéia se isso é tecnicamente possível ou não? As parições, configurações, arquivos de sistema, etc ... são individuais para cada sistema?

Eu ouvi sobre o rsync , mas não é isso que estou procurando.

    
por xperator 02.06.2012 / 02:02

5 respostas

5

Embora os backups de estilo de instantâneo sejam possíveis em algumas situações, eles não serão úteis nessa situação. A principal razão para isso é que os provedores de VPS raramente oferecem acesso de nível suficientemente baixo ao sistema para que você possa restaurar dados dessa maneira.

A verdadeira resposta aqui é usar um sistema de gerenciamento de configuração para gerenciar seus servidores. Puppet e Chef são dois dos sistemas de gerenciamento de configuração mais populares no momento. Com os sistemas de linha estes, você especificar em um conjunto de arquivos de texto como você gostaria que seu servidor seja configurado, quais pacotes você deseja instalar, etc. Essas configurações, em seguida, podem ser aplicadas a qualquer servidor, independentemente da sua localização.

    
por 02.06.2012 / 02:23
2

Criar uma imagem de um sistema de arquivos é totalmente possível. De fato, para algumas distribuições como o Gentoo, esse é o método preferido não apenas de backup dos sistemas existentes, mas também da implementação de novos sistemas baseados em uma instalação base existente. O Gentoo, em particular, compila cada pacote a partir do código-fonte, portanto, a maneira mais rápida de implantar uma nova instalação é armazenar uma instalação genérica existente e extraí-la no novo sistema, economizando horas de tempo de compilação. Isso é chamado de instalação do estágio 4, detalhada no wiki do Gentoo .

No entanto, para restaurar essa imagem, você precisará inicializar o novo sistema com um live CD, o que pode não ser possível se você estiver executando um VPS. Se isso não for um problema, é assim que você faria para arquivar e restaurar seu sistema:


Arquivando o sistema

Ao arquivar uma instalação existente, há algumas advertências a serem observadas, sendo a mais importante a lista de diretórios que você deve não incluir no arquivamento. Por exemplo, você certamente não deseja incluir /dev e, da mesma forma, incluir o diretório /proc também seria um tanto inútil. Aqui está uma lista genérica de diretórios que você deve excluir ao criar seu arquivo:

.bash_history
/mnt/*
/tmp/*
/proc/*
/sys/*
/dev/*
/etc/mtab
/etc/ssh/ssh_host_*
/usr/src/*
/path/to/save/at/the_archive_file_you_are_creating.tar.bz2

Naturalmente, essa lista varia de distro a distro, mas esses são padrões seguros para a maioria dos sistemas. Tome nota da última linha da lista - você deve incluir o nome do arquivo que você está criando na lista de exclusão.

Para criar o arquivo, use o seguinte comando:

tar cvjf /path/to/save/at/archive.tar.bz2 / -X excluded.txt

(onde excluded.txt é um arquivo de texto contendo a lista de diretórios a serem excluídos).

Veja um resumo rápido dos sinalizadores usados para criar o arquivo:

c - create archive
v - verbosely list files processed
j - use bzip2 compression
f - specify file name
X - use the specified exclusion file


Restaurando o arquivo

Eu devo enfatizar que esse processo irá variar dependendo da distro que você está usando. Esse processo é strongmente baseado no processo usado em uma instalação Estágio 4 para o Gentoo, mas o processo geral seria razoavelmente semelhante para outras distros. O processo geral é assim:

  1. Inicialize com um CD ao vivo
  2. Entre em um console
  3. Crie suas partições, crie os sistemas de arquivos e monte os sistemas de arquivos (para fins de explicação, monte sua partição em /mnt/recovery
  4. Copie o arquivo para a partição montada
  5. Extraia o arquivo usando tar -xvjpf archive.tar.bz2 , tomando nota especial dos sinalizadores usados neste processo.
  6. Crie alguns nós de dispositivos básicos:
    mknod -m 660 /mnt/recovery/dev/console c 5 1
    mknod -m 660 /mnt/recovery/dev/null c 1 3 e mknod -m 600 /mnt/recovery/dev/initctl p

Quando terminar, você também precisará configurar o GRUB para garantir que sua configuração de inicialização esteja correta. Este é o lugar mais provável para você desarmar, então triplique suas configurações do GRUB para ter certeza de que tudo está correto.

Eu recomendo dar uma olhada no guia do Estágio 4 no wiki do Gentoo. É um recurso fantástico detalhando exatamente esse processo.

Para resumir, esta é a solução ideal para a sua pergunta, mas eu suspeito que desde que você está usando um VPS, é improvável que seja o mais prático, já que você provavelmente não terá acesso fácil a uma unidade de DVD ou a um IPKVM alternar para executar o trabalho no sistema durante a configuração do zero. Uma palavra de conselho, se você decidir seguir esse caminho, sugiro realizar este procedimento em uma máquina local algumas vezes; pode ficar um pouco complicado se você nunca fez isso antes, e a última coisa que você quer é a pressão de se deparar com problemas não triviais em um servidor remoto ao restaurar o arquivo.

Atualização: Acabei de notar que você diz que não está familiarizado com o Linux. O procedimento que eu descrevi aqui não é trivial, então se você não está muito familiarizado com o Linux você pode lutar com isso. Infelizmente, não consigo pensar em um método mais fácil e confiável para criar e restaurar instantâneos de todo o sistema.

    
por 03.06.2012 / 02:54
0

Provavelmente, você vai querer usar alguma solução que entenda as configurações específicas e possa fazer uma cópia útil da configuração do sistema.

alguns exemplos de softwares que implementam essa estratégia são;

link
backup do webmin
Coletor de configuração do sistema e blueprint

Outra alternativa é migrar para uma ferramenta que entende a configuração e que pode ser usada para reimplantar essa configuração em outra máquina. Exemplos deste tipo de software são:

chef
fantoche
cfengine

    
por 02.06.2012 / 03:33
0

Se tudo que você quer é uma cópia completa do seu sistema, você pode usar o dd.

[como mostrado aqui 1 ] mas, como discutido acima, em um VPS isso pode não ser totalmente útil para você.

    
por 03.06.2012 / 02:13
0

Faça o check-out do Ghost para Linux . Eu usei com sucesso para projetos de produção. A interface de linha de comando é suficientemente intuitiva.

    
por 03.06.2012 / 04:36

Tags