Usando o dd para clonar um disco enquanto montado - riscos?

4

Eu quero clonar um disco rígido usando dd. Porque eu quero manter um processo na máquina vivo continuamente, eu gostaria de fazer isso enquanto o sistema de arquivos ainda está montado. Eu entendo que esta não é a maneira "ideal" de fazer isso, mas também parece do Google que é possível.

O clone está sendo usado como backup; no caso de uma falha no disco rígido, gostaria de ter uma imagem para voltar ao novo disco rígido. O sistema operacional que está rodando vive no disco que eu quero clonar.

O processo que estou executando faz algum disco de E / S, mas não com o disco que desejo clonar. Tanto quanto eu sei, apenas os processos do sistema operacional / sistema estariam lendo ou gravando no disco enquanto eu faço essa operação. O que eu quero saber é se esse uso de luz pode arruinar toda a imagem clonada? Eu imagino que há o perigo de corromper alguns arquivos se eles estão sendo escritos como são lidos pelo dd, mas não tenho idéia de como é provável que o backup seja arruinado. Alguém pode compartilhar algumas ideias?

Falta de colocá-lo em um disco e tentar iniciá-lo, existe alguma maneira de verificar a integridade da imagem?

Obrigado!

    
por alexandicity 23.11.2015 / 20:30

3 respostas

3

Se você tiver sorte, a corrupção do sistema de arquivos será detectada assim que você tentar montar a cópia. Se você tiver azar, não será detectado até mais tarde.

Também é possível que você consiga obter uma cópia consistente do sistema de arquivos, exceto os arquivos que foram modificados durante a cópia. Mas eu não contaria com isso. Pode funcionar com o ext4, desde que você não crie, exclua ou mova nenhum arquivo, para que os diretórios não sejam modificados.

Se você copiar um sistema de arquivos montado somente para leitura, tudo ficará bem. Exceto que você não deve usar dd , use cat .

Existem várias maneiras confiáveis de clonar um disco. Escolha um desses, em vez de um que praticamente garante corrupção.

  • Alguns sistemas de arquivos oferecem uma funcionalidade de clonagem, por exemplo btrfs . Eu não acho que ext4 faça.
  • Se o sistema de arquivos estiver no esquema de partições nativas do Linux, ou seja, um volume LVM , você pode criar um LVM instantâneo. Isso requer que você use o LVM, em vez de colocar o sistema de arquivos diretamente em algum outro esquema de partição, como MBR ou GPT. Você terá um sistema de arquivos que não foi desmontado corretamente, mas representa um instantâneo consistente do original em um determinado momento.
  • Se você conseguir colocar o sistema de arquivos em uma matriz RAID-1, poderá cloná-lo adicionando um membro à matriz, aguardando a sincronização e desanexando o novo membro. Aqui também você terá um instantâneo consistente, mas não limpo. Você pode criar um volume RAID-1 em torno de um sistema de arquivos existente , mas isso requer uma etapa offline para reduzir o sistema de arquivos em 128kB.
  • Você pode fazer um backup em nível de arquivo. Isso não lhe dará uma visão consistente do sistema de arquivos, já que copiar arquivos leva tempo, mas garante pelo menos que todos os arquivos que não foram modificados durante o backup serão copiados corretamente.
por 24.11.2015 / 02:10
1

Não há nenhum dano em executar um dd durante a execução do servidor. A integridade do backup depende principalmente do que o servidor faz e do que as partições possuem ali.

Principalmente o conteúdo estático não tem problemas, espere alguns problemas com o DB ou partições de log. Eu recomendaria parar os servidores de banco de dados em partições de banco de dados.

Se você também estiver fazendo backup de sistemas de arquivos baseados em transações, os backups deverão ser recuperados rapidamente.

O dd pode ser usado principalmente para backup de alguns servidores, mas também é necessário fazer backups de arquivos em um nível mais alto.

dd funcionará muito bem como alternativa de clonagem se o servidor for inicializado por um meio alternativo e não houver atividade alguma.

Como diz o post anterior, a menos que você tenha uma necessidade específica de usar o dd, existem alternativas melhores, gratuitas e comerciais.

Para citar alguns:

Clonezilla
Systemimager
despejar / restaurar

    
por 23.11.2015 / 20:36
0

O utilitário dd é uma ferramenta realmente básica. Ele opera no nível de bytes brutos do que você quiser. O resultado disso é que, se algo estiver sendo gravado em um arquivo, você poderá copiar o arquivo durante o tempo em que ele está sendo gravado, provavelmente resultando em um arquivo corrompido e, certamente, em um erro.

As coisas que você precisa fazer para fazer isso com segurança já estão implementadas em vários programas de backup. É mais simples usar um desses.

    
por 23.11.2015 / 20:36

Tags