Existe uma boa maneira de recuperar os dados do raid5

0

Agora estou tentando recuperar os dados do ataque.

Eu usei 3 * 8TB HDD como RAID5.

De alguma forma, talvez um ou dois deles estejam quebrados.

Neste caso, esbarrei no mdadm e pvscan, lvscan usecase.

O que eu fiz é assim abaixo.

root@ubuntu:~# cat /proc/mdstat 
Personalities : [raid1] 
md127 : inactive sdf2[2](S)
      523760 blocks super 1.2

md0 : inactive sdg1[1](S) sdd1[4](S) sde1[0](S)
      12570624 blocks super 1.2

md1 : inactive sdb2[2](S)
      523760 blocks super 1.2

depois, ative cada unidade.

mdadm -R /dev/md0
mdadm -R /dev/md1
mdadm -R /dev/md127

Todas as unidades são ativadas.

root@ubuntu:~# cat /proc/mdstat 
Personalities : [raid1] 
md127 : active (auto-read-only) raid1 sdf2[2]
      523712 blocks super 1.2 [3/1] [__U]

md0 : active (auto-read-only) raid1 sdg1[1] sde1[0](F)
      4190208 blocks super 1.2 [4/1] [_U__]

md1 : active (auto-read-only) raid1 sdb2[2]
      523712 blocks super 1.2 [3/1] [__U]

então eu tento pvscan no entanto estes erro happne. O que posso fazer para recuperar meus dados? Por favor, me dê ajuda.

sudo pvscan

  /dev/md0: read failed after 0 of 4096 at 0: input/output error
  /dev/md0: read failed after 0 of 4096 at 4290707456: input/output error
  /dev/md0: read failed after 0 of 4096 at 4290764800: input/output error
  /dev/md0: read failed after 0 of 4096 at 4096: input/output error
  /dev/md1: read failed after 0 of 4096 at 0: input/output error
  /dev/md1: read failed after 0 of 4096 at 536215552: input/output error
  /dev/md1: read failed after 0 of 4096 at 536272896: input/output error
  /dev/md1: read failed after 0 of 4096 at 4096: input/output error
  /dev/md127: read failed after 0 of 4096 at 0: input/output error
  /dev/md127: read failed after 0 of 4096 at 536215552: input/output error
  /dev/md127: read failed after 0 of 4096 at 536272896: input/output error
  /dev/md127: read failed after 0 of 4096 at 4096: input/output error
  No matching physical volumes found
    
por whitebear 21.02.2017 / 20:44

1 resposta

1

Como o comentário acima disse, se você estava usando o Raid5, seus dados sumiram. Raid5 só pode tolerar a perda de uma única unidade. A perda de duas unidades quebra a matriz.

No entanto , sua configuração indica que você está usando Raid1 (espelhamento) em vez de Raid5 (striping + parity). Seus dados ainda devem estar bem.

Observe a saída de / proc / mdstat:

md127 : active (auto-read-only) **raid1** sdf2[2]
      523712 blocks super 1.2 [3/1] [__U]

md0 : active (auto-read-only) **raid1** sdg1[1] sde1[0](F)
      4190208 blocks super 1.2 [4/1] [_U__]

md1 : active (auto-read-only) **raid1** sdb2[2]
      523712 blocks super 1.2 [3/1] [__U]

Ênfase minha com o * 's. Esses erros indicam que você perdeu várias unidades de cada matriz. Como esse é um conjunto de espelhos, seus dados ainda estão bem, mas seu sistema será executado como lixo até que os discos com falha sejam substituídos.

Observe o número ao lado de cada volume. [3/1] indica que é uma matriz de 3 discos, mas apenas um disco está disponível. O __U mostra que o primeiro e o segundo disco do array estão inativos.

A julgar por esta saída, você precisa substituir nada menos que 7 volumes. Dois em md127, três em md0 e dois em md1. Um guia completo para executar os comandos apropriados pode ser encontrado aqui.

Por favor, note que você não tem redundância em nenhum desses conjuntos agora. Se você perder mais uma unidade em qualquer matriz, seus dados serão torrados. Eu desligaria esse servidor imediatamente até que as unidades de substituição pudessem ser obtidas.

Outra opção:

Eu não sei o que aconteceu com o seu sistema, mas perder 7 unidades parece ser uma taxa excessiva de falhas, especialmente se ocorrer de uma só vez. Isso pode indicar um problema com o controlador de armazenamento, em vez dos discos rígidos. Se o servidor estiver com algum tipo de diagnóstico integrado para o controlador ao qual suas unidades estão conectadas, você deve executá-las.

    
por 15.03.2017 / 20:47