Clonando várias unidades SATA usando dd com a ajuda do software RAID1

Clonando várias unidades SATA usando dd com a ajuda do software RAID1

Então, eu clonei muitas unidades NTFS baseadas no Windows a partir de imagens todos os dias e estou na metade de um projeto que poderia ajudar a mim e a outras pessoas a acelerar drasticamente esse processo.

Atualmente tenho uma configuração do Ubuntu 17.10 com mdadm e 16 portas SATA. A ideia é conectar drives a cada uma das portas SATA e fazer uma clonagem simultânea de cada uma de uma vez.

Se eu usar dd em uma unidade por vez, posso obter um resultado de cerca de ~ 135 MB/s (máximo de ~ 180 MB/s), mas assim que começo a clonar outras unidades ao mesmo tempo, a velocidade diminui consideravelmente.

A mesma coisa acontece com o dcfldd, que tem a vantagem adicional de poder especificar múltiplas of=saídas.

Agora... inicialmente tive a ideia de utilizar um array RAID1 contendo todas as unidades que desejo clonar de uma só vez. No entanto, parece haver algumas inconsistências na arquitetura do RAID e na usabilidade das unidades após a clonagem.

Aqui está o que tentei até agora: posso criar uma matriz de várias unidades usando mdadm e depois prosseguir com a execução. sudo dd if=/home/clone/some_image.img of=/dev/md0 bs=4096 Este processo parece funcionar perfeitamente bem e com resultados de velocidade brilhantes (~ 110 Mb/s para cada unidade de uma vez). Após a conclusão do processo, as unidades parecem não conter os dados que acabamos de gravar nelas. Meu próximo passo seria zerar o superbloco nas unidades na esperança de revertê-las para unidades utilizáveis; isso também não parece funcionar.

Eu até tentei criar um novo array usando uma versão mais antiga do superbloco (de 1,2 a 0,9), mas isso produziu os mesmos resultados de antes.

É como se os drives só pudessem ser acessados ​​​​via mdadm independentemente dos dados armazenados neles, o que faz com que essa ideia falhe completamente, embora os resultados iniciais tenham sido tão promissores.

Então eu coloco estas questões para você: Existe alguma maneira de gravar uma imagem em um array RAID1 e depois transformá-la novamente em discos únicos? Existem outras tecnologias que me permitirão obter os benefícios de velocidade da clonagem para RAID1, mas sem usar RAID ou a necessidade de ferramentas de terceiros para montar as unidades?

Muito obrigado por ler isso.

Responder1

Não, isso não pode funcionar. Se você tiver um RAID de software Linux (ou um RAID de hardware, na verdade), você terá uma estrutura de gerenciamento externa para o RAID necessária e que torna seu disco inutilizável para seu caso de uso.

Responder2

Quando você está clonandouma única imagempara vários discos, você precisa ter certeza de iniciar todas ddas instâncias simultaneamente. Dessa forma, todas as leituras (exceto a primeira) vêm do cache e o disco de origem não sofrerá problemas.

Se você estiver clonandoimagens diferentesseu disco de origem precisa ficar mais rápido e ter baixa latência de acesso. Um simples RAID 1 ou 0 provavelmente não será suficiente. Provavelmente, um SSD fará isso ou um RAID maior com muitos discos.

informação relacionada