re-monta o raid5 desatualizado?

2

Preciso de ajuda com meu raid5 depois que ele caiu em setores defeituosos. Anteriormente, eu pude remontá-lo com

# mdadm --assemble --force -v /dev/md0 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1

mas ao fazer um backup, ele falhou novamente e agora não posso mais montá-lo novamente porque dois discos estão desatualizados:

# mdadm --assemble --force -v /dev/md0 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot -1.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdg1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sdh1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdi1 is identified as a member of /dev/md0, slot 3.
mdadm: added /dev/sdg1 to /dev/md0 as 1
mdadm: added /dev/sdh1 to /dev/md0 as 2 (possibly out of date)
mdadm: added /dev/sdi1 to /dev/md0 as 3 (possibly out of date)
mdadm: failed to add /dev/sde1 to /dev/md0: Device or resource busy
mdadm: added /dev/sdf1 to /dev/md0 as 0
mdadm: /dev/md0 assembled from 2 drives - not enough to start the array.

Como você pode ver aqui, apenas dois dispositivos sdf1 e sdg1 definiram o horário de atualização mais recente (+ spare, mas não foi concluída a reconstrução).

 mdadm --examine /dev/sd[efghi]1 | egrep 'dev|Update|Role|State|Chunk Size'
/dev/sde1:
          State : clean
    Update Time : Sun May 10 04:15:59 2015
     Chunk Size : 512K
   Device Role : spare
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdf1:
          State : clean
    Update Time : Sun May 10 04:15:59 2015
     Chunk Size : 512K
   Device Role : Active device 0
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdg1:
          State : clean
    Update Time : Sun May 10 04:15:59 2015
     Chunk Size : 512K
   Device Role : Active device 1
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdh1:
          State : clean
    Update Time : Sat May  9 23:10:06 2015
     Chunk Size : 512K
   Device Role : Active device 2
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdi1:
          State : active
    Update Time : Sat Dec  7 12:43:00 2013
     Chunk Size : 512K
   Device Role : Active device 3
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

Eu não alterei nenhum dado no ataque desde o tempo de atualização dos outros dois dispositivos sdh1 e sdi1 . Eu não preciso ressincronizar todos os dados, eu só preciso fazer backup dos últimos arquivos, então eu só preciso montá-lo uma última vez somente leitura.

Existe alguma maneira de fazer isso? Talvez eu possa forçá-lo a ignorar o desatualizado? Eu estou querendo saber porque o - force não funciona mais ...

Informações completas para os dispositivos do raid5:

# mdadm --examine /dev/sd[efghi]1
/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a87dfb70:2ecd03f9:ee62b434:fc637218
           Name : m08002-lin:data2gb
  Creation Time : Mon Sep  2 12:48:02 2013
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : 624d3873:7970ba27:da0f511a:45367bdd

    Update Time : Sun May 10 04:15:59 2015
       Checksum : 599a5235 - correct
         Events : 108804

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : spare
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a87dfb70:2ecd03f9:ee62b434:fc637218
           Name : m08002-lin:data2gb
  Creation Time : Mon Sep  2 12:48:02 2013
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : 4827a499:12980366:0de13b87:541a9b5e

    Update Time : Sun May 10 04:15:59 2015
       Checksum : ac5a08f2 - correct
         Events : 108804

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdg1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a87dfb70:2ecd03f9:ee62b434:fc637218
           Name : m08002-lin:data2gb
  Creation Time : Mon Sep  2 12:48:02 2013
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : 8c959d62:3b9c1eac:6f8d7d92:13454ab4

    Update Time : Sun May 10 04:15:59 2015
       Checksum : 1c5f5282 - correct
         Events : 108804

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdh1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a87dfb70:2ecd03f9:ee62b434:fc637218
           Name : m08002-lin:data2gb
  Creation Time : Mon Sep  2 12:48:02 2013
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : df6b9eab:ea3c6e3a:47858e6d:1eb0783d

    Update Time : Sat May  9 23:10:06 2015
       Checksum : 57f1e4b2 - correct
         Events : 108796

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdi1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a87dfb70:2ecd03f9:ee62b434:fc637218
           Name : m08002-lin:data2gb
  Creation Time : Mon Sep  2 12:48:02 2013
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : active
    Device UUID : fbc64ec7:a97a36c1:69cc3812:37878af1

    Update Time : Sat Dec  7 12:43:00 2013
       Checksum : 507acca4 - correct
         Events : 83904

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
    
por Alexander Fieroch 10.05.2015 / 12:15

1 resposta

2

Eu poderia acessar meu ataque e fazer backup dos meus arquivos !!

Primeiro, removi o dispositivo reserva. Então eu verifiquei os outros dispositivos. Havia dois dispositivos com setores defeituosos e eu sabia que o ataque iria falhar novamente enquanto ressincronizava quando queria ler ou gravar em setores defeituosos. Então eu decidi limpar o ataque e criar um novo ataque degradado que não está sincronizando e ainda tem acesso a todos os dados anteriores. Limpei todas as superquadras e criei a invasão deixando de fora um dispositivo danificado com

mdadm --stop /dev/md127 (or /dev/md0)
mdadm --zero-superblock /dev/sd[efgh]1
mdadm --create /dev/md127 --level=5 --raid-devices=4 --assume-clean /dev/sde1 /dev/sdf1 /dev/sdg1 missing

Importante é a ordem original dos dispositivos para o ataque original e para criar o novo ataque na mesma ordem, bem como para usar o parâmetro - assume-clean ! Você pode obter o pedido original com

mdadm --examine /dev/sd[efghi]1

Dê uma olhada em Papel do dispositivo .

Depois de recriar o raid usando o assume-clean, eu poderia montar o md127 e acessar todos os dados diretamente sem fazer qualquer outra coisa.

    
por 26.05.2015 / 18:33