Technologieführer

RAID1: Ausfall simulieren und eine defekte Festplatte ersetzen

5 min read Sysadmin Aktualisiert 11 Oct 2025
RAID1: Festplatte ersetzen (Ausfall simulieren)
RAID1: Festplatte ersetzen (Ausfall simulieren)

Simulieren Sie einen Festplattenausfall in einem RAID1 mit mdadm, kopieren Sie die Partitionstabelle von der intakten auf die neue Platte, löschen Sie alte RAID-Metadaten, fügen Sie die neue Partition dem Array hinzu und überwachen Sie den Resync. Abschließend installieren Sie GRUB auf beiden Disken. Diese Anleitung zeigt alle Kommandos, Prüfungen und typische Troubleshooting-Schritte.

Kurzdefinition

RAID1 ist Spiegelung: dieselben Daten liegen auf zwei (oder mehr) Platten. Vorteil: ein Plattenausfall bedeutet keine Datenverluste, solange das Array korrekt wiederhergestellt wird.

Begriffe in einer Zeile:

  • mdadm: Linux-Tool zur Verwaltung von Software-RAID.
  • /dev/sda, /dev/sdb: Blockgeräte (HDD/SSD) im System.
  • Partitionstabelle kopieren: identische Partitionen erzeugen, damit das neue Laufwerk mit dem RAID kompatibel ist.

Voraussetzungen

  • Zugriff als root oder mit sudo auf dem betroffenen System.
  • Ein RAID1-Array, z. B. /dev/md0 und /dev/md1.
  • Ersatzlaufwerk vorhanden und physisch angeschlossen.
  • mdadm installiert.

Wichtig: Vor Operationen an Datenträgern ein Backup aktueller Konfiguration (/etc/mdadm/mdadm.conf) und wichtiger Daten anfertigen.

Schritt-für-Schritt-Anleitung

Die folgenden Schritte zeigen ein typisches Beispiel, in dem /dev/sdb ausfällt. Wenn bei Ihnen /dev/sda ausfällt, tauschen Sie die Namen entsprechend.

1) Ausfall simulieren

Sie können das Laufwerk physisch entfernen oder es soft entfernen. Beispielbefehle (unverändert):

mdadm –manage /dev/md0 –fail /dev/sdb1
mdadm –manage /dev/md1 –fail /dev/sdb5

mdadm –manage /dev/md0 –remove /dev/sdb1
mdadm –manage /dev/md1 –remove /dev/sdb5

Fahren Sie das System herunter, wenn Sie die Platte physisch ersetzen wollen:

shutdown -h now

Setzen Sie die neue Platte ein (oder vertauschen Sie die Geräte, wenn /dev/sda ausgefallen ist) und booten Sie neu. Das System sollte weiterhin starten.

2) Degradierung prüfen

Nach dem Start prüfen Sie den Zustand des Arrays:

cat /proc/mdstat

Beispielausgabe:

root@server1:~# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda5[2]
4989940 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sda1[2]
248820 blocks super 1.2 [2/1] [U_]

unused devices: 
root@server1:~#

Die Kennzeichnung [U_] zeigt an, dass ein Mitglied fehlt. Das Array ist degradiert.

Prüfen Sie zusätzlich die Partitionen und erkannten Disks:

fdisk -l

Beispielausgabe (unverändert):

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
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003717c

Device Boot      Start          End      Blocks   Id  System
/dev/sda1   *           1          32      248832   fd  Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2              32         653     4990977    5  Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5              32         653     4990976   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
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

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

Disk /dev/md0: 254 MB, 254791680 bytes
2 heads, 4 sectors/track, 62205 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

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

Disk /dev/md1: 5109 MB, 5109698560 bytes
2 heads, 4 sectors/track, 1247485 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

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

Disk /dev/dm-0: 4844 MB, 4844421120 bytes
255 heads, 63 sectors/track, 588 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-0 doesn't contain a valid partition table

Disk /dev/dm-1: 264 MB, 264241152 bytes
255 heads, 63 sectors/track, 32 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-1 doesn't contain a valid partition table
root@server1:~#

Wenn /dev/sdb keine Partitionstabelle hat, ist das erwartbar: es ist ein neues Laufwerk.

3) Partitionstabelle kopieren

Kopieren Sie die Partitionstabelle der intakten Platte (/dev/sda) auf die neue (/dev/sdb):

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

Beispielausgabe:

root@server1:~# sfdisk -d /dev/sda | sfdisk --force /dev/sdb
Checking that no-one is using this disk right now ...
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
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   *      2048    499711     497664  fd  Linux raid autodetect
/dev/sdb2        501758  10483711    9981954   5  Extended
/dev/sdb3             0         -          0   0  Empty
/dev/sdb4             0         -          0   0  Empty
/dev/sdb5        501760  10483711    9981952  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:~#

Wichtig: sfdisk warnt gelegentlich wegen Zylindergrenzen (historisch); moderne Distributionen arbeiten mit sektorbasierten Partitionen, die Warnung ist meist unkritisch, solange Start-/End-Sektoren korrekt übernommen wurden.

4) Alte RAID-Metadaten entfernen

Bevor Sie das Laufwerk dem Array hinzufügen, löschen Sie eventuell vorhandene Superblöcke (RAID-Metadaten) auf den neuen Partitionen:

mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb5

Dies verhindert, dass Reste alter Arrays Konflikte verursachen.

5) Neue Partitionen ins Array aufnehmen

Fügen Sie die neuen Partitionen dem jeweiligen Array hinzu:

mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb5

Prüfen Sie danach erneut /proc/mdstat, um den Resync zu beobachten:

cat /proc/mdstat

Beispiel, während des Resyncs:

root@server1:~# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb5[3] sda5[2]
4989940 blocks super 1.2 [2/1] [U_]
[========>............]  recovery = 44.7% (2233024/4989940) finish=0.2min speed=159501K/sec

md0 : active raid1 sdb1[3] sda1[2]
248820 blocks super 1.2 [2/2] [UU]

unused devices: 
root@server1:~#

Warten Sie, bis der Wiederaufbau (Resync) abgeschlossen ist. Erst danach gilt das Array wieder als vollständig:

root@server1:~# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb5[3] sda5[2]
4989940 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sdb1[3] sda1[2]
248820 blocks super 1.2 [2/2] [UU]

unused devices: 
root@server1:~#

6) Bootloader auf beide Disks installieren

Damit der Server auch startet, wenn die eine oder andere Platte fehlt, installieren Sie GRUB auf beiden physikalischen Disks:

brub-install /dev/sda
grub-install /dev/sdb

Hinweis: Bei UEFI-Systemen weichen die Schritte ab (EFI-Partitionen/efibootmgr). Diese Anleitung geht von klassischem BIOS/Legacy-Setup aus.

7) Validierung

  • cat /proc/mdstat zeigt [UU] für jedes RAID1-Array.
  • fdisk -l zeigt identische Partitionen auf beiden Disks.
  • Booten Sie falls möglich mit nur einer Platte (testweise), um sicherzugehen, dass GRUB korrekt installiert wurde.

Troubleshooting: Häufige Probleme und Lösungen

  • sfdisk meldet “sector 0 does not have an msdos signature”: Das ist normal für neue Disks. sfdisk schreibt trotzdem die Partitionstabelle.
  • Resync läuft sehr langsam: Prüfen Sie I/O-Last (iostat, atop) und /proc/sys/dev/raid/speed_limit_min/max. Sie können die Geschwindigkeit vorübergehend erhöhen, aber das belastet das System.
  • mdadm meldet “device busy”: Stellen Sie sicher, dass keine Partitionen der neuen Platte gemountet sind und keine LVM- oder dm-Devices darüber liegen.
  • GRUB-Installation schlägt fehl: Prüfen Sie, ob die Ziel-Disks im BIOS sichtbar sind und ob es sich um UEFI handelt.

Wiederherstellungsfall: Falls das Array nicht mehr startet, booten Sie von einem Live-System, mounten Sie die intakten RAID-Arrays (mdadm –assemble –scan) und prüfen Sie /boot, /etc/fstab und die GRUB-Konfiguration.

Wann diese Methode nicht funktioniert

  • Unterschiedliche Plattengrößen, bei denen die neue Platte kleiner ist als die alte.
  • Unterschiedliche Sektorgrößen oder SMART-Fehler der neuen Platte.
  • RAID-Arrays mit anderen Metadaten-Versionen oder non-standard Layouts.

In solchen Fällen ist eine manuelle Partitionserstellung mit fdisk/parted und anschließender Anpassung ratsam.

Sicherheits- und Datenschutzhinweise

  • Arbeiten an Produktionssystemen immer mit aktuellen Backups und während eines Wartungsfensters.
  • Protokollieren Sie Seriennummern defekter und ersetzter Laufwerke für Inventar und Garantieansprüche.
  • Entsorgen Sie defekte Laufwerke gemäß Datenschutzrichtlinien (physische Zerstörung, sichere Löschung je nach Anforderungen).

Rollen-Checkliste

Systemadministrator (Senior)

  • Backup prüfen und bestätigen.
  • RAID-Konfiguration /etc/mdadm/mdadm.conf sichern.
  • Partitionstabelle kopieren und prüfen.
  • Resync überwachen und Leistung anpassen.
  • GRUB auf beiden Disks installieren.

Junior-Administrator

  • Degradierung prüfen (cat /proc/mdstat).
  • Partitionstabelle kopieren unter Anleitung.
  • Zero-superblock ausführen.
  • Statusberichte an Senior schicken.

Operator

  • Physikalischen Austausch der Disk durchführen.
  • Kabelverbindungen und Steckplätze prüfen.
  • Austausch dokumentieren (Datum, Uhrzeit, Seriennummer).

Kriterien bei Annahme

  • Alle Arrays zeigen [UU] in /proc/mdstat.
  • fdisk -l zeigt identische Partitionen auf beiden Disks.
  • System bootet mit jeder einzelnen Disk (Stichprobe empfohlen).
  • GRUB wurde auf beiden Disks ohne Fehler installiert.

Zusammenfassung

Sie haben gelernt, wie man einen Festplattenausfall in RAID1 simuliert, die Partitionstabelle auf eine neue Platte kopiert, RAID-Metadaten entfernt, das Ersatzlaufwerk dem Array hinzufügt, den Resync überwacht und GRUB auf beiden Datenträgern installiert. Die integrierten Prüf- und Troubleshooting-Schritte helfen, typische Fehler zu erkennen und zu beheben.

Links

FAQ

Wie lange dauert der Resync?

Die Dauer hängt von Plattengröße, I/O-Last und RAID-Speed-Limits ab. Kleine Arrays dauern Minuten, große mehrere Stunden.

Kann ich die Partitionstabelle manuell mit parted erstellen?

Ja. parted ist eine Alternative zu sfdisk, besonders bei modernen GPT-Partitionstabellen. Achten Sie auf identische Start-/End-Sektoren.

Muss ich GRUB auf beiden Disks installieren?

Ja, sonst kann ein Ausfall der Boot-Disk dazu führen, dass das System nicht mehr startet. Bei UEFI-Systemen ist stattdessen die EFI-Partition zu berücksichtigen.

Autor
Redaktion

Ähnliche Materialien

Android-Sicherheits-Schlüssel für Google auf iOS
Sicherheit

Android-Sicherheits-Schlüssel für Google auf iOS

ADB & Fastboot auf Mac: installieren und nutzen
Anleitungen

ADB & Fastboot auf Mac: installieren und nutzen

Systemreparatur ausstehend in Windows beheben
Windows-Fehlerbehebung

Systemreparatur ausstehend in Windows beheben

Kostenlose Android‑Apps ohne Programmieren erstellen
App-Entwicklung

Kostenlose Android‑Apps ohne Programmieren erstellen

Sidebar in Windows 11/10 wiederherstellen
Windows

Sidebar in Windows 11/10 wiederherstellen

Gelöschte Teams-Dateien wiederherstellen
IT-Support

Gelöschte Teams-Dateien wiederherstellen