volcopy para Linux?

4

Lendo uma das edições do livro de Nemeth ( Nemeth et al ), leu sobre volcopy - um utilitário que copia um sistema de arquivos de um dispositivo para outro, fazendo "uma cópia literal" ( aqui está uma página de manual , embora não seja muito útil).

O livro dizia que o utilitário existe para o Linux, mas o googlin rápido não mostrou muitos resultados. Então a questão é - ela é usada no Linux, e se não, qual é a alternativa padrão para copiar um sistema de arquivos? dump e restore ?

Editar. Eu estava pensando que tal utilidade poderia ser útil no caso de, e. substituição de disco rígido - atualmente eu estou usando dd para replicar a partição raiz etc, isso é rápido, mas obviamente preserva o tamanho da partição. Então eu pensei que volcopy poderia ser uma alternativa rápida que permite copiar para uma partição maior. dump | restore permite que, se não me engano. Desculpe por ser muito inespecífico inicialmente.

    
por ジョージ 30.11.2011 / 10:11

5 respostas

3

O que você está procurando é uma forma de clonar um sistema de arquivos, um disco ou uma partição. Veja em particular

Clonar todo o disco ou partição com cat ou cp é o método mais simples. Há nenhum motivo para usar dd , especialmente desde que dd é mais lento . Isso requer que o sistema de arquivos não seja montado e também copie o espaço vazio, portanto, pode ser lento por esse motivo.

No Linux (ou, mais precisamente, com GNU coreutils), cp -a faz um bom trabalho ao copiar arquivos e preservar metadados, mas não é perfeito. Além disso, não que copiar arquivos pode ser mais lento, mesmo que o disco não esteja cheio, porque é muito mais rápido copiar discos grandes por vez do que copiar e copiar cada fragmento de um arquivo.

Se seus discos ou partições estiverem em um volume RAID -1 (espelhamento RAID) e você quiser copiá-los para um novo disco, você pode adicionar o novo disco ao array. Isso é muito rápido, menos propenso a erros do que usar cat nos dispositivos de bloco e pode ser feito on-line com tudo montado. A única razão para não fazer isso é quando sua partição de origem não está em um volume RAID-1; você pode transformar uma partição antiga simples em um volume RAID-1 de software Linux, mas isso exige um pouco de trabalho de baixo nível.

Se o sistema de arquivos que você deseja copiar estiver em um volume LVM , você poderá usar o recurso de espelhamento do LVM.

    
por 01.12.2011 / 01:41
4

Você pode usar dd para copiar os dados de um dispositivo para outro.

dd if=/my/source/device of=/my/dest/device bs=4096

dd fará uma cópia byte-por-byte da fonte, é claro que você não poderá fazer isso em um sistema de arquivos em execução, isso provavelmente causará dados corrompidos. Se você estiver usando um sistema de arquivos ou algum outro utilitário como LVM com recursos de instantâneo, poderá criar um instantâneo e copiá-lo.

lvcreate -L1G -s -n my-snapshot-of-lvname /dev/vgname/lvname
dd if=/dev/vgname/my-snapshot-of-lvname of=/my/dest/path bs=4096
lvremove /dev/vgname/my-snapshot-of-lvname

LVM também possui algumas ferramentas incorporadas para gerenciamento de volume.

O Linux possui o sistema de arquivos btrfs , é um novo sistema de arquivos ainda instável (inspirado pelo ZFS do Solaris). O Btrfs NÃO está pronto para produção, mas provavelmente será capaz de fazer tudo o que você precisa.

É claro, você também pode usar o rsync (eu recomendo o sinalizador a), mas isso não é uma cópia de volume, mas na maioria dos casos ele funcionará bem.

rsync -a /source /path
    
por 30.11.2011 / 10:39
3

Partimage faz cópias exatas de uma partição com um sistema de arquivos suportado, na medida em que copiará o sistema de arquivos também. Então você pode precisar alterar um dos uuids, se isso confundir seu sistema operacional ou bootloader. Limitação notável - atualmente não suporta ext4 ou btrfs.

Também é software livre, confiável, simples de usar, bem documentado e funciona no console, por isso é fácil de usar remotamente. Basicamente, ele salvará o conteúdo da partição em um arquivo e, em seguida, o gravará de volta onde você desejar.

PS. A página de partimage também menciona FSArchiver , mas eu nunca usei isso.

    
por 30.11.2011 / 21:16
2

Eu recorreria ao uso da ferramenta rsync para configurar uma sincronização de cópia espelhada de um sistema de arquivos. É melhor fazer cópias diferenciais mais rapidamente depois que a sincronização inicial é feita, levando a menos alterações de cópia no sistema de arquivos de destino, em vez de na cópia inteira, independentemente da quantidade de alterações.

    
por 30.11.2011 / 10:22
2

dd é um dos utilitários unix mais antigos, e faz exatamente isso: duplicar um disco. Normalmente, você não quer uma cópia exata, porque não há razão para perder tempo e espaço copiando as partes não usadas do disco.

Enquanto dump opera no dispositivo de bloco desmontado, restore não funciona, e juntos eles não reproduzem uma cópia exata do sistema de arquivos. Em vez disso, eles apenas fazem backup e restauram os arquivos no sistema de arquivos, muito parecido com tar , apenas mais rápido.

Se você deseja criar uma imagem de disco inteligente que possa ser restaurada exatamente como estava, você deseja algo como o Clonezilla ou o Ghost4Linux, que são inteligentes o suficiente para ignorar a cópia dos blocos de disco não utilizados. Eles ainda não podem restaurar para um disco que é menor que o original, nem você pode restaurar seletivamente arquivos individuais, nem fazer backups incrementais. Por esses motivos, prefiro os utilitários de backup tradicionais, como dump ou tar .

    
por 30.11.2011 / 17:28

Tags