Mdadm recovery und resync
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. |
---|
Der folgende Artikel betrachtet die Operationen Recovery und Resync des Linux Software RAID Tools mdadm näher. Es werden die einzelnen Kommandos aufgezeigt und die Ausgaben erklärt.
Rebuild/Recovery durchführen
Folgende Eigenschaften treffen auf einen Rebuild zu:[1]
- befüllen einer neuen Disk mit relevanten Informationen aus einem bestehenden Array
- unter der Annahme dass sämtliche Daten neu geschrieben werden müssen und dass die Daten aus dem bestehenden Array korrekt sind
- wird ausgeführt wenn eine Disk ersetzt wurde
Manuellen Recovery erzwingen
Partition absichtlich faulty setzen
root@ubuntumdraidtest:~# mdadm --manage --set-faulty /dev/mdN /dev/sdX1 mdadm: set /dev/sdX1 faulty in /dev/mdN
Statusanzeige des Software-RAIDs
root@ubuntumdraidtest:~# mdadm -D /dev/mdN
liefert folgende Übersicht:
/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 : Mon Oct 7 08:11:41 2013 State : clean, degraded Active Devices : 1 Working Devices : 1 Failed Devices : 1 Spare Devices : 0 Name : ubuntumdraidtest:0 (local to host ubuntumdraidtest) UUID : ebe7bfba:a20bf402:f7954545:d920460f Events : 471 Number Major Minor RaidDevice State 3 8 17 0 active sync /dev/sdb1 1 0 0 1 removed 2 8 33 - faulty spare /dev/sdc1
Hier wurde die Partition sdc1 des RAIDs md0 auf faulty gesetzt und wird nun als faulty spare angezeigt. Der Status des RAIDs wechselte von clean auf clean, degraded.
SDX1 hot remove
root@ubuntumdraidtest:~# mdadm --manage /dev/mdN -r /dev/sdX1 mdadm: hot removed /dev/sdX1 from /dev/mdN
SDX1 add
root@ubuntumdraidtest:~# mdadm --manage /dev/mdN -a /dev/sdX1 mdadm: added /dev/sdX1
Visualisierung
cat /proc/mdstat
liefert:
md0 : active raid1 sdc1[2] sdb1[3] 2095040 blocks super 1.2 [2/1] [U_] [>....................] recovery = 0.4% (9600/2095040) finish=3.6min spe ed=9600K/sec unused devices: <none>
nmon zeigt dass von /dev/sdb gelesen und auf /dev/sdc geschrieben wird.
┌nmon─13g──────[H for help]───Hostname=ubuntumdraidtRefresh= 2secs ───15:08.05─┐ │ Disk I/O ──/proc/diskstats────mostly in KB/s─────Warning:contains duplicates─│ │DiskName Busy Read WriteMB|0 |25 |50 |75 100|│ │sda 0% 0.0 0.0| > |│ │sda1 0% 0.0 0.0|> |│ │sda2 0% 0.0 0.0|>disk busy not available |│ │sda5 0% 0.0 0.0| > |│ │sdb 5% 66.3 0.0|RRR > |│ │sdb1 6% 66.3 0.0|RRR > |│ │sdc 72% 0.0 65.3|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW >│ │sdc1 72% 0.0 65.3|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW >│ │sdd 0% 0.0 0.0|> |│ │sdd1 0% 0.0 0.0|>disk busy not available |│ │dm-0 0% 0.0 0.0| > |│ │dm-1 0% 0.0 0.0|> |│ │md0 0% 0.0 0.0|>disk busy not available |│ │Totals Read-MB/s=132.6 Writes-MB/s=130.7 Transfers/sec=541.7 │ │──────────────────────────────────────────────────────────────────────────────│
Verhalten bei Verwendung einer Spare-Disk
Wenn ein RAID mit einer Spare-Disk betrieben wird, springt diese für die auf faulty gesetzte Disk ein.
Es wird automatisch ein Rebuild durchgeführt. Die auf faulty gesetzte Disk erscheint in der Ausgabe von mdadm -D /dev/mdN
als faulty spare.
Um sie nun wieder in den Verbund als Spare-Disk aufzunehmen, muss sie mittels mdadm --manage /dev/mdN -r /dev/sdX1
zuerst entfernt und anschließend wieder hinzugefügt werden mdadm --manage /dev/mdN -a /dev/sdd1
.
Resync
Folgende Eigenschaften treffen auf einen Resync zu:[1]
- Sicherstellung dass alle Daten im Array synchron bzw. konsistent sind
- Annahme dass die Daten in Ordnung sind (sein sollten)
- Im Falle eines Fehlers beim Lesen eines Devices werden die Daten von einem anderen Device auf alle anderen geschrieben
Manuellen Resync erzwingen
Array stoppen
root@ubuntumdraidtest:~# mdadm --stop /dev/mdN mdadm: stopped /dev/mdN
Resync ausführen
root@ubuntumdraidtest:~# mdadm --assemble --run --force --update=resync /dev/mdN /dev/sdX1 /dev/sdX1 mdadm: /dev/mdN has been started with 2 drives.
- Weitere Informationen siehe: [2]
- Eine Auflistung von Befehlen finden Sie unter
/usr/share/doc-base/mdadm-readme-recipes
.
Visualisierung
cat /proc/mdstat
liefert:
Every 2.0s: cat /proc/mdstat Wed Sep 25 15:19:59 2013 Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdb1[0] sdc1[1] 2095040 blocks super 1.2 [2/2] [UU] [===>.................] resync = 19.7% (414656/2095040) finish=0.2min speed=138218K/sec unused devices: <none>
Einzelnachweise
- ↑ 1,0 1,1 Linux RAID Wiki recovery and resync (raid.wiki.kernel.org)
- ↑ Resync auf einem Software-RAID erzwingen (web.archive.org)
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. |