Degradado RAID5 e nenhum superbloco md em uma das unidades restantes

2

Isto está realmente em um QNAP TS-509 NAS. O RAID é basicamente um RAID do Linux.

O NAS foi configurado com o RAID 5 com 5 unidades (/ md0 com / dev / sd [abcde] 3). Em algum momento, o / dev / sde falhou e a unidade foi substituída. Durante a reconstrução (e não concluída), o NAS foi reinicializado e / dev / sdc saiu do array. Agora a matriz não pode ser iniciada porque essencialmente duas unidades foram descartadas. Eu desconectei o / dev / sde e esperei que o / md0 pudesse continuar no modo degradado, mas sem sorte. Investigações adicionais mostram que / dev / sdc3 não possui superblocos md. Os dados devem ser bons, pois o array não conseguiu montar depois que o / dev / sdc caiu.

Todas as buscas que eu fiz mostraram como remontar o array, assumindo 1 drive ruim. Mas acho que só preciso restaurar o superbloco em / dev / sdc3 e isso deve levar a matriz a um modo degradado que me permitirá fazer o backup de dados e então continuar com a reconstrução adicionando / dev / sde.

Qualquer ajuda seria muito apreciada.

O mdstat não mostra / dev / md0

# cat /proc/mdstat 
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] 
md5 : active raid1 sdd2[2](S) sdc2[3](S) sdb2[1] sda2[0]
      530048 blocks [2/2] [UU]

md13 : active raid1 sdd4[3] sdc4[2] sdb4[1] sda4[0]
      458880 blocks [5/4] [UUUU_]
      bitmap: 40/57 pages [160KB], 4KB chunk

md9 : active raid1 sdd1[3] sdc1[2] sdb1[1] sda1[0]
      530048 blocks [5/4] [UUUU_]
      bitmap: 33/65 pages [132KB], 4KB chunk

mdadm show / dev / md0 ainda está lá

# mdadm --examine --scan
ARRAY /dev/md9 level=raid1 num-devices=5 UUID=271bf0f7:faf1f2c2:967631a4:3c0fa888
ARRAY /dev/md5 level=raid1 num-devices=2 UUID=0d75de26:0759d153:5524b8ea:86a3ee0d
   spares=2
ARRAY /dev/md0 level=raid5 num-devices=5 UUID=ce3e369b:4ff9ddd2:3639798a:e3889841
ARRAY /dev/md13 level=raid1 num-devices=5 UUID=7384c159:ea48a152:a1cdc8f2:c8d79a9c

Com o / dev / sde removido, aqui está o resultado do exame do mdadm mostrando que o sdc3 não possui um superbloco md

# mdadm --examine /dev/sda3
/dev/sda3:
          Magic : a92b4efc
        Version : 00.90.00
           UUID : ce3e369b:4ff9ddd2:3639798a:e3889841
  Creation Time : Sat Dec  8 15:01:19 2012
     Raid Level : raid5
  Used Dev Size : 1463569600 (1395.77 GiB 1498.70 GB)
     Array Size : 5854278400 (5583.08 GiB 5994.78 GB)
   Raid Devices : 5
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Dec  8 15:06:17 2012
          State : active
 Active Devices : 4
Working Devices : 4
 Failed Devices : 1
  Spare Devices : 0
       Checksum : d9e9ff0e - correct
         Events : 0.394

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     0       8        3        0      active sync   /dev/sda3

   0     0       8        3        0      active sync   /dev/sda3
   1     1       8       19        1      active sync   /dev/sdb3
   2     2       8       35        2      active sync   /dev/sdc3
   3     3       8       51        3      active sync   /dev/sdd3
   4     4       0        0        4      faulty removed
[~] # mdadm --examine /dev/sdb3
/dev/sdb3:
          Magic : a92b4efc
        Version : 00.90.00
           UUID : ce3e369b:4ff9ddd2:3639798a:e3889841
  Creation Time : Sat Dec  8 15:01:19 2012
     Raid Level : raid5
  Used Dev Size : 1463569600 (1395.77 GiB 1498.70 GB)
     Array Size : 5854278400 (5583.08 GiB 5994.78 GB)
   Raid Devices : 5
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Dec  8 15:06:17 2012
          State : active
 Active Devices : 4
Working Devices : 4
 Failed Devices : 1
  Spare Devices : 0
       Checksum : d9e9ff20 - correct
         Events : 0.394

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     1       8       19        1      active sync   /dev/sdb3

   0     0       8        3        0      active sync   /dev/sda3
   1     1       8       19        1      active sync   /dev/sdb3
   2     2       8       35        2      active sync   /dev/sdc3
   3     3       8       51        3      active sync   /dev/sdd3
   4     4       0        0        4      faulty removed
[~] # mdadm --examine /dev/sdc3
mdadm: No md superblock detected on /dev/sdc3.
[~] # mdadm --examine /dev/sdd3
/dev/sdd3:
          Magic : a92b4efc
        Version : 00.90.00
           UUID : ce3e369b:4ff9ddd2:3639798a:e3889841
  Creation Time : Sat Dec  8 15:01:19 2012
     Raid Level : raid5
  Used Dev Size : 1463569600 (1395.77 GiB 1498.70 GB)
     Array Size : 5854278400 (5583.08 GiB 5994.78 GB)
   Raid Devices : 5
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Dec  8 15:06:17 2012
          State : active
 Active Devices : 4
Working Devices : 4
 Failed Devices : 1
  Spare Devices : 0
       Checksum : d9e9ff44 - correct
         Events : 0.394

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     3       8       51        3      active sync   /dev/sdd3

   0     0       8        3        0      active sync   /dev/sda3
   1     1       8       19        1      active sync   /dev/sdb3
   2     2       8       35        2      active sync   /dev/sdc3
   3     3       8       51        3      active sync   /dev/sdd3
   4     4       0        0        4      faulty removed

A saída do fdisk mostra que a partição / dev / sdc3 ainda está lá.

[~] # fdisk -l

Disk /dev/sdx: 128 MB, 128057344 bytes
8 heads, 32 sectors/track, 977 cylinders
Units = cylinders of 256 * 512 = 131072 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdx1               1           8        1008   83  Linux
/dev/sdx2               9         440       55296   83  Linux
/dev/sdx3             441         872       55296   83  Linux
/dev/sdx4             873         977       13440    5  Extended
/dev/sdx5             873         913        5232   83  Linux
/dev/sdx6             914         977        8176   83  Linux

Disk /dev/sda: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          66      530113+  83  Linux
/dev/sda2              67         132      530145   82  Linux swap / Solaris
/dev/sda3             133      182338  1463569695   83  Linux
/dev/sda4          182339      182400      498015   83  Linux

Disk /dev/sda4: 469 MB, 469893120 bytes
2 heads, 4 sectors/track, 114720 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/sda4 doesn't contain a valid partition table

Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          66      530113+  83  Linux
/dev/sdb2              67         132      530145   82  Linux swap / Solaris
/dev/sdb3             133      182338  1463569695   83  Linux
/dev/sdb4          182339      182400      498015   83  Linux

Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1          66      530125   83  Linux
/dev/sdc2              67         132      530142   83  Linux
/dev/sdc3             133      182338  1463569693   83  Linux
/dev/sdc4          182339      182400      498012   83  Linux

Disk /dev/sdd: 2000.3 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1          66      530125   83  Linux
/dev/sdd2              67         132      530142   83  Linux
/dev/sdd3             133      243138  1951945693   83  Linux
/dev/sdd4          243139      243200      498012   83  Linux

Disk /dev/md9: 542 MB, 542769152 bytes
2 heads, 4 sectors/track, 132512 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md9 doesn't contain a valid partition table

Disk /dev/md5: 542 MB, 542769152 bytes
2 heads, 4 sectors/track, 132512 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md5 doesn't contain a valid partition table
    
por ark1214 09.12.2012 / 04:14

1 resposta

4

Ouch!

All the searches I done showed how to reassemble the array assuming 1 bad drive.

Isso ocorre porque o RAID5 não funciona com mais de uma unidade com falha. Você não pode garantir a recuperação de todos os dados com duas unidades ausentes. Na verdade, se ambas as unidades estiverem totalmente inacessíveis, a recuperação irá falhar. Os dados simples não estão mais lá.

Duas notas:

  1. eu escrevi completamente. Como no disco morto, unidade removida do sistema. Não apenas um único setor ruim.
  2. O discurso habitual de que o RAID não é um backup. Se o RAID falhar, você só precisa manter o sistema até as 17h, os backups dos arquivos alterados desde o último backup (usando backup incremental) e você pode tentar uma reconstrução demorada ou reconstruir o RAID e restaurar a partir do backup. Obviamente, como usuário doméstico, você faz as coisas um pouco diferentes, mas o mesmo problema persiste ao fazer uma reconstrução do RAID5 e obter um URE.

(Veja também Este post canônico do Serverfault e este post sobre SU e este post no SU )

No seu caso, vejo estas opções:

  1. Envie as unidades para um laboratório de recuperação de dados muito caro. Essas coisas são muito caras.
  2. Desista e restaure a partir de um backup antigo.
  3. Tente montar os arrays RAID com duas unidades ausentes.

Antes de tentar a opção 3: Faça um backup das unidades. Coloque-os em outro sistema e copie as unidades com dd ou ddrescue. Mantenha essas imagens. Se as coisas falharem, você pode restaurar a situação atual a partir delas. (leia: as coisas não vão piorar).

Você pode tentar recuperar do NAS ou do sistema em que armazenou as imagens. Faça uma cópia de trabalho deles e use o dispositivo de loopback. Se você tiver espaço em disco suficiente, essa é a maneira preferida, embora você precise de um local com o dobro do espaço livre em disco de todo o seu NAS.

Em seguida, leia este blog bastante longo em link .

As etapas essenciais são: mdadm --create /dev/md1 --level=5 --raid-devices=5 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 missing

Isso marcaria a unidade 5 como ausente. Eu selecionei esse porque não tenho ideia de qual estado ele está depois de uma reconstrução parcial.

Com um pouco de sorte, agora você pode montá-lo como um array degradado. Copie todos os dados, exclua a matriz e reconstrua. Pode travar durante a cópia de dados. Nesse caso, reinicialize, pule alguns arquivos e continue. Está longe de ser perfeito, mas se a recuperação é cara e você não tem backups, então esta pode ser a única maneira.

    
por 09.12.2012 / 04:53