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. |