Linux/RAID/Recovery: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| Zeile 51: | Zeile 51: | ||
==== Visualisierung ==== | ==== Visualisierung ==== | ||
; /proc/mdstat | |||
cat /proc/mdstat | |||
md0 : active raid1 sdc1[2] sdb1[3] | md0 : active raid1 sdc1[2] sdb1[3] | ||
2095040 blocks super 1.2 [2/1] [U_] | 2095040 blocks super 1.2 [2/1] [U_] | ||
| Zeile 58: | Zeile 59: | ||
unused devices: <none> | unused devices: <none> | ||
nmon zeigt dass von /dev/sdb gelesen und auf /dev/sdc geschrieben wird | |||
; nmon | |||
nmon zeigt dass von /dev/sdb gelesen und auf /dev/sdc geschrieben wird | |||
┌nmon─13g──────[H for help]───Hostname=ubuntumdraidtRefresh= 2secs ───15:08.05─┐ | ┌nmon─13g──────[H for help]───Hostname=ubuntumdraidtRefresh= 2secs ───15:08.05─┐ | ||
│ Disk I/O ──/proc/diskstats────mostly in KB/s─────Warning:contains duplicates─│ | │ Disk I/O ──/proc/diskstats────mostly in KB/s─────Warning:contains duplicates─│ | ||
Version vom 3. März 2025, 09:49 Uhr
Linux/RAID/Recovery - Rebuild/Recovery durchführen
Rebuild
Folgende Eigenschaften treffen auf einen Rebuild zu
- 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
# mdadm --manage --set-faulty /dev/mdN /dev/sdX1 mdadm: set /dev/sdX1 faulty in /dev/mdN
Statusanzeige des Software-RAIDs
# 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
# mdadm --manage /dev/mdN -r /dev/sdX1 mdadm: hot removed /dev/sdX1 from /dev/mdN
SDX1 add
# mdadm --manage /dev/mdN -a /dev/sdX1 mdadm: added /dev/sdX1
Visualisierung
- /proc/mdstat
cat /proc/mdstat
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
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:
- 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
# mdadm --stop /dev/mdN mdadm: stopped /dev/mdN
Resync ausführen
# mdadm --assemble --run --force --update=resync /dev/mdN /dev/sdX1 /dev/sdX1 mdadm: /dev/mdN has been started with 2 drives.
- Weitere Informationen siehe:
- 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>
Links
- https://www.thomas-krenn.com/de/wiki/Mdadm_recovery_und_resync
- Resync auf einem Software-RAID erzwingen (web.archive.org)
- Mdadm checkarray
- Mdadm recover degraded Array
- Ubuntu-Server-Installation mit Software-RAID
- Linux RAID Wiki recovery and resync (raid.wiki.kernel.org)