Não é possível recuperar de RAID com falha

3

Minha situação é diferente de este .

Eu tenho um sistema CentOS com 3 discos rígidos e os seguintes arrays RAID de software:

/boot on RAID 1 over 2 disks
/ on RAID 5 over 3 disks
swap on RAID 0 over 2 disks (I believe)

Minha terceira unidade falhou. No começo, não era grande coisa, a matriz ainda estava funcionando. Mas depois de 1 dia, quando me preparei para trocar o disco ruim, o sistema não pode mais inicializar com o novo disco em:

md: md2: raid array is not clean -- starting background reconstruction
raid5: cannot start dirty degraded array for md2
raid5: failed to run raid set md2
[...]
Kernel panic

Ele pára aí. Eu não tenho shell. Eu tentei, mas no disco do Rescue, mas não sei como ir a partir daí: meus arrays não são vistos, então não posso reconstruí-los. Exatamente o mesmo problema se eu inicializar com 2 discos ou com o disco defeituoso como meu terceiro disco.

Como posso corrigir o array agora que tenho uma nova unidade?

    
por Julien 28.06.2009 / 05:37

2 respostas

7

De alguma forma, você conseguiu parar a matriz em estado sujo (o que significa que o sistema RAID não pode ter certeza de que a paridade em todos os discos está correta). Isso pode acontecer se a máquina for desligada abruptamente ou algum outro evento de indução de furos de gravação.

Eu suspeito que a remontagem manual da matriz, a partir de um CD de recuperação, usando a opção --force, funcione assim:

mdadm --assemble --force /dev/md2 /dev/sda2 /dev/sdb2 missing

(substituindo / dev / sd ... pelos dispositivos existentes que compõem sua matriz RAID-5). Supondo que isso funciona e / proc / mdstat mostre o array montado (em um estado degradado), então você pode adicionar a nova partição, da seguinte forma:

mdadm /dev/md2 --add /dev/sdc2

Se a montagem forçada inicial não funcionar, então você está profundamente no riacho. Um par de minutos com o Google encontrou link que parece lidar com um problema similar, então pode valer a pena tentar o que está descrito como trabalhando lá ( echo "clean" > /sys/block/md0/md/array_state ), mas essa é uma maneira um pouco feia de fazer as coisas.

Independentemente de como você consegue reunir o RAID, o fato de estar sujo e degradado significa que o conteúdo não pode mais ser confiável. O sistema de arquivos pode ter corrupção de metadados (que um fsck deve consertar), ou o conteúdo de um ou mais arquivos pode estar corrompido (o que você não saberá sem verificar o conteúdo de todos os arquivos na partição) .

    
por 28.06.2009 / 06:20
1

O CD de Recuperação do Sistema possui as ferramentas mdadm, portanto, se você souber como usá-las, ele será útil para você.

    
por 28.06.2009 / 06:05

Tags