rogeriofox
(usa Debian)
Enviado em 12/11/2011 - 16:36h
Fazendo aqui vários testes, percebi que isso é uma medida de segurança que o RAID1 software tem para evitar perda de dados. Para resolver o problema fiz da seguinte forma:
Localizei qual a partição que estava com problema, meu caso foi a /dev/sdb1 vinculada ao /dev/md0 juntamente com a sda1.
Removi todas as arrays. Essa unidade apresentou uma mensagem de dispositivo ocupado, mas mesmo assim continuei, e no fim deu certo.
mdadm -f /dev/md0 /dev/sdb1 (força falha do dispositivo para liberação)
mdadm -r /dev/md0 /dev/sdb1 (remove o array liberado)
mdadm -f /dev/md1 /dev/sdb2
mdadm -r /dev/md1 /dev/sdb2
mdadm -f /dev/md2 /dev/sdb3
mdadm -r /dev/md2 /dev/sdb3
umount /dev/md127
umount /dev/md0
mdadm -S /dev/md127
mdadm -S /dev/md0
Desfiz a ligação de ambos volumes do array:
mdadm --zero-superblock /dev/sda1
mdadm --zero-superblock /dev/sba2
No meu caso o disco que tava ocupado era o segundo. Fiz essas operações tendo certeza que meus dados estavam intactos no primeiro disco. Fiz o procedimento de troca de disco para o volume com problema.
Resetei a MBR do disco ocupado:
dd if=/dev/zero of=/dev/sdb bs=512 count=1
Copiei a MBR do disco intacto, lembrando que os meus dois discos são idênticos:
dd if=/dev/sda of=/dev/sdb bs=512 count=1
Consolidei a mudança passando informação ao kernel:
partprobe /dev/sdb
Reiniciei o pc e adicionei os volumes novamente para sincronizar:
mdadm -a /dev/md0 /dev/sda1
mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb2
mdadm -a /dev/md2 /dev/sdb3
Acompanhei o resultado:
watch cat /proc/mdstat
Deu tudo certo.
O procedimento acima não resolveu de forma mais certa e enxuta, mas serviu. Se alguém souber o porque da criação da array md127, por favor poste aqui pra vermos e discutirmos.
Abraço!