Come posso riattivare il mio array MDADM RAID5?


22

Ho appena cambiato casa e questo ha comportato lo smantellamento del mio server e il ricollegamento. Da allora, uno dei miei array MDADM RAID5 appare inattivo:

root@mserver:/tmp# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md1 : active raid5 sdc1[1] sdh1[2] sdg1[0]
      3907023872 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : inactive sdd1[0](S) sdf1[3](S) sde1[2](S) sdb1[1](S)
      3907039744 blocks

unused devices: <none>

Mi sembra che abbia trovato tutti i dischi ma per qualche motivo non vuole usarli.

Cosa significano le etichette (S) e come posso dire a MDADM di ricominciare a usare l'array?

[Modifica] Ho appena provato a interrompere e assemblare l'array con -v:

root@mserver:~# mdadm --stop /dev/md0
mdadm: stopped /dev/md0

root@mserver:~# mdadm --assemble --scan -v
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdd1 to /dev/md0 as 0 (possibly out of date)
mdadm: added /dev/sdb1 to /dev/md0 as 1 (possibly out of date)
mdadm: added /dev/sdf1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/sde1 to /dev/md0 as 2
mdadm: /dev/md0 assembled from 1 drive - not enough to start the array.

..e entrare nel gatto /proc/mdstatnon sembra diverso.

[Modifica2] Non sono sicuro che sia d'aiuto, ma questo è il risultato dell'esame di ciascun disco:

root @ mserver: ~ # mdadm --examine / dev / sdb1

/dev/sdb1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71a3 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     1       8       17        1      active sync   /dev/sdb1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

root @ mserver: ~ # mdadm --examine / dev / sdd1

/dev/sdd1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sat Apr 20 18:37:23 2013
          State : active
 Active Devices : 2
Working Devices : 2
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c812869 - correct
         Events : 955205

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     0       8      113        0      active sync   /dev/sdh1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver: ~ # mdadm --examine / dev / sde1

/dev/sde1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sun Apr 21 14:00:43 2013
          State : clean
 Active Devices : 1
Working Devices : 1
 Failed Devices : 2
  Spare Devices : 0
       Checksum : 6c90cc70 - correct
         Events : 955219

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     2       8       97        2      active sync   /dev/sdg1

   0     0       0        0        0      removed
   1     1       0        0        1      faulty removed
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       0        0        3      faulty removed

root @ mserver: ~ # mdadm --examine / dev / sdf1

/dev/sdf1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 2f331560:fc85feff:5457a8c1:6e047c67 (local to host mserver)
  Creation Time : Sun Feb  1 20:53:39 2009
     Raid Level : raid5
  Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
     Array Size : 2930279808 (2794.53 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Sat Apr 20 13:22:27 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 6c8f71b7 - correct
         Events : 955190

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     3       8       33        3      active sync   /dev/sdc1

   0     0       8      113        0      active sync   /dev/sdh1
   1     1       8       17        1      active sync   /dev/sdb1
   2     2       8       97        2      active sync   /dev/sdg1
   3     3       8       33        3      active sync   /dev/sdc1

Ho alcune note che suggeriscono che le unità sono state originariamente assemblate come segue:

md0 : active raid5 sdb1[1] sdc1[3] sdh1[0] sdg1[2]
      2930279808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

[Edit3]

Guardando attraverso il registro sembra che sia accaduto quanto segue (in base Update Timeai --examinerisultati):

  1. sdb e sdf sono stati eliminati qualche tempo dopo le 13:22 del 20
  2. sdd è stato eliminato qualche tempo dopo le 18:37 del 20
  3. il server è stato spento qualche tempo dopo le 14:00 del 1 °

Dato che due dischi sono andati in crash (apparentemente) contemporaneamente penso che dovrebbe essere ragionevolmente sicuro supporre che l'array non sarebbe stato scritto dopo quel punto (?) E quindi dovrebbe essere relativamente sicuro costringerlo a reinstallare nel giusto ordine? Qual è il comando più sicuro per farlo e c'è un modo per farlo senza scrivere alcuna modifica?

Risposte:


28

Le Setichette indicano che il disco è considerato "di riserva". Dovresti provare a interrompere e riavviare l'array:

  mdadm --stop /dev/md0
  mdadm --assemble --scan

per riassemblare l'array e, se non funziona, potrebbe essere necessario aggiornare il proprio mdadm.conf, vedere ad esempio questa domanda per i dettagli su come farlo.


Provato che (e ha aggiunto -vdi vedere quello che stava succedendo), ma tutti i dischi che dovrebbero essere aggiunti ottenere le risposte lungo le seguenti linee: mdadm: /dev/sdb1 is busy - skipping.
Jon Cage,

basta fermare md0 e riassemblare l'array
krizna il

ci ho provato - ancora nessuna fortuna (vedi la mia modifica)
Jon Cage il

2
Ok, sembra che pensi che il RAID non sia stato spento correttamente, se sei sicuro di no, prova -Ro -f. In caso contrario, ricreare l'array utilizzando mdadm create /dev/md0 --assume-clean <original create options> /dev/sd[dbfe]1. Attenzione: tutte queste opzioni potrebbero distruggere i tuoi dati.
Stefan Seidel,

3
Beh, ci sono andato e ho mdadm --assemble --scan --forcelavorato. L'array è di nuovo attivo e funzionante e ho accesso ai miei dati :)
Jon Cage,

9

Questa domanda è un po 'vecchia, ma la risposta potrebbe aiutare qualcuno che affronta una situazione simile. Guardando i conteggi degli eventi dall'output di mdadm --examine fornito, sembrano abbastanza vicini (955190 - per sdb1 e sdf1, 955219 per sde1 e per sdd1 hai 955205). Se sono inferiori a 40-50, questo è OK, e in quel caso il corso d'azione consigliato è di assemblare l'array manualmente, costringendo mdadm ad accettare le unità nonostante la differenza del conteggio degli eventi:

Ferma l'array:

mdadm --stop /dev/md0

Quindi provare a riassemblare l'array manualmente:

mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1

Controllare lo stato dell'array, per verificare se l'elenco / la struttura dell'unità è OK (la parte inferiore dell'output del comando mostrerà quale unità si trova in quale stato e in quale posizione nell'array):

mdadm --detail /dev/md0

Se la struttura è OK, controlla l'avanzamento della ricostruzione:

cat /proc/mdstat

0

Puoi attivare Raid md0 con il seguente comando

mdadm -A /dev/md0

e questo comando per aggiornare il file mdadm.conf

mdadm --examine --scan >> /etc/mdadm/mdadm.conf
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.