Linux/RAID/Recovery: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
'''Linux/RAID/Recovery''' - Rebuild/Recovery durchführen | |||
== Rebuild === | |||
== Rebuild | |||
Folgende Eigenschaften treffen auf einen Rebuild zu: | Folgende Eigenschaften treffen auf einen Rebuild zu: | ||
* befüllen einer neuen Disk mit relevanten Informationen aus einem bestehenden Array | * 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 | * unter der Annahme dass sämtliche Daten neu geschrieben werden müssen und dass die Daten aus dem bestehenden Array korrekt sind | ||
Zeile 11: | Zeile 8: | ||
=== Manuellen Recovery erzwingen === | === Manuellen Recovery erzwingen === | ||
==== Partition absichtlich faulty setzen ==== | ==== Partition absichtlich faulty setzen ==== | ||
# mdadm --manage --set-faulty /dev/mdN /dev/sdX1 | |||
mdadm: set /dev/sdX1 faulty in /dev/mdN | mdadm: set /dev/sdX1 faulty in /dev/mdN | ||
==== Statusanzeige des Software-RAIDs ==== | ==== Statusanzeige des Software-RAIDs ==== | ||
<code> | <code># mdadm -D /dev/mdN</code> liefert folgende Übersicht: | ||
/dev/md0: | /dev/md0: | ||
Version : 1.2 | Version : 1.2 | ||
Zeile 47: | Zeile 43: | ||
==== SDX1 hot remove ==== | ==== SDX1 hot remove ==== | ||
# mdadm --manage /dev/mdN -r /dev/sdX1 | |||
mdadm: hot removed /dev/sdX1 from /dev/mdN | mdadm: hot removed /dev/sdX1 from /dev/mdN | ||
==== SDX1 add ==== | ==== SDX1 add ==== | ||
# mdadm --manage /dev/mdN -a /dev/sdX1 | |||
mdadm: added /dev/sdX1 | mdadm: added /dev/sdX1 | ||
Zeile 97: | Zeile 93: | ||
==== Array stoppen ==== | ==== Array stoppen ==== | ||
# mdadm --stop /dev/mdN | |||
mdadm: stopped /dev/mdN | mdadm: stopped /dev/mdN | ||
==== Resync ausführen ==== | ==== Resync ausführen ==== | ||
# mdadm --assemble --run --force --update=resync /dev/mdN /dev/sdX1 /dev/sdX1 | |||
mdadm: /dev/mdN has been started with 2 drives. | mdadm: /dev/mdN has been started with 2 drives. | ||
Zeile 118: | Zeile 114: | ||
unused devices: <none> | unused devices: <none> | ||
== | == Links == | ||
# Resync auf einem Software-RAID erzwingen (web.archive.org) | # 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) | |||
Mdadm checkarray | |||
Mdadm recover degraded Array | |||
Ubuntu-Server-Installation mit Software-RAID | |||
Version vom 3. März 2025, 10:44 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
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:
- 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
- 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)