Technologieführer

RAID1: Geglückter Austausch einer ausgefallenen Festplatte – Test und Wiederherstellung

4 min read Systemadministration Aktualisiert 17 Oct 2025
RAID1: Festplatte ersetzen und wiederherstellen
RAID1: Festplatte ersetzen und wiederherstellen

Simulieren Sie einen Festplattenausfall, übernehmen Sie die Partitionstabelle von der funktionierenden Platte, löschen Sie alte RAID-Header, fügen Sie die neue Platte zum Array hinzu und warten Sie, bis die Synchronisation abgeschlossen ist. Installieren Sie abschließend den Bootloader auf beiden Festplatten.

9 Testing

Nun simulieren wir einen Festplattenausfall. Es ist egal, ob Sie hier /dev/hda oder /dev/hdb wählen. In diesem Beispiel gehen wir davon aus, dass /dev/hdb ausgefallen ist.

Um den Ausfall zu simulieren, können Sie das System herunterfahren und /dev/hdb ausbauen oder Sie entfernen die Platte (soft) wie hier gezeigt:

mdadm --manage /dev/md0 --fail /dev/hdb1  
mdadm --manage /dev/md1 --fail /dev/hdb5  
mdadm --manage /dev/md2 --fail /dev/hdb6

Dann entfernen Sie die Partitionseinträge aus dem Array:

mdadm --manage /dev/md0 --remove /dev/hdb1  
mdadm --manage /dev/md1 --remove /dev/hdb5  
mdadm --manage /dev/md2 --remove /dev/hdb6

Fahren Sie das System herunter:

shutdown -h now

Setzen Sie anschließend eine neue /dev/hdb ein (wenn Sie /dev/hda simuliert haben, tauschen Sie physisch die Laufwerke so, dass das neue Laufwerk als /dev/hdb verbunden wird) und starten Sie das System neu. Es sollte ohne Probleme starten.

Führen Sie nun aus:

cat /proc/mdstat

Sie sollten ein degradiertes Array sehen:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1]  
md1 : active raid1 hda5[0]  
      417536 blocks [2/1] [U_]  
  
md0 : active raid1 hda1[0]  
      176576 blocks [2/1] [U_]  
  
md2 : active raid1 hda6[0]  
      4642688 blocks [2/1] [U_]  
  
unused devices:   
[root@server1 ~]#

Die Ausgabe von

fdisk -l

sollte wie folgt aussehen:

[root@server1 ~]# fdisk -l  
  
Disk /dev/hda: 5368 MB, 5368709120 bytes  
255 heads, 63 sectors/track, 652 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
Disk identifier: 0x00000000  
  
   Device Boot      Start         End      Blocks   Id  System  
/dev/hda1   *           1          22      176683+  fd  Linux raid autodetect  
/dev/hda2              23         652     5060475    5  Extended  
/dev/hda5              23          74      417658+  fd  Linux raid autodetect  
/dev/hda6              75         652     4642753+  fd  Linux raid autodetect  
  
Disk /dev/hdb: 5368 MB, 5368709120 bytes  
16 heads, 63 sectors/track, 10402 cylinders  
Units = cylinders of 1008 * 512 = 516096 bytes  
Disk identifier: 0x00000000  
  
Disk /dev/hdb doesn't contain a valid partition table  
  
Disk /dev/md2: 4754 MB, 4754112512 bytes  
2 heads, 4 sectors/track, 1160672 cylinders  
Units = cylinders of 8 * 512 = 4096 bytes  
Disk identifier: 0x00000000  
  
Disk /dev/md2 doesn't contain a valid partition table  
  
Disk /dev/md0: 180 MB, 180813824 bytes  
2 heads, 4 sectors/track, 44144 cylinders  
Units = cylinders of 8 * 512 = 4096 bytes  
Disk identifier: 0x00000000  
  
Disk /dev/md0 doesn't contain a valid partition table  
  
Disk /dev/md1: 427 MB, 427556864 bytes  
2 heads, 4 sectors/track, 104384 cylinders  
Units = cylinders of 8 * 512 = 4096 bytes  
Disk identifier: 0x00000000  
  
Disk /dev/md1 doesn't contain a valid partition table  
[root@server1 ~]#

Partitionstabelle von /dev/hda nach /dev/hdb kopieren

Kopieren Sie die Partitionstabelle von der funktionierenden Platte auf die neue Festplatte:

sfdisk -d /dev/hda | sfdisk --force /dev/hdb

Beispielausgabe:

[root@server1 ~]# sfdisk -d /dev/hda | sfdisk --force /dev/hdb  
Warning: extended partition does not start at a cylinder boundary.  
DOS and Linux will interpret the contents differently.  
Checking that no-one is using this disk right now ...  
OK  
  
Disk /dev/hdb: 10402 cylinders, 16 heads, 63 sectors/track  
  
sfdisk: ERROR: sector 0 does not have an msdos signature  
 /dev/hdb: 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/hdb1   *        63    353429     353367  fd  Linux raid autodetect  
/dev/hdb2        353430  10474379   10120950   5  Extended  
/dev/hdb3             0         -          0   0  Empty  
/dev/hdb4             0         -          0   0  Empty  
/dev/hdb5        353493   1188809     835317  fd  Linux raid autodetect  
/dev/hdb6       1188873  10474379    9285507  fd  Linux raid autodetect  
Warning: partition 1 does not end at a cylinder boundary  
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 ~]#

Alte RAID-Header löschen und neue Platte ins Array aufnehmen

Entfernen Sie eventuelle Reste einer alten RAID-Konfiguration von /dev/hdb:

mdadm --zero-superblock /dev/hdb1  
mdadm --zero-superblock /dev/hdb5  
mdadm --zero-superblock /dev/hdb6

Fügen Sie dann die Partitionen der neuen Festplatte dem RAID-Array hinzu:

mdadm -a /dev/md0 /dev/hdb1  
mdadm -a /dev/md1 /dev/hdb5  
mdadm -a /dev/md2 /dev/hdb6

Schauen Sie erneut in /proc/mdstat:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1]  
md1 : active raid1 hdb5[2] hda5[0]  
      417536 blocks [2/1] [U_]  
        resync=DELAYED  
  
md0 : active raid1 hdb1[1] hda1[0]  
      176576 blocks [2/2] [UU]  
  
md2 : active raid1 hdb6[2] hda6[0]  
      4642688 blocks [2/1] [U_]  
      [===========>.........]  recovery = 59.9% (2784512/4642688) finish=7.5min speed=4076K/sec  
  
unused devices:   
[root@server1 ~]#

Warten Sie, bis die Synchronisation abgeschlossen ist:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1]  
md1 : active raid1 hdb5[1] hda5[0]  
      417536 blocks [2/2] [UU]  
  
md0 : active raid1 hdb1[1] hda1[0]  
      176576 blocks [2/2] [UU]  
  
md2 : active raid1 hdb6[1] hda6[0]  
      4642688 blocks [2/2] [UU]  
  
unused devices:   
[root@server1 ~]#

Bootloader installieren

Starten Sie das grub-Interface und installieren Sie den Bootloader auf beiden Festplatten. Beispielinteraktion:

grub

Dann im grub-Prompt:

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

Das war’s. Sie haben erfolgreich eine ausgefallene Festplatte in Ihrem RAID1-Array ersetzt.

Checkliste für Systemadministratoren

  • Vorbereitungen
    • Backup aktueller Konfigurationen prüfen (mdadm.conf, /etc/fstab).
    • Ursachenanalyse: Ist die Platte physisch oder nur offline?
  • Während des Austauschs
    • Degrade simulieren (fail/remove) oder Laufwerk physisch entfernen.
    • Neue Harddisk einbauen und Partitionstabelle kopieren.
    • Alte RAID-Superblöcke mit mdadm –zero-superblock entfernen.
    • Neue Partitionen mit mdadm -a hinzufügen.
    • Synchronisation in /proc/mdstat überwachen.
  • Nach dem Austausch
    • Bootloader auf beiden Laufwerken installieren.
    • RAID-Status und SMART-Werte prüfen.
    • Dokumentation aktualisieren und Vorfall abschließen.

Kriterien bei Annahme

  • Alle betroffenen md-Devices zeigen [UU] in /proc/mdstat.
  • Kein Datenverlust im getesteten Filesystem (Stichprobe von Dateien).
  • System bootet korrekt von beiden Festplatten.
  • mdadm -D /dev/mdX zeigt beide Laufwerke als active und clean.

Fehlerbehebung — wenn es nicht funktioniert

  • Partitionstabelle nicht geschrieben: Prüfen Sie sfdisk-Ausgaben und dmesg auf I/O-Fehler.
  • Platte erscheint nicht als /dev/hdb: Überprüfen Sie Kabel, Stromversorgung und BIOS/UEFI.
  • Synchronisation bleibt hängen: Kontrollieren Sie syslog/kern.log auf I/O-Fehler, prüfen Sie SMART-Status (smartctl).
  • Bootloader-Probleme: Prüfen Sie device.map, stellen Sie sicher, dass die richtigen hd-Nummern benutzt werden, oder installieren Sie grub per Live-System neu.

Wichtiger Hinweis: Wenn mehrere Fehler auftreten oder SMART Fehler meldet, ersetzen Sie die Hardware erneut und prüfen Sie den Controller.

Cheat Sheet: Wichtige Befehle

  • Festplatte als ausgefallen markieren:
    • mdadm –manage /dev/mdX –fail /dev/sdY1
  • Partitionstabelle kopieren:
    • sfdisk -d /dev/source | sfdisk –force /dev/target
  • RAID-Header löschen:
    • mdadm –zero-superblock /dev/sdY1
  • Platte zum Array hinzufügen:
    • mdadm -a /dev/mdX /dev/sdY1
  • RAID-Status prüfen:
    • cat /proc/mdstat
    • mdadm -D /dev/mdX
  • Bootloader (grub) installieren:
    • grub -> root (hd0,0) ; setup (hd0) ; root (hd1,0) ; setup (hd1) ; quit

Ressourcen

Zusammenfassung

Sie haben gelernt, wie man einen Festplattenausfall in einem RAID1-Setup simuliert, die Partitionstabelle kopiert, alte RAID-Header entfernt, eine neue Platte zum Array hinzufügt und die Synchronisation überwacht. Abschließend installieren Sie den Bootloader auf beiden Disks, um Wiederherstellbarkeit sicherzustellen.

Wichtig: Prüfen Sie stets Hardwarezustand und Logs, bevor Sie in produktiven Systemen Änderungen durchführen.

Autor
Redaktion

Ähnliche Materialien

Podman auf Debian 11 installieren und nutzen
DevOps

Podman auf Debian 11 installieren und nutzen

Apt-Pinning: Kurze Einführung für Debian
Systemadministration

Apt-Pinning: Kurze Einführung für Debian

FSR 4 in jedem Spiel mit OptiScaler
Grafikkarten

FSR 4 in jedem Spiel mit OptiScaler

DansGuardian + Squid (NTLM) auf Debian Etch installieren
Netzwerk

DansGuardian + Squid (NTLM) auf Debian Etch installieren

App-Installationsfehler auf SD-Karte (Error -18) beheben
Android

App-Installationsfehler auf SD-Karte (Error -18) beheben

Netzwerkordner mit KNetAttach in KDE
Linux Netzwerk

Netzwerkordner mit KNetAttach in KDE