Para encurtar a história, para o meu primeiro tópico aqui, tenho um conjunto de software RAID5 configurado da seguinte forma:
4 dispositivos de disco com uma partição linux-RAID em cada um. Esses discos são:
/ dev / sda1
/ dev / sdb1
/ dev / sdd1
/ dev / sde1
/ dev / md0 é o dispositivo raid5 com um LVM cifrado nele. Eu uso cryptsetup para abrir o dispositivo, depois vgscan e lvcan -a para mapear meus volumes.
Ontem, descobri que / dev / sdd1 estava falhando. Aqui estão os passos que segui:
0. remova o disco com falha
# mdadm --remove /dev/md0 /dev/sdd1
1. faça uma verificação na unidade defeituosa
mdadm --examine /dev/sdd1
Recebi o erro "não foi possível ler metadados".
2. tentou ler a tabela de partições
Eu usei o parted e descobri que minha partição Linux-RAID tinha desaparecido e, quando tentei recriá-la (esperando poder adicionar novamente a unidade), obtive o "seu dispositivo não pode ser gravado"
Então, está claro: aquele disco rígido está morto.
3. Extraia o disco rígido do meu caso (coisas ruins seguem)
Então eu tentei extrair / dev / sdd1 do meu caso sem saber qual das 4 unidades era. Então eu desconectei um cabo SATA para descobrir que tinha acabado de desconectar o / dev / sde1; Eu recarreguei e desliguei o seguinte, bom sinal! foi / dev / sdd1
4. o que eu fiz?! cara triste
usando:
# mdadm --detail /dev/md0
Percebi que / dev / sde1 deixou a matriz marcada como "removida". Eu tentei adicionar novamente, não usando --re-add, mas:
mdadm --add /dev/md0 /dev/sde1
/ proc / mdstat mostrou-me o processo de reconstrução e o mdadm --detail / dev / md0 exibiu / dev / sde1 como "sobressalente"; Eu sei que poderia ter feito algo terrível aqui.
Eu tentei remover o / dev / sde1 do array e usar --re-add, mas o mdadm me disse que ele não podia fazer isso e me avisou para parar e remontar o array
5. Para onde ir a partir daqui?
Em primeiro lugar, estou à espera de um novo disco rígido para substituir o disco defeituoso.
Uma vez que eu o terei e o configurarei como um novo dispositivo de partição Linux-RAID conhecido como / dev / sdd1, terei que parar o array (os volumes LVM não são mais montados, obviamente, cryptsetup fechou o dispositivo cifrado, ainda O mdadm ainda não conseguiu parar o array). Eu estava pensando em reiniciar o sistema inteiro e trabalhar de um começo limpo. Aqui está o que eu achei que deveria fazer:
# mdadm --stop /dev/md0
# mdadm --stop /dev/md0
# mdadm --examine /dev/sd*1
# mdadm --assemble --scan --run --verbose
Eu li que sem a opção --run, o mdadm se recusará a verificar o array degradado.
Melhor cenário: / dev / sde1 é reconhecido pelo processo de remontagem e novo / dev / sdd1 é usado para reparar o anterior defeituoso. Eu não teria perdido nenhum dado e ficaria feliz.
Pior e mais comum cenário de caso: A montagem do array falha ao recuperar / dev / sde1 e eu tenho que começar de um novo array em branco.
Estou sentindo falta de algo aqui? O que devo rever deste procedimento?
Cumprimentos da França