Linux/RAID/Recovery: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| Zeile 17: | Zeile 17: | ||
=== Recovery erzwingen === | === Recovery erzwingen === | ||
==== Partition ''faulty'' setzen ==== | ==== Partition ''faulty'' setzen ==== | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line> | ||
| Zeile 27: | Zeile 25: | ||
==== Status anzeigen ==== | ==== Status anzeigen ==== | ||
; Statusanzeige des Software-RAIDs | ; Statusanzeige des Software-RAIDs | ||
<syntaxhighlight lang="bash" highlight="1" line> | |||
# mdadm -D /dev/mdN | # mdadm -D /dev/mdN | ||
/dev/md0: | /dev/md0: | ||
| Zeile 54: | Zeile 53: | ||
2 8 33 - faulty spare /dev/sdc1 | 2 8 33 - faulty spare /dev/sdc1 | ||
</syntaxhighlight> | |||
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'''. | 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'''. | ||
| Zeile 59: | Zeile 59: | ||
==== Hot remove ==== | ==== Hot remove ==== | ||
; SDX1 hot remove | ; SDX1 hot remove | ||
<syntaxhighlight lang="bash" highlight="1" line> | |||
# mdadm --manage /dev/mdN -r /dev/sdX1 | # mdadm --manage /dev/mdN -r /dev/sdX1 | ||
mdadm: hot removed /dev/sdX1 from /dev/mdN | mdadm: hot removed /dev/sdX1 from /dev/mdN | ||
</syntaxhighlight> | |||
=== Datenträger hinzufügen === | === Datenträger hinzufügen === | ||
; SDX1 add | ; SDX1 add | ||
<syntaxhighlight lang="bash" highlight="1" line> | |||
# mdadm --manage /dev/mdN -a /dev/sdX1 | # mdadm --manage /dev/mdN -a /dev/sdX1 | ||
mdadm: added /dev/sdX1 | mdadm: added /dev/sdX1 | ||
</syntaxhighlight> | |||
=== Kontrolle === | === Kontrolle === | ||
; /proc/mdstat | ; /proc/mdstat | ||
<syntaxhighlight lang="bash" highlight="1" line> | |||
cat /proc/mdstat | cat /proc/mdstat | ||
md0 : active raid1 sdc1[2] sdb1[3] | md0 : active raid1 sdc1[2] sdb1[3] | ||
| Zeile 75: | Zeile 80: | ||
unused devices: <none> | unused devices: <none> | ||
</syntaxhighlight> | |||
; nmon | ; nmon | ||
[[nmon]] zeigt dass von /dev/sdb gelesen und auf /dev/sdc geschrieben wird | [[nmon]] zeigt dass von /dev/sdb gelesen und auf /dev/sdc geschrieben wird | ||
<syntaxhighlight lang="bash" highlight="1" line> | |||
┌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─│ | ||
| Zeile 97: | Zeile 103: | ||
│Totals Read-MB/s=132.6 Writes-MB/s=130.7 Transfers/sec=541.7 │ | │Totals Read-MB/s=132.6 Writes-MB/s=130.7 Transfers/sec=541.7 │ | ||
│──────────────────────────────────────────────────────────────────────────────│ | │──────────────────────────────────────────────────────────────────────────────│ | ||
</syntaxhighlight> | |||
=== Spare-Disk === | === Spare-Disk === | ||
| Zeile 103: | Zeile 110: | ||
Um sie nun wieder in den Verbund als Spare-Disk aufzunehmen, muss sie mittels | Um sie nun wieder in den Verbund als Spare-Disk aufzunehmen, muss sie mittels | ||
<syntaxhighlight lang="bash" highlight="1" line> | |||
mdadm --manage /dev/mdN -r /dev/sdX1 | mdadm --manage /dev/mdN -r /dev/sdX1 | ||
</syntaxhighlight> | |||
zuerst entfernt und anschließend wieder hinzugefügt werden | zuerst entfernt und anschließend wieder hinzugefügt werden | ||
<syntaxhighlight lang="bash" highlight="1" line> | |||
mdadm --manage /dev/mdN -a /dev/sdd1 | mdadm --manage /dev/mdN -a /dev/sdd1 | ||
</syntaxhighlight> | |||
== Resync == | == Resync == | ||
| Zeile 114: | Zeile 126: | ||
=== Resync erzwingen === | === Resync erzwingen === | ||
==== Array stoppen ==== | ==== Array stoppen ==== | ||
<syntaxhighlight lang="bash" highlight="1" line> | |||
# mdadm --stop /dev/mdN | # mdadm --stop /dev/mdN | ||
mdadm: stopped /dev/mdN | mdadm: stopped /dev/mdN | ||
</syntaxhighlight> | |||
==== Resync ausführen ==== | ==== Resync ausführen ==== | ||
<syntaxhighlight lang="bash" highlight="1" line> | |||
# mdadm --assemble --run --force --update=resync /dev/mdN /dev/sdX1 /dev/sdX1 | # 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. | ||
</syntaxhighlight> | |||
Weitere Informationen siehe | |||
* Eine Auflistung von Befehlen finden Sie unter <code>/usr/share/doc-base/mdadm-readme-recipes</code>. | * Eine Auflistung von Befehlen finden Sie unter <code>/usr/share/doc-base/mdadm-readme-recipes</code>. | ||
==== Visualisierung ==== | ==== Visualisierung ==== | ||
<code>cat /proc/mdstat</code> liefert | <code>cat /proc/mdstat</code> liefert | ||
<syntaxhighlight lang="bash" highlight="1" line> | |||
Every 2.0s: cat /proc/mdstat Wed Sep 25 15:19:59 2013 | Every 2.0s: cat /proc/mdstat Wed Sep 25 15:19:59 2013 | ||
| Zeile 137: | Zeile 152: | ||
unused devices: <none> | unused devices: <none> | ||
</syntaxhighlight> | |||
<noinclude> | <noinclude> | ||
Version vom 7. März 2025, 10:07 Uhr
Linux/RAID/Recovery - Rebuild/Recovery durchführen
Beschreibung
| Option | Beschreibung |
|---|---|
| Rebuild | |
| Resync |
Rebuild
Eigenschaften eines Rebuild
- befüllen einer neuen Disc mit Daten aus einem bestehenden Array
- unter der Annahme, dass sämtliche Daten neu geschrieben werden müssen und die Daten aus dem bestehenden Array korrekt sind
- wird ausgeführt, wenn eine Disc ersetzt wurde
Recovery erzwingen
Partition faulty setzen
sudo mdadm --manage --set-faulty /dev/mdN /dev/sdX1
mdadm: set /dev/sdX1 faulty in /dev/mdN
Status anzeigen
- Statusanzeige des Software-RAIDs
# mdadm -D /dev/mdN
/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.
Hot remove
- SDX1 hot remove
# mdadm --manage /dev/mdN -r /dev/sdX1
mdadm: hot removed /dev/sdX1 from /dev/mdN
Datenträger hinzufügen
- SDX1 add
# mdadm --manage /dev/mdN -a /dev/sdX1
mdadm: added /dev/sdX1
Kontrolle
- /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 speed=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 │
│──────────────────────────────────────────────────────────────────────────────│
Spare-Disk
- Verhalten mit Spare-Disks
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
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>
Anhang
Siehe auch
Links
Weblinks
- https://www.thomas-krenn.com/de/wiki/Mdadm_recovery_und_resync
- Resync auf einem Software-RAID erzwingen (web.archive.org)
- https://www.thomas-krenn.com/de/wiki/Mdadm_checkarray
- https://www.thomas-krenn.com/de/wiki/Mdadm_recover_degraded_Array
- https://www.thomas-krenn.com/de/wiki/Ubuntu-Server-Installation_mit_Software-RAID
- https://raid.wiki.kernel.org (Linux RAID Wiki recovery and resync=