www.bimminger.at

Tipps / Linux

Linux

Fehlerhafte Partition/Festplatte wieder in RAID einhängen


Wenn bei einem RAID mal was schief läuft oder sich ein Hardwaredefkt anbahnt dann kann es schon mal sein dass sich eine Partition abmeldet. Das erkennt man dann via

cat /proc/mdstat

Hier liest man dann einen Output in dieser Form:

Personalities : [raid0] [raid1] 
md1 : active raid1 sda2[0] sdb2[2](F)
      486279424 blocks [2/1] [U_]
      
md0 : active raid1 sda1[0] sdb1[1]
      2104448 blocks [2/2] [UU]
      
unused devices: none

Und hier erkennt man an [U_] schon mal dass hier beim Raid md1 eine Platte ausgefallen ist. Nachdem aber in diesem Fall eine weitere Partition auf dieser Platte in einem RAID noch aktiv ist wollen wir uns das im Detail näher ansehen und versuchen das RAID wiederherzustellen.

Mit diesem Aufruf nochmal zur Sicherheit die Details auflisten:

mdadm --detail /dev/md1


Die Ausgabe wird dann schon entwas umfangreicher aber die Aussage ist die gleiche, beim RAID md1 wurde eine Partition (sdb2) der Platte sdb ausgehängt und als "faulty spare" vermerkt.

/dev/md1:
        Version : 00.90.03
  Creation Time : Mon Oct 13 16:08:36 2008
     Raid Level : raid1
     Array Size : 486279424 (463.75 GiB 497.95 GB)
    Device Size : 486279424 (463.75 GiB 497.95 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Wed Oct 16 16:22:28 2019
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

           UUID : b4e5c2d0:25139425:d02e22d9:1595c9b6
         Events : 0.790942

    Number   Major   Minor   RaidDevice State
       0       8        2        0      active sync   /dev/sda2
       1       0        0        1      removed

       2       8       18        -      faulty spare   /dev/sdb2



So jetzt ist der Zeitpunkt für ein Backup für alle die auf Nummer Sicher gehen wollen.


Dann schrittweise zuerst die fehlerhafte Platte aus dem RAID entfernen:

mdadm /dev/md1 -r /dev/sdb2


und im nächsten Schritt versuchen die Platte wieder hinzufügen:

mdadm /dev/md1 -a /dev/sdb2



Im Anschluss kann man mit der detaillierten Ausgabe wieder prüfen ob alles glatt läuft:

mdadm --detail /dev/md1

Und hier erscheint dann im Block unten der Hinweis dass die Platte wieder gesynct wird (spare rebuilding ).

/dev/md1:
        Version : 00.90.03
  Creation Time : Mon Oct 13 16:08:36 2008
     Raid Level : raid1
     Array Size : 486279424 (463.75 GiB 497.95 GB)
    Device Size : 486279424 (463.75 GiB 497.95 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Wed Oct 16 16:23:04 2019
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

 Rebuild Status : 0% complete

           UUID : b4e5c2d0:25139425:d02e22d9:1595c9b6
         Events : 0.790970

    Number   Major   Minor   RaidDevice State
       0       8        2        0      active sync   /dev/sda2
       2       8       18        1      spare rebuilding   /dev/sdb2



Die gleiche Info erhält man mit

cat /proc/mdstat

wie oben gibt es den Hinweis auf "recovery" und eine Prozentanzeige.

Personalities : [raid0] [raid1]
md1 : active raid1 sdb2[2] sda2[0]
      486279424 blocks [2/1] [U_]
      [>....................]  recovery =  2.0% (9770048/486279424) finish=132.5min speed=59926K/sec

md0 : active raid1 sda1[0] sdb1[1]
      2104448 blocks [2/2] [UU]

unused devices: none