Clonagem de partições e discos inteiros com dd. [Resolvido]

Iniciado por AdvancedS17, 02 de Abril de 2012, 11:57

tópico anterior - próximo tópico

AdvancedS17

Bom dia! Pessoal tô fazendo uns testes aqui em casa com o comando dd com a intenção de abandonar de vez outros programas de clonagem de partições e discos inteiros. Achei muito simples a digitação dos parâmetros desse comando dd e quase tudo estava saindo perfeito mas me deparei com um probleminha quase insuportável: a taxa de transferência que obtive com as cópias. Sempre não passava de 2,3MB/s ou 3MB/s demorando uma eternidade para gravar alguns poucos gigas por causa dele copiar bit a bit, sendo que até a taxa do meu hd externo é umas 20 vezes mais rápido do que isso; até achei que o problema poderia estar no parâmetro notrunc. Minha linha fica assim: dd if=/dev/sdc6 of=/dev/sda conv=notrunc,noerror tanto com bs quanto sem bs a taxa é a mesma. Para quem não conhece if é de input file e of é de output file. Desde já agradeço quem puder ajudar.
Maçon, apoiador de todas as religiões (de preferência conformistas) e enfocado no cristianismo. Universitários do mundo todo, esqueçam os dogmas, devolvam meu corpo que perdi ao longo dos séculos; só não peço para me tornarem um deus, pois ter uma saúde perfeita já basta. Holandês aqui não tem vez.

niquelnausea


irtigor

O dd faz a leitura e gravação bit a bit, então você tem que especificar um valor de leitura/escrita alto usando o "bs", ex:
dd if=origem of=destino bs=20M

AdvancedS17

Citação de: irtigor online 02 de Abril de 2012, 12:10
O dd faz a leitura e gravação bit a bit, então você tem que especificar um valor de leitura/escrita alto usando o "bs", ex:
dd if=origem of=destino bs=20M
No bs tava colocando 4096 por achar que é o tamanho da unidade de alocação. Vou testar com esse 20M pra ver se funciona como taxa de transferência.
Maçon, apoiador de todas as religiões (de preferência conformistas) e enfocado no cristianismo. Universitários do mundo todo, esqueçam os dogmas, devolvam meu corpo que perdi ao longo dos séculos; só não peço para me tornarem um deus, pois ter uma saúde perfeita já basta. Holandês aqui não tem vez.

AdvancedS17

Citação de: AdvancedS17 online 02 de Abril de 2012, 12:43
Citação de: irtigor online 02 de Abril de 2012, 12:10
O dd faz a leitura e gravação bit a bit, então você tem que especificar um valor de leitura/escrita alto usando o "bs", ex:
dd if=origem of=destino bs=20M
No bs tava colocando 4096 por achar que é o tamanho da unidade de alocação. Vou testar com esse 20M pra ver se funciona como taxa de transferência.
Caro colega testei essa sua dica mas com qualquer das sintaxes que usei a taxa de transferência é a mesma. Notei que os usuários dessa ferramenta conseguem uma média de 495MB/s de bit rate. Deve ser algo com o acesso ao meu hd externo pelo VirtualBox (que estou utilizando para fazer esses testes) até mesmo com o I/O habilitado ñ deu diferença, não passa de 2,7MB/s.
Maçon, apoiador de todas as religiões (de preferência conformistas) e enfocado no cristianismo. Universitários do mundo todo, esqueçam os dogmas, devolvam meu corpo que perdi ao longo dos séculos; só não peço para me tornarem um deus, pois ter uma saúde perfeita já basta. Holandês aqui não tem vez.

irtigor

20M foi um exemplo e sim, existem outros fatores que devem ser levados em conta, por exemplo, a conexão desse HD é USB? 1.1? Isso limitaria a um máximo de 12 Mbps (na prática é menos). Isso fora o uso do virtualbox que deve diminuir um pouco mais a transferência.

AdvancedS17

Citação de: irtigor online 02 de Abril de 2012, 19:00
20M foi um exemplo e sim, existem outros fatores que devem ser levados em conta, por exemplo, a conexão desse HD é USB? 1.1? Isso limitaria a um máximo de 12 Mbps (na prática é menos). Isso fora o uso do virtualbox que deve diminuir um pouco mais a transferência.
Acho que é 2x(0?) pois a configuração do meu pc é pra um dual core e veio tudo novo. Se eu ñ conseguir uma taxa em torno de 40MB/s terei q usar outras ferramentas de clonagem pq com essa taxa fica impraticável o meu trabalho.
Maçon, apoiador de todas as religiões (de preferência conformistas) e enfocado no cristianismo. Universitários do mundo todo, esqueçam os dogmas, devolvam meu corpo que perdi ao longo dos séculos; só não peço para me tornarem um deus, pois ter uma saúde perfeita já basta. Holandês aqui não tem vez.

selvaking

Fala sério! É impraticável o que vc pretende fazer.

digamos que a taxa máxima da USB 2.0 seja 480 Mbps ou 60MiB/s.

Se vc for transferir uma partição de 20 GiB a uma taxa de transferência de 60 MiB/s vc vai levar cerca de 5 min e 42 s.

Se a taxa diminuir por algum problema seu tempo aumenta na mesma proporção.

Se vc for transferir uma partição de 20 GiB a uma taxa de transferência de 2 MiB/s(acima da taxa máxima USB 1.1 - 12 Mbps) vc vai levar cerca de 170 min ou 2 h e 50 min.


Se vc tiver um HD de 500 GiB vazio e usar o DD pra copiar ele, vai copiar um HD vazio na taxa máxima da USB 2.0 e vai levar 2 h 22 min.

Se vc tiver um HD de 500 GiB vazio e usar o DD pra copiar ele, vai copiar um HD vazio na taxa máxima da USB 1.1 e vai levar 95 h.

Muitas das vezes é melhor usar o cp que vai ter a mesma velocidade e só vai copiar os dados que existirem.
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

selvaking

Não falei sobre clonagem de HD.
falei de velocidade de cópia do DD que trabalha bit a bit.

copiar o primeiro setor do HD com o dd, copiando a tabela de partição e o código de boot, é relativamente simples e rápido.
Usar um outro software para copiar os arquivos de uma partição pra outra não deixa de ser o conselho que te dei, isto em detrimento de copiar todo o HD com o DD que se torna muito demorado e por isto tinha te aconselhado a não fazer.

Foi rápido PQ vc só copiou os dados que existiam e não todo o HD.
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

AdvancedS17

#9
Tem toda razão caro colega. Mas encontrei uma forma de resolver essa clonagem de maneira tão simples que até me surpreendi com tamanha simplicidade.
Usei o comando dd para copiar a MBR (512 bytes apenas que são copiados em frações de segundo) de um HD (Máquina XP Virtual; na MBR encontra-se o programinha de boot e também a tabela de partições) para um outro HD (disco virtual vazio) com o seguinte comando: dd if=/dev/sdc of=/dev/sda bs=512 count=1 (if=input file , of=output file embora na sintaxe está escrito arquivo de entrada e de saída, serve também para os dispositivos de armazenamento sem necessidade de montá-los já que em Unix-like's todos os dispositivos são acessados por arquivos chamados de dispositivos de caracteres com configurações especiais de acesso para cada dispositivo). No caso da minha clonagem, o HD sdc continha o XP que adicionei de uma outra máquina virtual e o sda é o HD master da máquina virtual na qual arranco o Parted Magic. Depois de usar o dd para copiar apenas a MBR de um disco para o outro utilizei o Gnome Parted para copiar a partição sdc1 para sda1 (lembrando que as partições devem ser copiadas e coladas em ordem exata de sequência já que vão ocupar espaços iguais). Funcionou perfeitamente criei um clone da minha máquina XP virtual com tudo nos seus devidos lugares o boot loader onde deve estar a tabela de partições também e o conteúdo das partições idem com alguns simples cliques em copiar e colar dentro do Gparted depois da cópia da MBR com o comando dd. Só falta agora eu fazer um teste com um pendrive "bootável". Valeu!



Citação de: selvaking online 06 de Abril de 2012, 19:18
Não falei sobre clonagem de HD.
falei de velocidade de cópia do DD que trabalha bit a bit.

copiar o primeiro setor do HD com o dd, copiando a tabela de partição e o código de boot, é relativamente simples e rápido.
Usar um outro software para copiar os arquivos de uma partição pra outra não deixa de ser o conselho que te dei, isto em detrimento de copiar todo o HD com o DD que se torna muito demorado e por isto tinha te aconselhado a não fazer.

Foi rápido PQ vc só copiou os dados que existiam e não todo o HD.
Maçon, apoiador de todas as religiões (de preferência conformistas) e enfocado no cristianismo. Universitários do mundo todo, esqueçam os dogmas, devolvam meu corpo que perdi ao longo dos séculos; só não peço para me tornarem um deus, pois ter uma saúde perfeita já basta. Holandês aqui não tem vez.