So fügen Sie versehentlich entfernte Festplatten in RAID5 erneut hinzu

14

Ich habe ein NAS auf Ubuntu Server mit 4 Festplatten mit 2 TB in RAID 5. Vor ein paar Wochen ist eine der Festplatten ausgefallen, aber mein RAID hat funktioniert, obwohl es beeinträchtigt ist. Zum Glück gab es noch Garantie und mir wurde eine neue Festplatte zugeschickt, die ich heute installiert habe. Beim Versuch, die neue Festplatte zum RAID hinzuzufügen, wurde sie jedoch nicht neu erstellt. Also habe ich die Festplatte ausgesteckt und den Rechner neu gestartet. Ich habe jedoch versehentlich eine meiner ANDEREN Festplatten im RAID als fehlerhaft eingestuft und sie mit mdadm entfernt.

Jetzt heißt es, mein RAID hat zwei Festplatten entfernt. Ich habe immer noch meine 3. Festplatte mit allen meinen Daten intakt, aber ich weiß nicht, wie ich sie wieder in das RAID-Array einfügen soll, so dass es wieder in einem guten (obwohl herabgesetzten) Zustand ist, so dass ich fortfahren kann, Daten hinzuzufügen die 4. Festplatte und erstellen Sie das Array neu. Ist es möglich, dass Ubuntu erkennt, dass meine Daten auf der dritten Festplatte gespeichert sind, und dass Ubuntu sie einfach wieder als Teil des Arrays erkennt?

Wenn ich versuche zu rennen:

sudo mdadm --manage /dev/md127 --re-add /dev/sdd1 

Es sagt:

mdadm: --re-add for /dev/sdd1 to dev/md127 is not possible

Bitte, jede Hilfe, die jemand geben kann, wäre sehr, sehr dankbar.

Chunky56
quelle
1
Ich glaube, ich habe es geschafft, es wieder in einen degradierten Zustand zu bringen. Ich konnte den Befehl mdadm --assemble --force in der Dokumentation verwenden und glaube, dass er auf eine Situation zurückzuführen ist, in der mindestens drei der vier Laufwerke funktionieren. Für alle, die in Zukunft auf dieses Problem stoßen, ist dies der Befehl, den ich verwendet habe (vorausgesetzt, die drei funktionierenden Laufwerke sind sdb, sdc, sdd, jeder mit einzelnen Partitionen von sdb1, sdc1, sdd1): Code: sudo mdadm --assemble - force / dev / md127 / dev / sdb1 / dev / sdc1 / dev / sdd1 (sudo kann je nach Ihrer Situation nicht erforderlich sein)
Chunky56

Antworten:

5

Möglicherweise müssen Sie nur ein --addund kein --re-add. Wenn Sie die Manpage darüber lesen, wird --re-addüber das erneute Hinzufügen des Geräts gesprochen, wenn die Ereignisanzahl in der Nähe der übrigen Geräte liegt. Sie können --examinedies herausfinden.

$ mdadm --examine /dev/sd[a-z]1 | egrep 'Event|/dev/sd'
mdadm: No md superblock detected on /dev/sda1.
/dev/sdb1:
         Events : 992655
/dev/sdd1:
         Events : 992655
/dev/sde1:
         Events : 992655
/dev/sdf1:
         Events : 992655
/dev/sdg1:
         Events : 158
/dev/sdh1:
         Events : 992655
/dev/sdj1:
         Events : 992655

Wie Sie sehen können, war mein /dev/sdh1Gerät einige Zeit nicht im Array und --re-addwird nicht funktionieren. Sie müssen ein --add ausführen und das Array wiederherstellen.

Sie können mdadm --detail /dev/md126damit beobachten, was gerade passiert. Es ist vielleicht keine schlechte Idee, dies auszuführen, bevor Sie etwas unternehmen. Schließlich sind dies Ihre Daten!

$ mdadm --detail /dev/md126
/dev/md126:
        Version : 1.2
  Creation Time : Tue Jun 24 05:17:47 2014
     Raid Level : raid6
     Array Size : 14650158080 (13971.48 GiB 15001.76 GB)
  Used Dev Size : 2930031616 (2794.30 GiB 3000.35 GB)
   Raid Devices : 7
  Total Devices : 7
    Persistence : Superblock is persistent

    Update Time : Thu Nov  6 05:47:56 2014
          State : clean, degraded, recovering
 Active Devices : 6
Working Devices : 7
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 512K

 Rebuild Status : 0% complete

           Name : omegacentauri:0  (local to host omegacentauri)
           UUID : 9fdcacc0:14f7ef3c:a6931b47:bfb8b4a1
         Events : 992656

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       49        1      active sync   /dev/sdd1
       2       8       65        2      active sync   /dev/sde1
       3       8       81        3      active sync   /dev/sdf1
       4       8       97        4      active sync   /dev/sdg1
       5       8      145        5      active sync   /dev/sdj1
       7       8      113        6      spare rebuilding   /dev/sdh1

oder Sie können dies auch verwenden:

$ cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md126 : active raid6 sdh1[7] sdg1[4] sdj1[5] sdf1[3] sdd1[1] sde1[2] sdb1[0]
      14650158080 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/6] [UUUUUU_]
      [>....................]  recovery =  0.9% (26657536/2930031616) finish=1162.5min speed=41624K/sec

md127 : active (auto-read-only) raid1 sdi[1] sdc[0]
      1465007360 blocks super 1.2 [2/2] [UU]

Ich bin nicht verantwortlich für Ihre verlorenen Daten.

lockwobr
quelle