Tenho um array MD de aproximadamente 20 TB distribuído por 5 discos rígidos de 6 TB. ontem uma das unidades falhou e o sistema parou de inicializar. Eu não sou muito bom em Linux, então sempre que isso acontecia no passado, eu simplesmente reinstalava o Debian e executava quaisquer mdadm
comandos necessários que pudessem ser necessários para fazer o array funcionar novamente (depois de pegar um HD sobressalente na minha loja local ). especificamente, eu removo a unidade antiga do sistema, executo mdadm --assemble
e adiciono a nova unidade ao array para que ela seja provisionada no dia seguinte ou depois.
Desta vez, quando corro mdadm --assemble /dev/md0 /dev/sd{a,c,d,f}1 --force
, ele não reclama disso No super block found on /dev/sdc1 (expected magic a92b4efc, got 00000000)
.
para algum contexto, essas 4 unidades (sd{a,c,d,f}) são discos rígidos novos, comprados nos últimos 3 meses. a unidade que seria a quinta (que removi e substituí por uma das novas) tem cinco anos.
embora sdc possa ser a unidade com falha (estou prestes a testar), é mais provável que seja a antiga. Meu backup também é um pouco antigo, com cerca de 2 meses. para ser sincero, nem sei por onde começar. Eu pesquisei no Google, mas tudo parece muito misterioso para este mero mortal e estou com muito medo de que um passo em falso possa me fazer perder todos os meus dados (se ainda não o fiz).
Posso fornecer registros do que estou fazendo agora. meu sistema atual é o Debian 12 rodando em um host Hyper-V. apreciaria qualquer ajuda.
Recentemente, em meu próprio trabalho com matrizes, descobri que a nomenclatura da unidade geralmente muda de uma inicialização para outra - meu sistema operacional foi criado no que era então
sda1
e em inicializações recentes, ao tentar recuperar de hardware com falha, descobri que às vezes a inicialização a unidade termina comosdc1
e às vezes comosdf1
(sim, essa máquina em particular tem muitas unidades). Em um caso como este, em quemdadm
relata que uma unidade que você pensava fazer parte de um conjunto não possui superbloco, a primeira coisa a confirmar é quais das unidades do sistema realmente compunham a matriz RAID em questão. Se você estiver executando uma GUI, deverá ter disponível uma ferramenta chamadaDisks
que mostrará todos os discos rígidos do sistema, junto com seu uso atual. Na linha de comando,sudo parted -l
mostrará essas informações.Quando tiver certeza de quais unidades constituem os quatro ainda válidos do seu conjunto de cinco discos, você poderá usar
mdadm --assemble --force /dev/md0 /dev/sd{a,c,d,f}1 missing
(usando seu exemplo e assumindo que confirmou que era de fatosda1
,sdc1
,sdd1
, esdf1
que compunha o conjunto RAID). Observe o uso da palavra-chavemissing
para o nome de uma unidade, que é um sinalizador para informarmdadm
que deveria haver outra unidade lá, mas (ainda) não está disponível. A rigor, isso pode não ser necessário; o superbloco conterá informações geométricas que mostram isso como uma matriz de cinco discos e tentará reconstruí-la como uma matriz degradada. Outros podem dizer que você deve ter cuidado ao combinar a ordem original do disco; minha própria experiência diz que, embora isso fosse necessário no passado, sistemas mais modernos parecem registrar a posição do disco na matriz como parte do superbloco e, mesmo quando os nomes dos dispositivos mudam (como fizeram comigo), a matriz se reconstruirá. com sucesso.No seu caso, devo admitir que suspeito que algo aconteceu com esse array enquanto você não estava olhando. A única maneira de ver que isso
sdc
poderia ter terminado com uma partição de recuperação é se ela saísse de um computador. Eu ficaria curioso para saber se esse array já estava degradado quando a unidade mais recente falhou; Eu provavelmente iria verificar os números de série para ver se é a unidade que pensei em colocar lá. É certo, seja como for, que quando a unidade foi adicionada ao sistema, ela não foi realmente adicionada ao array; O hardware RAID de escritório doméstico geralmente adiciona uma nova unidade ao array automaticamente; quem fez a troca da unidade física pode ter pensado que seu sistema fez o mesmo.Também observarei uma coisa mencionada nos comentários. O Google publicou há algum tempo que unidades do mesmo lote tendem a falhar ao mesmo tempo; uma matriz RAID composta de discos adquiridos ao mesmo tempo em um lote de um fornecedor provavelmente perderá uma segunda unidade ao tentar reconstruir uma matriz após a primeira unidade dessa matriz falhar. Se eu estiver construindo um array RAID5, comprarei deliberadamente de vários fornecedores diferentes, e muitas vezes de vários fabricantes diferentes, para diminuir o risco de obter várias unidades do mesmo lote. Como você substituiu as unidades ao longo do tempo, provavelmente já está protegido contra esse modo de falha específico.