2013-06-04 08:15:37 +0000 2013-06-04 08:15:37 +0000
22
22

Hoe kan ik mijn MDADM RAID5-array opnieuw activeren?

Ik ben net verhuisd en daarvoor heb ik mijn server ontmanteld en opnieuw aangesloten. Sindsdien wordt een van mijn MDADM RAID5 arrays als inactief weergegeven:

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>

Het lijkt mij dat het alle schijven heeft gevonden, maar ze om de een of andere reden niet wil gebruiken.

Dus wat betekenen de (S) labels en hoe kan ik MDADM vertellen om de array weer te gaan gebruiken?

[Edit] Ik heb zojuist geprobeerd de array te stoppen en te assembleren met -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.

..en het invoeren van cat /proc/mdstat ziet er niet anders uit.

[Edit2] Niet zeker of het helpt, maar dit is het resultaat van het onderzoeken van elke schijf:

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

Ik heb wat notities die suggereren dat de schijven oorspronkelijk als volgt in elkaar gezet waren:

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

[Edit3]

Als ik door het logboek kijk, lijkt het erop dat het volgende is gebeurd (gebaseerd op de Update Time in de --examine resultaten):

  1. sdb en sdf zijn enige tijd na 13:22 op de 20e eruit gegooid
  2. sdd is enige tijd na 18:37 op de 20e eruit gegooid
  3. sdb is enige tijd na 18:37 op de 20e eruit gegooid
  4. sdb en sdf zijn enige tijd na 13:22 op de 20e eruit gegooid
  5. sdd is enige tijd na 18:37 op de 20e eruit gegooid
  6. de server werd afgesloten ergens na 14:00 op de 1e

Gegeven het feit dat twee schijven (blijkbaar) tegelijkertijd uitvielen, denk ik dat het redelijk veilig is om aan te nemen dat er na dat moment niet meer naar de array geschreven is(?) en dat het dus relatief veilig zou moeten zijn om hem te forceren om hem in de juiste volgorde weer op te starten? Wat is het veiligste commando om dat mee te doen en is er een manier om het te doen zonder wijzigingen te schrijven?

Antwoorden (3)

28
28
28
2013-06-04 09:14:49 +0000

De S labels betekent dat de schijf wordt beschouwd als “reserve”. Je moet proberen de array te stoppen en opnieuw te starten:

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

om de array opnieuw samen te stellen en als dat niet werkt, moet je misschien je mdadm.conf updaten, zie bijvoorbeeld deze vraag voor details over hoe je dat doet.

9
9
9
2014-09-13 01:33:49 +0000

Deze vraag is een beetje oud, maar het antwoord zou iemand kunnen helpen die met een soortgelijke situatie te maken heeft. Kijkend naar de event counts van de mdadm –examine uitvoer die je hebt gegeven, lijken ze dicht genoeg bij elkaar te liggen (955190 - voor sdb1 en sdf1, 955219 voor sde1 en voor sdd1 heb je 955205). Als ze onder de 40-50 liggen, is dit OK, en in dat geval is de aanbevolen handelwijze om uw array handmatig samen te stellen, waarbij u mdadm dwingt om de schijven te accepteren ondanks het verschil in event count:

Stop de array:

mdadm --stop /dev/md0

Probeer dan de array handmatig opnieuw samen te stellen:

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

Controleer de status van de array, om na te gaan of de drive-lijst/structuur in orde is (onderaan de commando-uitvoer staat welke drive welke status heeft en op welke positie in de array staat):

mdadm --detail /dev/md0

Als de structuur OK is, controleer dan de voortgang van de wederopbouw:

cat /proc/mdstat
0
0
0
2013-06-04 09:02:31 +0000

Je kunt Raid md0 activeren met het onderstaande commando

mdadm -A /dev/md0

en dit commando om mdadm.conf bestand bij te werken

mdadm --examine --scan >> /etc/mdadm/mdadm.conf