RAID-Anleitung · 3 min read · Dec 25, 2025

Austausch einer defekten Festplatte in einem Software RAID1-Array

Diese Anleitung zeigt, wie man eine defekte Festplatte aus einem Linux RAID1-Array (Software RAID) entfernt und wie man eine neue Festplatte zum RAID1-Array hinzufügt, ohne Daten zu verlieren.

HINWEIS: Es gibt eine neue Version dieses Tutorials, die gdisk anstelle von sfdisk verwendet, um GPT-Partitionen zu unterstützen.

1 Vorbemerkung

In diesem Beispiel habe ich zwei Festplatten, /dev/sda und /dev/sdb, mit den Partitionen /dev/sda1 und /dev/sda2 sowie /dev/sdb1 und /dev/sdb2.

/dev/sda1 und /dev/sdb1 bilden das RAID1-Array /dev/md0.

/dev/sda2 und /dev/sdb2 bilden das RAID1-Array /dev/md1.

/dev/sda1 + /dev/sdb1 = /dev/md0
/dev/sda2 + /dev/sdb2 = /dev/md1

/dev/sdb ist ausgefallen, und wir möchten es ersetzen.

2 Wie erkenne ich, ob eine Festplatte ausgefallen ist?

Wenn eine Festplatte ausgefallen ist, finden Sie wahrscheinlich viele Fehlermeldungen in den Protokolldateien, z.B. /var/log/messages oder /var/log/syslog.

Sie können auch ausführen

cat /proc/mdstat

und anstelle des Strings [UU] sehen Sie [U_], wenn Sie ein degradiertes RAID1-Array haben.

3 Entfernen der defekten Festplatte

Um /dev/sdb zu entfernen, markieren wir /dev/sdb1 und /dev/sdb2 als ausgefallen und entfernen sie aus ihren jeweiligen RAID-Arrays (/dev/md0 und /dev/md1).

Zuerst markieren wir /dev/sdb1 als ausgefallen:

mdadm --manage /dev/md0 --fail /dev/sdb1

Die Ausgabe von

cat /proc/mdstat

sollte so aussehen:

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0] sdb1[2](F)  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/2] [UU]  
  
unused devices: 

Dann entfernen wir /dev/sdb1 aus /dev/md0:

mdadm --manage /dev/md0 --remove /dev/sdb1

Die Ausgabe sollte so aussehen:

server1:~# mdadm --manage /dev/md0 --remove /dev/sdb1  
mdadm: hot removed /dev/sdb1

Und

cat /proc/mdstat

sollte dies anzeigen:

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0]  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/2] [UU]  
  
unused devices: 

Jetzt wiederholen wir die gleichen Schritte für /dev/sdb2 (das Teil von /dev/md1 ist):

mdadm --manage /dev/md1 --fail /dev/sdb2
cat /proc/mdstat
server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0]  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0] sdb2[2](F)  
      24418688 blocks [2/1] [U_]  
  
unused devices: 
mdadm --manage /dev/md1 --remove /dev/sdb2
server1:~# mdadm --manage /dev/md1 --remove /dev/sdb2  
mdadm: hot removed /dev/sdb2
cat /proc/mdstat
server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0]  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0]  
      24418688 blocks [2/1] [U_]  
  
unused devices: 

Dann schalten Sie das System aus:

shutdown -h now

und ersetzen Sie die alte /dev/sdb-Festplatte durch eine neue (sie muss mindestens die gleiche Größe wie die alte haben - wenn sie nur ein paar MB kleiner als die alte ist, schlägt der Wiederaufbau der Arrays fehl).

4 Hinzufügen der neuen Festplatte

Nachdem Sie die Festplatte /dev/sdb gewechselt haben, starten Sie das System.

Das erste, was wir jetzt tun müssen, ist, die genau gleiche Partitionierung wie auf /dev/sda zu erstellen. Das können wir mit einem einfachen Befehl tun:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Sie können ausführen

fdisk -l

um zu überprüfen, ob beide Festplatten jetzt die gleiche Partitionierung haben.

Als nächstes fügen wir /dev/sdb1 zu /dev/md0 und /dev/sdb2 zu /dev/md1 hinzu:

mdadm --manage /dev/md0 --add /dev/sdb1
server1:~# mdadm --manage /dev/md0 --add /dev/sdb1  
mdadm: re-added /dev/sdb1
mdadm --manage /dev/md1 --add /dev/sdb2
server1:~# mdadm --manage /dev/md1 --add /dev/sdb2  
mdadm: re-added /dev/sdb2

Jetzt werden beide Arrays (/dev/md0 und /dev/md1) synchronisiert. Führen Sie aus

cat /proc/mdstat

um zu sehen, wann es fertig ist.

Während der Synchronisierung sieht die Ausgabe so aus:

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0] sdb1[1]  
      24418688 blocks [2/1] [U_]  
      [=>...................]  recovery =  9.9% (2423168/24418688) finish=2.8min speed=127535K/sec  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/1] [U_]  
      [=>...................]  recovery =  6.4% (1572096/24418688) finish=1.9min speed=196512K/sec  
  
unused devices: 

Wenn die Synchronisierung abgeschlossen ist, sieht die Ausgabe so aus:

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0] sdb1[1]  
      24418688 blocks [2/2] [UU]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/2] [UU]  
  
unused devices: 

Das war’s, Sie haben /dev/sdb erfolgreich ersetzt!

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.