Qual é o procedimento para reativar uma matriz RAID5 do mdadm com falha?

2

Eu tenho um array RAID5 de três discos gerenciado com o mdadm, com um sistema de arquivos XFS. Enquanto eu estava usando a máquina, percebi que a máquina de repente não respondia (novos programas não eram iniciados, etc), mas ainda era o suficiente para eu abrir um novo xterm e rodar o dmesg. O log do kernel mostrou um grande número de tempos limite de link SATA. Reinicializando a máquina, duas das unidades (uma das unidades na matriz junto com uma unidade de DVD) não foram relatadas pelo BIOS. O problema acabou por ser a unidade de DVD (eu estava tendo problemas com ela por um tempo), e desconectar ficou o disco rígido visível novamente. Procurando com smartctl o disco em questão ( /dev/sdc ) parece estar bem, então não acho que isso seja uma falha de disco.

O problema é que não consigo descobrir como reativar meu array. Observar as partições /dev/sda3 e /dev/sdb3 (as que não falharam) usando mdadm --examine mostra que ambas acham que /dev/sdc3 é ruim / removido, enquanto /dev/sdc3 acha que está tudo bem. Pior, o array estava sendo escrito ativamente, então as contagens de eventos são diferentes, sda3 e sdb3 têm valores mais altos. (Eu estaria totalmente disposto a jogar fora esses dados recém-escritos, mas não acho que isso seja relevante).

Qual é o melhor curso de ação para recuperação? Executar mdadm -A /dev/md2 não faz nada e mdadm --auto-detect não detecta a matriz.

$ sudo mdadm --query  /dev/md2
/dev/md2: is an md device which is not active
$ sudo mdadm --query  /dev/sda3
/dev/sda3: device 0 in 3 device undetected raid5 /dev/md2.  Use mdadm --examine for more detail.

No entanto, a execução de mdadm --examine --scan -c none imprime a matriz com o UUID correto, portanto, é evidente que ela está sendo encontrada. Aqui está a parte relevante de /proc/mdstat , mostrando todas as unidades como sobressalentes:

md2 : inactive sda3[0](S) sdc3[2](S) sdb3[1](S)
      811868544 blocks

Acho muito curioso que uma única falha de unidade em um RAID5 tenha aparentemente levado a minha matriz inacessível. : (

Qual é o melhor curso de ação aqui?

    
por Jack Lloyd 01.09.2010 / 16:23

1 resposta

5

Se você vir a matriz em / proc / mdstat, a matriz será montada; você precisa iniciá-lo:

sudo mdadm -R /dev/md2

Se ele não iniciar, tente executar novamente o comando com a opção -v (verbose) e postar o resultado.

Uma vez ativado, você deve ser capaz de verificar seu status e adicionar novamente o sdc3, se necessário.

    
por 01.09.2010 / 16:31