Technologieführer

RAID1: Ausgefallene Festplatte ersetzen und testen

3 min read Systemadministration Aktualisiert 09 Oct 2025
RAID1: Festplatte ersetzen & testen
RAID1: Festplatte ersetzen & testen

Kurzanleitung: Simuliere einen Festplattenausfall, entferne die defekte Partition aus dem Array, kopiere die Partitionstabelle auf die Ersatzplatte, nulliere alte RAID-Metadaten, füge die neue Platte dem Array hinzu und warte auf die vollständige Resynchronisation. Installiere abschließend den Bootloader auf beiden Laufwerken.

9 Test

In diesem Abschnitt simulieren wir einen Festplattenausfall. Es ist egal, ob /dev/sda oder /dev/sdb ausfällt. Im Beispiel nehmen wir an, dass /dev/sdb ausgefallen ist.

Du kannst die Platte physisch entfernen (System herunterfahren und HDD austauschen) oder sie soft entfernen. Beispiel für das Soft-Removalszenario:

mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm --manage /dev/md1 --fail /dev/sdb2
mdadm --manage /dev/md2 --fail /dev/sdb3

Dann entferne die Partitionen aus dem Array:

mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb2
mdadm --manage /dev/md2 --remove /dev/sdb3

Fahre das System herunter:

shutdown -h now

Setze eine neue Platte ein (oder tausche physisch aus). Wichtiger Hinweis: Wenn du ursprünglich /dev/sda simuliert hast, musst du die neue HDD anstelle von /dev/sda anschließen und die Ersatzplatte als /dev/sdb verfügbar machen, wie im ursprünglichen Setup.

Starte das System neu. Es sollte weiterhin booten. Überprüfe den Zustand des RAID-Arrays:

cat /proc/mdstat

Bei einem ausgefallenen Laufwerk siehst du ein degradiertes Array, zum Beispiel:

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0]
      104320 blocks [2/1] [U_]

md1 : active raid1 sda2[0]
      513984 blocks [2/1] [U_]

md2 : active raid1 sda3[0]
      4618560 blocks [2/1] [U_]

unused devices: 
[root@server1 ~]#

Das Ausgabebeispiel von fdisk -l sollte zeigen, dass die Ersatzplatte noch keine gültige Partitionstabelle hat:

[root@server1 ~]# fdisk -l

Disk /dev/sda: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0007b217

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   fd  Linux raid autodetect
/dev/sda2             14          77      514080   fd  Linux raid autodetect
/dev/sda3             78         652     4618687+  fd  Linux raid autodetect

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/md2: 4729 MB, 4729405440 bytes
2 heads, 4 sectors/track, 1154640 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md2 doesn't contain a valid partition table

Disk /dev/md1: 526 MB, 526319616 bytes
2 heads, 4 sectors/track, 128496 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md0: 106 MB, 106823680 bytes
2 heads, 4 sectors/track, 26080 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table
[root@server1 ~]#

Jetzt kopieren wir die Partitionstabelle von /dev/sda nach /dev/sdb:

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

Wenn sfdisk einen Fehler meldet, versuche die Option –force:

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

Ein typischer erfolgreicher Output sieht so aus:

[root@server1 ~]# sfdisk -d /dev/sda | sfdisk /dev/sdb
Checking that no-one is using this disk right now ...
OK

Disk /dev/sdb: 652 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
 /dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1   *        63    208844     208782  fd  Linux raid autodetect
/dev/sdb2        208845   1237004    1028160  fd  Linux raid autodetect
/dev/sdb3       1237005  10474379    9237375  fd  Linux raid autodetect
/dev/sdb4             0         -         0   0  Empty
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
[root@server1 ~]#

Anschließend entfernst du alte RAID-Signaturen von /dev/sdb, falls vorhanden:

mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdb3

Füge dann die neuen Partitionen dem RAID-Array hinzu:

mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb2
mdadm -a /dev/md2 /dev/sdb3

Prüfe erneut /proc/mdstat:

cat /proc/mdstat

Während der Resynchronisation sieht das so aus:

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
      104320 blocks [2/2] [UU]

md1 : active raid1 sdb2[1] sda2[0]
      513984 blocks [2/2] [UU]

md2 : active raid1 sdb3[2] sda3[0]
      4618560 blocks [2/1] [U_]
      [===>.................]  recovery = 15.4% (715584/4618560) finish=4.9min speed=13222K/sec

unused devices: 
[root@server1 ~]#

Warte, bis die Synchronisation abgeschlossen ist. Vollständig synchronisiert sieht /proc/mdstat so aus:

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
      104320 blocks [2/2] [UU]

md1 : active raid1 sdb2[1] sda2[0]
      513984 blocks [2/2] [UU]

md2 : active raid1 sdb3[1] sda3[0]
      4618560 blocks [2/2] [UU]

unused devices: 
[root@server1 ~]#

Installiere abschließend den Bootloader auf beiden Festplatten. Starte grub im interaktiven Modus und führe folgende Befehle aus:

grub

root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit

Damit ist der Austausch der ausgefallenen Festplatte im RAID1 abgeschlossen.

Wichtig

  • Achte darauf, die richtigen Gerätedateien zu verwenden. Ein Vertauschen von sda und sdb kann das System unbootbar machen.
  • Führ Befehle mit Root-Rechten aus.
  • Wenn du unsicher bist: vorher Backup erstellen.

SOP: Kurzanleitung (Playbook)

  1. Degradiertes Array identifizieren: cat /proc/mdstat
  2. Defekte Partition markieren und entfernen (mdadm –fail, –remove)
  3. System herunterfahren und physisch ersetzen oder Ersatzplatte anschließen
  4. Partitionstabelle kopieren: sfdisk -d /dev/sda | sfdisk /dev/sdb
  5. Alte Superblöcke löschen: mdadm –zero-superblock /dev/sdbX
  6. Neue Partitionen dem Array hinzufügen: mdadm -a /dev/mdX /dev/sdbX
  7. Synchronisation abwarten: cat /proc/mdstat
  8. Bootloader auf beiden Laufwerken installieren (grub)

Rollenspezifische Checkliste

  • Betreiber / On-Call:
    • Überwache /proc/mdstat während der Wiederherstellung
    • Melde ungewöhnliche Fehler an Systemadmin
  • Systemadministrator:
    • Prüfe Partitionstabellen und kopiere sie korrekt
    • Installiere GRUB auf beiden Laufwerken
  • Sicherheitsbeauftragter:
    • Verifiziere, dass keine sensiblen Daten bei Austausch exponiert wurden

Wann diese Methode fehlschlägt

  • Wenn die Ersatzplatte kleinere/andere Geometrie hat und sfdisk die Tabelle nicht übernehmen kann.
  • Wenn mehrere Laufwerke gleichzeitig ausgefallen sind (keine redundante Kopie vorhanden).
  • Wenn die Bootloader-Installation auf dem Ersatzlaufwerk fehlschlägt; dann manuelle Reparatur von /boot oder EFI nötig.

10 Links

Zusammenfassung

Du hast gelernt, wie man einen RAID1-Laufwerksausfall simuliert, die Partitionstabelle auf eine Ersatzplatte kopiert, alte RAID-Metadaten löscht, die neue Platte wieder in das Array aufnimmt, die Resynchronisation überwacht und den Bootloader auf beiden Festplatten installiert. Befolge die Checklisten und Hinweise, bevor du Änderungen an Produktionssystemen vornimmst.

Autor
Redaktion

Ähnliche Materialien

Kamera-Lag auf Android schnell beheben
Android

Kamera-Lag auf Android schnell beheben

Gelöschte Dateien dauerhaft unzugänglich machen
Datenschutz

Gelöschte Dateien dauerhaft unzugänglich machen

MySQL Slave einrichten und prüfen
Datenbank

MySQL Slave einrichten und prüfen

Explorer Patcher unter Windows 11 deinstallieren
Windows

Explorer Patcher unter Windows 11 deinstallieren

Packet Loss in Sea of Thieves beheben
Gaming Netzwerk

Packet Loss in Sea of Thieves beheben

Hulu-Fehler RUNUNK13: Ursachen & Lösungen
Streaming Support

Hulu-Fehler RUNUNK13: Ursachen & Lösungen