Zum Inhalt springen

Linux/RAID/Recovery: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
'''Linux/RAID/Recovery''' - Rebuild/Recovery durchführen


 
== Rebuild ===
 
 
== Rebuild/Recovery durchführen ==
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 ====
  root@ubuntumdraidtest:~# mdadm --manage --set-faulty /dev/mdN /dev/sdX1
  # 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>root@ubuntumdraidtest:~# mdadm -D /dev/mdN</code> liefert folgende Übersicht:
<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 ====
  root@ubuntumdraidtest:~# 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


==== SDX1 add ====
==== SDX1 add ====
  root@ubuntumdraidtest:~# mdadm --manage /dev/mdN -a /dev/sdX1
  # mdadm --manage /dev/mdN -a /dev/sdX1
  mdadm: added /dev/sdX1
  mdadm: added /dev/sdX1


Zeile 97: Zeile 93:


==== Array stoppen ====
==== Array stoppen ====
  root@ubuntumdraidtest:~# mdadm --stop /dev/mdN
  # mdadm --stop /dev/mdN
  mdadm: stopped /dev/mdN
  mdadm: stopped /dev/mdN


==== Resync ausführen ====
==== Resync ausführen ====
  root@ubuntumdraidtest:~# 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.


Zeile 118: Zeile 114:
  unused devices: <none>
  unused devices: <none>


== Einzelnachweise ==
== Links ==
 
#
 
# Resync auf einem Software-RAID erzwingen (web.archive.org)
# Resync auf einem Software-RAID erzwingen (web.archive.org)
 
# Mdadm checkarray
{| class="wikitable"
# Mdadm recover degraded Array
|
# Ubuntu-Server-Installation mit Software-RAID
|Autor: Thomas Niedermeier
# Linux RAID Wiki recovery and resync (raid.wiki.kernel.org)
 
Thomas Niedermeier arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich unter anderem um OPNsense Firewalls, das Thomas-Krenn-Wiki und Firmware Sicherheitsupdates.
 
|}
 
== Das könnte Sie auch interessieren ==
Mdadm checkarray
 
Zum Artikel
 
Mdadm recover degraded Array
 
Zum Artikel
 
Ubuntu-Server-Installation mit Software-RAID
 
Zum Artikel
 
Hauptseite > Archiv > Server-Software Archiv > Linux Archiv > Linux Software RAID Archiv
 
* Linux RAID Wiki recovery and resync (raid.wiki.kernel.org)
*
 
Linux/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

  1. Resync auf einem Software-RAID erzwingen (web.archive.org)
  2. Mdadm checkarray
  3. Mdadm recover degraded Array
  4. Ubuntu-Server-Installation mit Software-RAID
  5. Linux RAID Wiki recovery and resync (raid.wiki.kernel.org)