Eu tenho uma matriz RAID de 3 discos em execução no meu servidor Ubuntu. Isso tem funcionado sem falhas há mais de um ano, mas recentemente fui forçado a remover, mover e reconstruir a máquina.
Quando eu tive tudo de volta e corri para o Ubuntu, eu tive alguns problemas com os discos não serem detectados. Um par de reinicializações depois e eu resolvi esse problema. O problema agora é que a matriz de 3 discos está aparecendo como degradada toda vez que eu inicializo. Por alguma razão, parece que o Ubuntu criou uma nova matriz e adicionou o disco ausente.
Eu tentei parar a nova matriz de 1 disco e adicionar o disco ausente, mas estou com dificuldades. Na inicialização eu recebo isso:
root@uberserver:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md_d1 : inactive sdf1[2](S)
1953511936 blocks
md0 : active raid5 sdg1[2] sdc1[3] sdb1[1] sdh1[0]
2930279808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
Eu tenho dois arrays RAID e o que normalmente aparece como md1 não está aparecendo.
Eu li em algum lugar que chamar mdadm --assemble --scan
iria remontar a matriz ausente, então eu tentei primeiro parar a matriz existente que o Ubuntu começou:
root@uberserver:~# mdadm --stop /dev/md_d1
mdadm: stopped /dev/md_d1
... e depois tentei dizer ao Ubuntu para escolher os discos novamente:
root@uberserver:~# mdadm --assemble --scan
mdadm: /dev/md/1 has been started with 2 drives (out of 3).
Então, isso começou o md1 novamente, mas não está pegando o disco do md_d1:
root@uberserver:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid5 sde1[1] sdf1[2]
3907023872 blocks level 5, 64k chunk, algorithm 2 [3/2] [_UU]
md_d1 : inactive sdd1[0](S)
1953511936 blocks
md0 : active raid5 sdg1[2] sdc1[3] sdb1[1] sdh1[0]
2930279808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
O que está errado aqui? Por que o Ubuntu está tentando pegar sdd1
em uma matriz diferente?
Como obtenho o disco ausente novamente?
[Editar] - percebi que não havia adicionado o md1 ao início automático em mdadm.conf
. Depois de adicionar o md1 a mdadm.conf
, ele agora tenta montar a matriz na inicialização, mas ainda está faltando sdd1
. Se eu disser para tentar montar automaticamente, fico com a impressão de que sabe que precisa de sdd1
, mas não consigo usá-lo:
root@uberserver:~# mdadm --assemble --scan
/dev/md1: File exists
mdadm: /dev/md/1 already active, cannot restart it!
mdadm: /dev/md/1 needed for /dev/sdd1...
O que estou perdendo?