Existe uma maneira de reconstruir apenas parte de um disco em uma configuração mdraid5?

2

Ontem à noite eu acidentalmente usei dd para sobrescrever os primeiros ~ 20GB de uma unidade em um array RAID5. Quando percebi, eu consertei o array com

$ mdadm --fail /dev/md127 /dev/sdb
$ mdadm --remove /dev/md127 /dev/sdb
$ mdadm --zero-superblock /dev/sdb
$ mdadm --add /dev/md127 /dev/sdb

mas demorou um pouco porque é um disco de 3 TB. Como dd imprimiu o número de bytes copiados, eu sabia exatamente quanto do disco precisava ser reconstruído. Houve uma maneira que eu poderia ter reparado apenas esses bytes?

    
por Tavian Barnes 01.12.2015 / 15:45

1 resposta

1

Em teoria, sim: você pode criar um bitmap de intenção de gravação personalizado, ou dizer a mdadm para montar um array somente a partir do começo dos discos, ou provavelmente alguns truques que eu não tenha pensado.

Na prática, tentar fazer isso envolve um alto risco de perda de dados: você está ignorando as proteções do sistema, por isso não pode protegê-lo de confundir seus discos ou especificar incorretamente onde o array começa ou erros do usuário. É mais seguro apenas deixar o processo normal de reconstrução ser executado.

    
por 21.01.2016 / 02:04