Pesquise no Google direto do Blog!

sábado, 5 de novembro de 2011

Comando dd, clonando partição sem espaço

Bom dia a todos,


Bem srs, eu nunca havia realizado tal proeza, e como uma de minhas partições estava gritando falta de espaço, me enchi de brios e caí dentro, vejamos essa história como se desenrolou:

Participantes:

_Comando dd ...> dd if=/dev/sdx of=/dev/sdy onde:
_sdx...> sdb2...> 14G - Gritando falta de espaço, somente com 190M sobrando (origem)
_sdy...> sdb11..> 20G e vago, dando sopa! (destino)

Observação: Antes de continuar, deixem-me abrir um preâmbulo; o comando dd, não dá nenhuma pista da atualização do processo, a não ser no fim da clonagem, o único indício de que ela está ocorrendo, é o piscar do led do HD, portanto, espere até o comando "dizer" que está completo, com a paciência que Deus lhe deu! (Eu li pela aê que voce pode substituir dd por dcfldd, e este dá algumas informações do desenrolar, mas só li sobre ele depois que já havia feito a clonagem; ah sim!, o dcfldd deve ser instalado pois não vem default)

Continuação da história:

Terminada a clonagem, atualizei o meu GRUB Legacy (Legacy, sim! por quê vai encarar?) inserindo as linhas referentes a nova partição clonada, bootei com ela e para minha tristeza a tal mensagem de erro ocorreu nela também.
_Caraca, que será que houve?, bem a resposta a isso é que, o comando dd sozinho, não consegue fazer com que a partição destino seja vista em sua totalidade pelo S.O que se hospedou ali, se a partição origem tiver digamos 14G e a destino os 20G do meu exemplo, o que vai ocorrer é que a partição de 20G, só vai reconhecer 14G, com cerca de 6G, totalmente inoperantes.
_Mas e aí, perdi meu trabalho? ele foi em vão?, procurei pela net e em alguns fóruns (O Bequimão, o alemão mais brasileiro de todos, dos fóruns, aptosid, Mageia, epidemic e outros mais, me orientou; grato a ele!) e obtive a resposta; novos comandos complementares deviam ser efetivados.

Os comandos seriam os que seguem:

# e2fsck -f /dev/sdy (para checagem da estrutura de dados, onde y é a partição destino)
# resize2fs -p /dev/sdy (para realizar o redimensionamento da partição destino em si)

Obviamente fiz isso com o sdy desmontado, ao rebootar com ele ...voilá...!!! passou a reconhecer os 20G de boa, e a tal mensagem se foi para sempre, ou até pelo o menos a partição encher de novo! (e não era isso que deveria acontecer??)

Se eu fosse menos "ejaculação precoce" teria lido mais e dado direto o comando abaixo antes de clonar a parada:

# dd if=/dev/sdx of=/dev/sdy && resize2fs -p /dev/sdy
ou
# dcfldd if=/dev/sdx of=/dev/sdy && resize2fs -p /dev/sdy


Vivendo e aprendendo, agora, tenho meu S.O que estava em sdb2 gritando falta de espaço, novinho em sdb11 com 6G a mais para gastar, valeu o aprendizado!

Boa sorte e bons comands dd para voces!

2 comentários:

Anônimo disse...

Parabéns pelo artigo. Muito útil.
Taveira

Anônimo disse...

Ainda não testei, mas gostei muito do seu senso de humor! Parabéns pela agradabilíssima redação.