Mdadm recover degraded Array

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

Dieses Beispiel zeigt wie sich Linux Software RAID verhält, wenn auf einem degraded Array weitergearbeitet wird. Es wird eine Partition gelöscht, das Array gemountet und Daten geschrieben. Anschließend wird die zuvor entfernte Partition mit mdadm wieder hinzugefügt und analysiert, wie mdadm die Daten recovert.

Um ein degraded Array zu erhalten, wird die Partition des RAID-Devices /dev/sdc mittels fdisk gelöscht. Dadurch fehlt eine Partition im RAID-1-Array und das Array wechselt in den Status degraded.

Reboot durchführen

Das System startet im Verbose-Modus und einem Hinweis, dass ein Array degraded ist. Die Zustimmung, dass mit einem degraded Array gestartet werden soll ist nötig.

Boot-Hinweis

Ausgabe von mdstat

  • [U_] bedeutet dass die zweite Festplatte des RAID-Arrays fehlt.
Every 1.0s: cat /proc/mdstat                            Thu Oct  3 09:15:21 2013

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [ra
id10]
md0 : active (auto-read-only) raid1 sdb1[2]
      2095040 blocks super 1.2 [2/1] [U_]

unused devices: <none>

Checkarray wird nicht ausgeführt

Im Status auto-read-only führt Checkarray keine Überprüfung des RAID-Arrays durch:

root@ubuntumdraidtest:~# /usr/share/mdadm/checkarray /dev/md0
checkarray: W: array md0 in auto-read-only state, skipping...

mdadm Ausgabe

mdadm zeigt bei State clean, degraded an und meldet, dass sdc1 nicht vorhanden ist.

root@ubuntumdraidtest:~# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Mon Sep 30 14:59:51 2013
     Raid Level : raid1
     Array Size : 2095040 (2046.28 MiB 2145.32 MB)
  Used Dev Size : 2095040 (2046.28 MiB 2145.32 MB)
   Raid Devices : 2
  Total Devices : 1
    Persistence : Superblock is persistent

    Update Time : Thu Oct  3 09:09:36 2013
          State : clean, degraded 
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

           Name : ubuntumdraidtest:0  (local to host ubuntumdraidtest)
           UUID : ebe7bfba:a20bf402:f7954545:d920460f
         Events : 160

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

Degraded Array beschreiben

Im folgenden Test wird das degraded Arrays gemountet und mit Daten beschrieben. Beim Wiederherstellen des kompletten RAIDs inkl. zweiter Festplatte, müssen diese Daten synchronisiert werden. root@ubuntumdraidtest:~# mount /dev/md0 /mnt root@ubuntumdraidtest:/mnt# dd if=/dev/zero of=/mnt/testfile bs=1M count=1000 oflag=dsync

nmon zeigt eine Schreibaktivität auf /dev/sdb

┌nmon─13g─────────────────────Hostname=ubuntumdraidtRefresh= 2secs ───16:01.20─┐
│ Disk I/O ──/proc/diskstats────mostly in KB/s─────Warning:contains duplicates─│
│DiskName Busy  Read WriteMB|0          |25         |50          |75       100|│
│sda        1%    0.0    0.0|>                                                |│
│sda1       0%    0.0    0.0|>                                                |│
│sda2       0%    0.0    0.0|>disk busy not available                         |│
│sda5       1%    0.0    0.0|>                                                |│
│sdb       90%    0.0   69.3|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW>   |│
│sdb1      91%    0.0   69.3|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW>   |│
│sdc        0%    0.0    0.0|>                                                |│
│sdd        0%    0.0    0.0|>                                                |│
│sdd1       0%    0.0    0.0|>                                                |│
│md0        0%    0.0   69.3|>disk busy not available                         |│
│dm-0       1%    0.0    0.0|>                                                |│
│dm-1       0%    0.0    0.0|>                                                |│
│Totals Read-MB/s=0.0      Writes-MB/s=207.8    Transfers/sec=1026.4           │
│──────────────────────────────────────────────────────────────────────────────│

Partition mittels fdisk neu anlegen

Um das RAID wiederherzustellen, muss die Partition, die im ersten Punkt gelöscht wurde, wieder erzeugt werden:

root@ubuntumdraidtest:~# fdisk /dev/sdc

Die neue Partition mit n anlegen und Kommando t change a partition's system id benutzen, um die id auf fd für Linux raid autodetect abzuändern.

Partition zum Array wieder hinzufügen

root@ubuntumdraidtest:~# mdadm --manage /dev/md0 -a /dev/sdc1

Der unten angefügte Screenshot zeigt die Aktivität des Software RAIDs nach dem Hinzufügen von /dev/sdc1. Es wird sofort ein Recovery ausgeführt. Aktivität nach Hinzufügen von /dev/sdc1

Auch die Detailausgabe von mdadm zeigt dass das Array den State clean aufweist und beide Partitionen wieder active sync sind.

root@ubuntumdraidtest:~# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Mon Sep 30 14:59:51 2013
     Raid Level : raid1
     Array Size : 2095040 (2046.28 MiB 2145.32 MB)
  Used Dev Size : 2095040 (2046.28 MiB 2145.32 MB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Fri Oct  4 16:06:32 2013
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : ubuntumdraidtest:0  (local to host ubuntumdraidtest)
           UUID : ebe7bfba:a20bf402:f7954545:d920460f
         Events : 467

    Number   Major   Minor   RaidDevice State
       3       8       17        0      active sync   /dev/sdb1
       2       8       33        1      active sync   /dev/sdc1
Foto Thomas Niedermeier.jpg

Autor: Thomas Niedermeier

Thomas Niedermeier, Abteilung Communications / Knowledge Transfer bei Thomas-Krenn, absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich hier vor allem um das TKwiki. Er ist ein begeisterungsfähiger, technisch interessierter Linux und Mac Nutzer, fährt im Winter gerne Ski und geht im Sommer gern ins Schwimmbad.


Das könnte Sie auch interessieren

Mdadm checkarray
Mdadm recovery und resync