Zum Inhalt springen

Linux/RAID/Recovery: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „===== Weblinks =====“ durch „==== Weblinks ====“
K Textersetzung - „ “ durch „ “
 
(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:
        Version : 1.2
    Version : 1.2
  Creation Time : Mon Sep 30 14:59:51 2013
  Creation Time : Mon Sep 30 14:59:51 2013
      Raid Level : raid1
  Raid Level : raid1
      Array Size : 2095040 (2046.28 MiB 2145.32 MB)
  Array Size : 2095040 (2046.28 MiB 2145.32 MB)
  Used Dev Size : 2095040 (2046.28 MiB 2145.32 MB)
  Used Dev Size : 2095040 (2046.28 MiB 2145.32 MB)
    Raid Devices : 2
  Raid Devices : 2
  Total Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
  Persistence : Superblock is persistent
   
   
    Update Time : Mon Oct 7 08:11:41 2013
  Update Time : Mon Oct 7 08:11:41 2013
          State : clean, degraded  
      State : clean, degraded  
  Active Devices : 1
Active Devices : 1
  Working Devices : 1
  Working Devices : 1
  Failed Devices : 1
Failed Devices : 1
  Spare Devices : 0
  Spare Devices : 0
   
   
            Name : ubuntumdraidtest:0 (local to host ubuntumdraidtest)
      Name : ubuntumdraidtest:0 (local to host ubuntumdraidtest)
            UUID : ebe7bfba:a20bf402:f7954545:d920460f
      UUID : ebe7bfba:a20bf402:f7954545:d920460f
          Events : 471
    Events : 471
   
   
    Number   Major   Minor   RaidDevice State
  Number Major Minor RaidDevice State
        3       8       17       0     active sync   /dev/sdb1
    3   8   17   0   active sync /dev/sdb1
        1       0       0       1     removed
    1   0   0   1   removed
   
   
        2       8       33       -     faulty spare   /dev/sdc1
    2   8   33   -   faulty spare /dev/sdc1
</syntaxhighlight>
</syntaxhighlight>


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]
      2095040 blocks super 1.2 [2/1] [U_]
    2095040 blocks super 1.2 [2/1] [U_]
      [>....................] recovery = 0.4% (9600/2095040) finish=3.6min speed=9600K/sec
    [>....................] recovery = 0.4% (9600/2095040) finish=3.6min speed=9600K/sec
   
   
  unused devices: <none>
  unused devices: <none>
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─┐
  │ Disk I/O ──/proc/diskstats────mostly in KB/s─────Warning:contains duplicates─│
  │ Disk I/O ──/proc/diskstats────mostly in KB/s─────Warning:contains duplicates─│
  │DiskName Busy Read WriteMB|0         |25         |50         |75       100|│
  │DiskName Busy Read WriteMB|0     |25     |50     |75   100|│
  │sda       0%   0.0   0.0|       >                                       |│
  │sda   0% 0.0 0.0|   >                   |│
  │sda1       0%   0.0   0.0|>                                               |│
  │sda1   0% 0.0 0.0|>                       |│
  │sda2       0%   0.0   0.0|>disk busy not available                         |│
  │sda2   0% 0.0 0.0|>disk busy not available             |│
  │sda5       0%   0.0   0.0| >                                               |│
  │sda5   0% 0.0 0.0| >                       |│
  │sdb       5%   66.3   0.0|RRR             >                               |│
  │sdb   5% 66.3 0.0|RRR       >               |│
  │sdb1       6%   66.3   0.0|RRR             >                               |│
  │sdb1   6% 66.3 0.0|RRR       >               |│
  │sdc       72%   0.0   65.3|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW             >│
  │sdc   72% 0.0 65.3|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW       >│
  │sdc1     72%   0.0   65.3|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW             >│
  │sdc1   72% 0.0 65.3|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW       >│
  │sdd       0%   0.0   0.0|>                                               |│
  │sdd   0% 0.0 0.0|>                       |│
  │sdd1       0%   0.0   0.0|>disk busy not available                         |│
  │sdd1   0% 0.0 0.0|>disk busy not available             |│
  │dm-0       0%   0.0   0.0|       >                                       |│
  │dm-0   0% 0.0 0.0|   >                   |│
  │dm-1       0%   0.0   0.0|>                                               |│
  │dm-1   0% 0.0 0.0|>                       |│
  │md0       0%   0.0   0.0|>disk busy not available                         |│
  │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          
  │Totals Read-MB/s=132.6 Writes-MB/s=130.7 Transfers/sec=541.7    
  │──────────────────────────────────────────────────────────────────────────────│
  │──────────────────────────────────────────────────────────────────────────────│
</syntaxhighlight>
</syntaxhighlight>
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
   
   
  Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
  Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
  md0 : active raid1 sdb1[0] sdc1[1]
  md0 : active raid1 sdb1[0] sdc1[1]
      2095040 blocks super 1.2 [2/2] [UU]
  2095040 blocks super 1.2 [2/2] [UU]
      [===>.................] resync = 19.7% (414656/2095040) finish=0.2min speed=138218K/sec
  [===>.................] resync = 19.7% (414656/2095040) finish=0.2min speed=138218K/sec
   
   
  unused devices: <none>
  unused devices: <none>

Aktuelle Version vom 14. Juni 2026, 00:45 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

  1. https://raid.wiki.kernel.org
  2. https://www.thomas-krenn.com/de/wiki/Mdadm_recovery_und_resync
  3. https://www.thomas-krenn.com/de/wiki/Mdadm_checkarray
  4. https://www.thomas-krenn.com/de/wiki/Mdadm_recover_degraded_Array
  5. https://www.thomas-krenn.com/de/wiki/Ubuntu-Server-Installation_mit_Software-RAID