Linux/RAID/Recovery: Unterschied zwischen den Versionen
Erscheinungsbild
K Textersetzung - „==== Links ====“ durch „=== Links ===“ |
K Textersetzung - „line>“ durch „line copy>“ |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 20: | Zeile 20: | ||
==== Partition ''faulty'' setzen ==== | ==== Partition ''faulty'' setzen ==== | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo mdadm --manage --set-faulty /dev/mdN /dev/sdX1 | sudo mdadm --manage --set-faulty /dev/mdN /dev/sdX1 | ||
mdadm: set /dev/sdX1 faulty in /dev/mdN | mdadm: set /dev/sdX1 faulty in /dev/mdN | ||
Zeile 26: | Zeile 26: | ||
==== Status anzeigen ==== | ==== Status anzeigen ==== | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo mdadm -D /dev/mdN | sudo mdadm -D /dev/mdN | ||
/dev/md0: | /dev/md0: | ||
Zeile 59: | Zeile 59: | ||
==== Hot remove ==== | ==== Hot remove ==== | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo mdadm --manage /dev/mdN -r /dev/sdX1 | sudo mdadm --manage /dev/mdN -r /dev/sdX1 | ||
mdadm: hot removed /dev/sdX1 from /dev/mdN | mdadm: hot removed /dev/sdX1 from /dev/mdN | ||
Zeile 65: | Zeile 65: | ||
=== Datenträger hinzufügen === | === Datenträger hinzufügen === | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo mdadm --manage /dev/mdN -a /dev/sdX1 | sudo mdadm --manage /dev/mdN -a /dev/sdX1 | ||
mdadm: added /dev/sdX1 | mdadm: added /dev/sdX1 | ||
Zeile 71: | Zeile 71: | ||
=== Monitoring === | === Monitoring === | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo cat /proc/mdstat | sudo cat /proc/mdstat | ||
md0 : active raid1 sdc1[2] sdb1[3] | md0 : active raid1 sdc1[2] sdb1[3] | ||
Zeile 83: | Zeile 83: | ||
[[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> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo nmon | sudo nmon | ||
┌nmon─13g──────[H for help]───Hostname=ubuntumdraidtRefresh= 2secs ───15:08.05─┐ | ┌nmon─13g──────[H for help]───Hostname=ubuntumdraidtRefresh= 2secs ───15:08.05─┐ | ||
Zeile 112: | Zeile 112: | ||
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> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo mdadm --manage /dev/mdN -r /dev/sdX1 | sudo mdadm --manage /dev/mdN -r /dev/sdX1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 118: | Zeile 118: | ||
zuerst entfernt und anschließend wieder hinzugefügt werden | zuerst entfernt und anschließend wieder hinzugefügt werden | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo mdadm --manage /dev/mdN -a /dev/sdd1 | sudo mdadm --manage /dev/mdN -a /dev/sdd1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 130: | Zeile 130: | ||
=== Resync erzwingen === | === Resync erzwingen === | ||
==== Array stoppen ==== | ==== Array stoppen ==== | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo mdadm --stop /dev/mdN | sudo mdadm --stop /dev/mdN | ||
mdadm: stopped /dev/mdN | mdadm: stopped /dev/mdN | ||
Zeile 136: | Zeile 136: | ||
==== Resync starten ==== | ==== Resync starten ==== | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo mdadm --assemble --run --force --update=resync /dev/mdN /dev/sdX1 /dev/sdX1 | sudo 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 146: | Zeile 146: | ||
==== Monitoring ==== | ==== Monitoring ==== | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
sudo cat /proc/mdstat | sudo cat /proc/mdstat | ||
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 163: | Zeile 163: | ||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} | ||
=== Links === | === Links === | ||
==== Weblinks ==== | |||
# https://raid.wiki.kernel.org | # https://raid.wiki.kernel.org | ||
# https://www.thomas-krenn.com/de/wiki/Mdadm_recovery_und_resync | # https://www.thomas-krenn.com/de/wiki/Mdadm_recovery_und_resync |
Aktuelle Version vom 11. Mai 2025, 13:46 Uhr
Linux/RAID/Recovery - Rebuild/Recovery durchführen
Beschreibung
Begriffe | Beschreibung |
---|---|
Recovery | RAID wiederherstellen |
Rebuild | Befüllen eines neuen Datentägers mit Daten eines bestehenden Arrays |
Resync | RAID-Devices synchronisieren/Redundanz wiederherstellen |
Rebuild
Befüllen eines neuen Datentägers mit Daten eines bestehenden Arrays
- 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 ein Datenträger ersetzt wurde
Rebuild erzwingen
Partition faulty setzen
sudo mdadm --manage --set-faulty /dev/mdN /dev/sdX1
mdadm: set /dev/sdX1 faulty in /dev/mdN
Status anzeigen
sudo 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
sudo mdadm --manage /dev/mdN -r /dev/sdX1
mdadm: hot removed /dev/sdX1 from /dev/mdN
Datenträger hinzufügen
sudo mdadm --manage /dev/mdN -a /dev/sdX1
mdadm: added /dev/sdX1
Monitoring
sudo 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
sudo nmon
┌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-Datenträger
- Verhalten mit Spare-Disks
Wenn ein RAID mit eine 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
sudo mdadm --manage /dev/mdN -r /dev/sdX1
zuerst entfernt und anschließend wieder hinzugefügt werden
sudo mdadm --manage /dev/mdN -a /dev/sdd1
Resync
- Eigenschaften eines Resync
- Sicherstellung, dass alle Daten im Array synchron/konsistent sind
- Annahme dass die Daten in Ordnung sind (sein sollten)
- Im Falle eines Fehlers beim Lesen eines Device werden die Daten von einem anderen Device auf alle anderen geschrieben
Resync erzwingen
Array stoppen
sudo mdadm --stop /dev/mdN
mdadm: stopped /dev/mdN
Resync starten
sudo mdadm --assemble --run --force --update=resync /dev/mdN /dev/sdX1 /dev/sdX1
mdadm: /dev/mdN has been started with 2 drives.
- Weitere Informationen
Auflistung von Befehlen
Monitoring
sudo cat /proc/mdstat
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://raid.wiki.kernel.org
- https://www.thomas-krenn.com/de/wiki/Mdadm_recovery_und_resync
- 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