Ubuntu SW RAID5 reassemble

Crys

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.649
Ich hatte ein Problem, dass eine HDD nicht mehr von Linux erkannt wurde: Ubuntu erkennt HDD nicht wieder
Ich bin dem Fehler auf die Schliche gekommen und denke das eine HDD defekt ist.
Nur beim Test (alle HDDs mal an und wieder abstecken) hat das OS das RAID vergessen ...

Kurzfassung: Es ist ein SW-Linux RAID5 mit 6 HDDs, eine war eine Sicherheits-HDD.
HDDs funktionierten noch einwandfrei (trotz Fehler), bis ich mich auf Fehlersucher begeben hatte.

Ich bin nun auf eine Anleitung gestoßen, aber bin mir nicht sicher, ob ich alles richtig gemacht habe:
Das RAID wird als inaktiv angezeigt:
Code:
root@ChrisXu:~# cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : inactive sdb1[4](S) sdf1[6](S) sde1[5](S) sdd1[0](S) sdc1[1](S)
      14650651962 blocks super 1.2
       
unused devices: <none>
Ich habe versucht es zu starten, dann waren einige HDDs weg:
Code:
root@ChrisXu:~# mdadm --run /dev/md1
mdadm: failed to run array /dev/md1: Input/output error

root@ChrisXu:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : inactive sdb1[4] sdd1[0] sdc1[1]
      8790391177 blocks super 1.2
Die Teile des RAIDs werden aber noch erkannt:
Code:
root@ChrisXu:~# mdadm --examine /dev/sd*1
mdadm: No md superblock detected on /dev/sda1.
/dev/sdb1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
           Name : ChrisXu:1  (local to host ChrisXu)
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
   Raid Devices : 6

 Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
     Array Size : 14650649600 (13971.95 GiB 15002.27 GB)
  Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : e773c6da:5bde2d4b:a89d6660:bf39e13b

    Update Time : Tue Oct 27 17:49:14 2015
       Checksum : 5c04c7f2 - correct
         Events : 179188

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AA.A.. ('A' == active, '.' == missing)
/dev/sdc1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
           Name : ChrisXu:1  (local to host ChrisXu)
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
   Raid Devices : 6

 Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
     Array Size : 14650649600 (13971.95 GiB 15002.27 GB)
  Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 736fa993:e492a83a:29224627:7b53fb34

    Update Time : Tue Oct 27 17:49:14 2015
       Checksum : c45c1640 - correct
         Events : 179188

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AA.A.. ('A' == active, '.' == missing)
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
           Name : ChrisXu:1  (local to host ChrisXu)
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
   Raid Devices : 6

 Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
     Array Size : 14650649600 (13971.95 GiB 15002.27 GB)
  Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 550e928a:52a9a63c:41d08209:23bf6ade

    Update Time : Tue Oct 27 17:49:14 2015
       Checksum : 48eee550 - correct
         Events : 179188

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA.A.. ('A' == active, '.' == missing)
/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
           Name : ChrisXu:1  (local to host ChrisXu)
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
   Raid Devices : 6

 Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
     Array Size : 14650649600 (13971.95 GiB 15002.27 GB)
  Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 72d5a03c:c43057f3:1ba92e5a:429736d6

    Update Time : Tue Oct 27 17:27:55 2015
       Checksum : fa2adfe0 - correct
         Events : 179184

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 4
   Array State : AA.AAA ('A' == active, '.' == missing)
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
           Name : ChrisXu:1  (local to host ChrisXu)
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
   Raid Devices : 6

 Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
     Array Size : 14650649600 (13971.95 GiB 15002.27 GB)
  Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : c3b1168a:74011eb5:1ebc3417:038c1521

    Update Time : Tue Oct 27 17:27:55 2015
       Checksum : 114c94a6 - correct
         Events : 179184

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 5
   Array State : AA.AAA ('A' == active, '.' == missing)
mdadm: No md superblock detected on /dev/sdg1.
Dann habe ich das RAID gestoppt und versucht wiederherzustellen:
Code:
root@ChrisXu:~# mdadm --stop /dev/md1
mdadm: stopped /dev/md1
root@ChrisXu:~# mdadm --assemble --scan --verbose
mdadm: looking for devices for further assembly
mdadm: cannot open device /dev/sr0: No medium found
mdadm: no recogniseable superblock on /dev/sdg1
mdadm: Cannot assemble mbr metadata on /dev/sdg
mdadm: no RAID superblock on /dev/sdf
mdadm: no RAID superblock on /dev/sde
mdadm: no RAID superblock on /dev/sdd
mdadm: no RAID superblock on /dev/sdc
mdadm: no RAID superblock on /dev/sdb
mdadm: no RAID superblock on /dev/sda5
mdadm: no RAID superblock on /dev/sda4
mdadm: no RAID superblock on /dev/sda3
mdadm: no RAID superblock on /dev/sda2
mdadm: no RAID superblock on /dev/sda1
mdadm: no RAID superblock on /dev/sda
mdadm: /dev/sdf1 is identified as a member of /dev/md/1, slot 5.
mdadm: /dev/sde1 is identified as a member of /dev/md/1, slot 4.
mdadm: /dev/sdd1 is identified as a member of /dev/md/1, slot 0.
mdadm: /dev/sdc1 is identified as a member of /dev/md/1, slot 1.
mdadm: /dev/sdb1 is identified as a member of /dev/md/1, slot 3.
mdadm: added /dev/sdc1 to /dev/md/1 as 1
mdadm: no uptodate device for slot 2 of /dev/md/1
mdadm: added /dev/sdb1 to /dev/md/1 as 3
mdadm: added /dev/sde1 to /dev/md/1 as 4 (possibly out of date)
mdadm: added /dev/sdf1 to /dev/md/1 as 5 (possibly out of date)
mdadm: added /dev/sdd1 to /dev/md/1 as 0
mdadm: /dev/md/1 assembled from 3 drives - not enough to start the array.
mdadm: looking for devices for further assembly
mdadm: No arrays found in config file or automatically
Nun wurde nichts mehr erkannt:
Code:
root@ChrisXu:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
unused devices: <none>
Da ist aber alles noch:
Code:
root@ChrisXu:~# mdadm --examine /dev/sd*1
mdadm: No md superblock detected on /dev/sda1.
/dev/sdb1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
           Name : ChrisXu:1  (local to host ChrisXu)
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
   Raid Devices : 6

 Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
     Array Size : 14650649600 (13971.95 GiB 15002.27 GB)
  Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : e773c6da:5bde2d4b:a89d6660:bf39e13b

    Update Time : Tue Oct 27 17:49:14 2015
       Checksum : 5c04c7f2 - correct
         Events : 179188

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AA.A.. ('A' == active, '.' == missing)
/dev/sdc1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
           Name : ChrisXu:1  (local to host ChrisXu)
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
   Raid Devices : 6

 Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
     Array Size : 14650649600 (13971.95 GiB 15002.27 GB)
  Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 736fa993:e492a83a:29224627:7b53fb34

    Update Time : Tue Oct 27 17:49:14 2015
       Checksum : c45c1640 - correct
         Events : 179188

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AA.A.. ('A' == active, '.' == missing)
/dev/sdd1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
           Name : ChrisXu:1  (local to host ChrisXu)
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
   Raid Devices : 6

 Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
     Array Size : 14650649600 (13971.95 GiB 15002.27 GB)
  Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 550e928a:52a9a63c:41d08209:23bf6ade

    Update Time : Tue Oct 27 17:49:14 2015
       Checksum : 48eee550 - correct
         Events : 179188

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA.A.. ('A' == active, '.' == missing)
/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
           Name : ChrisXu:1  (local to host ChrisXu)
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
   Raid Devices : 6

 Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
     Array Size : 14650649600 (13971.95 GiB 15002.27 GB)
  Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 72d5a03c:c43057f3:1ba92e5a:429736d6

    Update Time : Tue Oct 27 17:27:55 2015
       Checksum : fa2adfe0 - correct
         Events : 179184

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 4
   Array State : AA.AAA ('A' == active, '.' == missing)
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : c4236ee8:8d61ac08:65ddda03:efe37f21
           Name : ChrisXu:1  (local to host ChrisXu)
  Creation Time : Wed May 28 13:12:28 2014
     Raid Level : raid5
   Raid Devices : 6

 Avail Dev Size : 5860260785 (2794.39 GiB 3000.45 GB)
     Array Size : 14650649600 (13971.95 GiB 15002.27 GB)
  Used Dev Size : 5860259840 (2794.39 GiB 3000.45 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : c3b1168a:74011eb5:1ebc3417:038c1521

    Update Time : Tue Oct 27 17:27:55 2015
       Checksum : 114c94a6 - correct
         Events : 179184

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 5
   Array State : AA.AAA ('A' == active, '.' == missing)
mdadm: No md superblock detected on /dev/sdg1.
Dann habe ich (blöderweiße !?) den ersten Schritt der Anleitung ausgeführt:
Code:
root@ChrisXu:~# mdadm --zero-superblock /dev/sd[bcdef]1
Und ich habe keine Ahnung, was passiert ist:
Code:
root@ChrisXu:~# mdadm --examine /dev/sd*1
mdadm: No md superblock detected on /dev/sda1.
/dev/sdb1:
   MBR Magic : aa55
Partition[0] :   1917848077 sectors at      6579571 (type 70)
Partition[1] :   1818575915 sectors at   1953251627 (type 43)
Partition[2] :           10 sectors at    225735265 (type 72)
Partition[3] :        51890 sectors at   2642411520 (type 00)
/dev/sdc1:
   MBR Magic : aa55
Partition[0] :   1917848077 sectors at      6579571 (type 70)
Partition[1] :   1818575915 sectors at   1953251627 (type 43)
Partition[2] :           10 sectors at    225735265 (type 72)
Partition[3] :        51890 sectors at   2642411520 (type 00)
mdadm: No md superblock detected on /dev/sdd1.
mdadm: No md superblock detected on /dev/sde1.
mdadm: No md superblock detected on /dev/sdf1.
mdadm: No md superblock detected on /dev/sdg1.

Jetzt soll ich im nächsten Schritt das RAID neu erstellen, aber ich möchte auf keinen Fall Daten verlieren:
Code:
root@ChrisXu:~# mdadm --create /dev/md1 --level=5 --raid-devices=6 --assume-clean /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 missing
mdadm: /dev/sdb1 appears to be part of a raid array:
    level=raid0 devices=0 ctime=Thu Jan  1 01:00:00 1970
mdadm: partition table exists on /dev/sdb1 but will be lost or
       meaningless after creating array
mdadm: /dev/sdc1 appears to be part of a raid array:
    level=raid0 devices=0 ctime=Thu Jan  1 01:00:00 1970
mdadm: partition table exists on /dev/sdc1 but will be lost or
       meaningless after creating array
mdadm: /dev/sde1 appears to contain an ext2fs file system
    size=-1364702208K  mtime=Wed Jun 18 21:33:55 2014
Continue creating array? (y/n) n
mdadm: create aborted.

Soll ich mit YES bestätigen?
Ergänzung ()

Ich habe es auch noch im Ubuntu Forum (en) gepostet und werde morgen (falls sich keine Lösung ergibt) professionelle rufen.
 
Zuletzt bearbeitet: (Ablauf in Spoiler)
Guten Morgen,

ich bin zwar kein Professioneller, aber hab mehrere Linux-SW-Raids ;)

Leider hast du einen Fehler getätigt:
Code:
root@ChrisXu:~# mdadm --zero-superblock /dev/sd[bcdef]1
Damit hast du alle Superblocks, also so etwas wie die Inhaltsverzeichnisse einer HDD bzw. des Raid gelöscht.

Als nächstes, bitte diesen Befehlt NICHT ausführen:
Code:
root@ChrisXu:~# mdadm --create /dev/md1 --level=5 --raid-devices=6 --assume-clean /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf
Damit erzeugst du dir ein neues Raid, aber deine Daten sind ziemlich sicher hinüber.

Also zu deiner Frage, NICHT mit yes bestätigen!


Ich muss mal über das Problem grübeln und suchen, vielleicht finde ich eine Lösung.

Grüße,
süchtla

PS: Sofern du auf die Daten angewiesen bist (Firma etc.) ist professionelle Hilfe sicher nicht schlecht. Aber so eine "Dead-Line" ist in einem Forum meistens nicht sehr hilfreich. Und ich hoffe, du hast ein aktuelles Backup.


EDIT/Fortsetzung:

Ich muss meine Aussage zum Teil revidieren.

Ich habe mehrere Berichte von erfolgreich wiederhergestellten Array gefunden, welche auf dem Befehl basieren, den du schon gefunden hast. Allerdings ist ein Punkt wichtig, du musst die HDDs in der richtigen, originalen Reihenfolge angeben.

Beispiel:
Code:
mdadm --create --assume-clean --level=6 --raid-devices=10 --size=1953513344 /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 missing missing /dev/sdl1 /dev/sdk1 /dev/sdj1

Ich würde dies trotzdem als letzten Ausweg sehen, da für mich nicht klar ersichtlich ist, was mdadm dann macht. Sofern du die Möglichkeit hast, würde ich vorher die HDDs mit dd clonen, damit du eine zweite Chance hast.

Unter anderem ist dieser Artikel sehr ausführlich: Link!

Ansonsten sehe ich keine sinnvolle Lösung.
 
Zuletzt bearbeitet: (Ergänzung)
süchtla schrieb:
PS: Sofern du auf die Daten angewiesen bist (Firma etc.) ist professionelle Hilfe sicher nicht schlecht. Aber so eine "Dead-Line" ist in einem Forum meistens nicht sehr hilfreich. Und ich hoffe, du hast ein aktuelles Backup.
Oh ja, nie in Panik verfallen. Blöderweise habe ich das letzte Backup letzten Sommer gemacht und auf den Server sind fast 16TB an Familien- Fotos, Videos, Studien und Arbeitsunterlagen von 5 Personen.

süchtla schrieb:
[...] Allerdings ist ein Punkt wichtig, du musst die HDDs in der richtigen, originalen Reihenfolge angeben.
Vielen Dank! Das war es, der entscheidende Punkt!
Zum Glück habe ich ja noch das Ergebnis von --examine notiert und konnte die Reihenfolge anhand dessen rekonstruieren ... und es hat geklappt! So wie es scheint ist mir kein Bit verloren gegangen :)

Hast du noch eine Idee zu der Problem Ursache?
Eine HDD ist ja ausgefallen, aber ich wusste nicht welche physikalische HDD das ist.
Wie könnte ich in Zukunft einfach z.B. Port der HDD bestimmen?
Bei 'lsscsi' stimmen die Portnummern nicht und für 'hdparm -i /dev/sdc | grep SerialNo=' konnte ich die Seriennummern nicht mit den HDDs vergleichen, da ich nicht die Beschriftung (durch die enge Bestückung) lesen konnte.
 
Hi,

schön zu hören.
Und gleich ein Backup machen!

Ideen zur Problemursache:
- defekte Disks in der HDD (Headcrash, etc.)
- defekte Elektronik, hier gibts viele Ursachen und Probleme, aber nichts wogegen man effektiv was machen kann
- Häufige Powerloss Abstürze (keine USV)
- defekter SATA Port am Mainboard
Aber all das ist lesen in meiner trüben Glaskugel ;)

Die jeweilige defekte HDD zu bestimmen ist schwierig und einfach zu gleich. Wenn du eine Hotswap-Backplane mit einzelnen LEDs für die HDDs hast, kannst du die LED der defekten HDD per Software zum blinken animieren. Aber das schwierige ist, eine funktionierende Kombination aus Backplane, SATA Controller und Software zu finden. (Es sei denn, du hast fertige Serverhardware a HP, Dell, etc.)
Die einfachste Lösung ist wohl, sich zu notieren, welche HDD (serial) wo drinnen ist. Auf einen guten, alten Zettel mit Kuli und nicht in die Sonne legen ;)
Oder ausschalten und HDDs raus und lesen.

Ich finde es außerdem wichtig, zu wissen, welche Befehle man in so einer Situation braucht, um die defekte HDD zu ersetzen (replace bei mdadm). Das hätte dir einiges an Nervenkitzel erspart. Schreib dir einen kleinen "Crash-Plan", also eine Checkliste für den Fall, dass eine HDD sterben sollte. Den druckst aus und legst zusammen mit den Seriennummern und HDD-Zuordungen zum Server.
Wichtig ist dann nur, dass niemand was ändern ohne die Änderungen zu dokumentieren.

Wen dir deine Daten wirklich wichtig sind, solltest du außerdem vlt. den Umstieg auf ein RAID6 überlegen. Da können zwei HDDs ausfallen ohne Datenverlust. Und statistisch gesehen ist die Wahrscheinlichkeit eines weiteres Ausfalls während des Rebuildens am größsten, da dies eine hohe Belastung für die HDDs darstellt.
Achja, und verschiedene Produktionsdaten und -chargen von HDDs helfen auch, die Wahrscheinlichkeit eines gleichzeitigen Ausfalls zu minimieren.

Grüße,
süchtla
 
Zurück
Oben