Mdadm recover degraded Array
| 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.
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.
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
|
Autor: Thomas Niedermeier Thomas Niedermeier arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich unter anderem um OPNsense Firewalls, das Thomas-Krenn-Wiki und Firmware Sicherheitsupdates.
|

