RAID1: Ausfall eines Laufwerks simulieren und austauschen
Kurzfassung: Diese Anleitung zeigt, wie Sie in einem RAID1-Array unter Linux einen Laufwerksausfall simulieren, ein neues Laufwerk einsetzen, die Partitionstabelle kopieren, das neue Laufwerk in das RAID einfügen und die Synchronisation überwachen. Backup prüfen, Geräte-IDs statt /dev/sdX verwenden und warten, bis die Resynchronisation vollständig abgeschlossen ist.
Übersicht
In diesem Abschnitt wird beschrieben, wie Sie einen Festplattenausfall simulieren und ein fehlerhaftes Laufwerk in einem RAID1-Array mit mdadm ersetzen. Alle Befehle sind so dargestellt, wie sie in einer Shell eingegeben werden. Verwenden Sie bei produktiven Systemen die Pfade unter /dev/disk/by-id/ oder UUIDs, um Verwechslungen zu vermeiden.
Wichtig: Führen Sie diese Schritte nur, wenn Sie ein aktuelles Backup haben oder in einer Testumgebung arbeiten.
Test: Laufwerksausfall simulieren
Es spielt keine Rolle, ob /dev/sda oder /dev/sdb betroffen ist. Im Beispiel nehmen wir an, dass /dev/sdb ausgefallen ist.
Sie können das Laufwerk physisch entfernen oder (soft) wie folgt als fehlerhaft markieren:
mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm --manage /dev/md1 --fail /dev/sdb2
Anschließend entfernen:
mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb2
Fahren Sie das System herunter, um das Laufwerk physisch zu ersetzen:
shutdown -h now
Tauschen Sie die defekte Platte gegen eine neue. Wenn Sie einen Ausfall von /dev/sda simuliert haben, müssen Sie ggf. die neue Platte an der Stelle von /dev/sda anschließen und das ersetzte Laufwerk als /dev/sdb einstecken. Starten Sie das System neu. Es sollte ohne Probleme booten.
Zustand prüfen
Nach dem Boot prüfen Sie den RAID-Status:
cat /proc/mdstat
Beispielausgabe:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0]
200704 blocks [2/1] [U_]
md1 : active raid1 sda2[0]
5036288 blocks [2/1] [U_]
unused devices:
[root@server1 ~]#
Auch fdisk -l zeigt, dass /dev/sdb keine 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: 0x0008b885
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 fd Linux raid autodetect
/dev/sda2 26 652 5036377+ 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
[... Ausgabe gekürzt ...]
[root@server1 ~]#
Partitionstabelle kopieren
Kopieren Sie die Partitionstabelle von /dev/sda auf /dev/sdb:
sfdisk -d /dev/sda | sfdisk /dev/sdb
Wenn ein Fehler wegen fehlender Signatur auftritt, können Sie –force versuchen:
sfdisk -d /dev/sda | sfdisk --force /dev/sdb
Beispielausgabe:
[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 401624 401562 fd Linux raid autodetect
/dev/sdb2 401625 10474379 10072755 fd Linux raid autodetect
/dev/sdb3 0 - 0 0 Empty
/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 ~]#
Hinweis: Wenn Sie LVM oder verschlüsselte Partitionen verwenden, passen Sie die Schritte entsprechend an.
Alte RAID-Metadaten entfernen und neues Laufwerk hinzufügen
Vor dem Hinzufügen sollten alle alten Superblöcke entfernt werden:
mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
Dann das neue Laufwerk in die Arrays einfügen:
mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb2
Prüfen Sie erneut den Status:
cat /proc/mdstat
Beispiel, während die Resynchronisation läuft:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
200704 blocks [2/2] [UU]
md1 : active raid1 sdb2[2] sda2[0]
5036288 blocks [2/1] [U_]
[=====>...............] recovery = 29.8% (1502656/5036288) finish=18.8min speed=3116K/sec
unused devices:
[root@server1 ~]#
Warten Sie, bis die Synchronisation abgeschlossen ist:
[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
200704 blocks [2/2] [UU]
md1 : active raid1 sdb2[1] sda2[0]
5036288 blocks [2/2] [UU]
unused devices:
[root@server1 ~]#
Bootloader installieren
Starten Sie grub und installieren Sie den Bootloader auf beiden Festplatten:
grub
Dann in der grub-Konsole:
root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit
Damit ist das fehlerhafte Laufwerk im RAID1 ersetzt und das Array wieder vollständig.
Wann diese Methode fehlschlägt
- Unterschiedliche Plattengrößen: Wenn die neue Platte kleiner ist, passt die Partitionstabelle möglicherweise nicht.
- Udev-Device-Name-Änderungen: /dev/sdX können sich beim Reboot ändern — besser /dev/disk/by-id/ verwenden.
- Verschlüsselte oder komplexe LVM-Setups: Zusätzliche Schritte notwendig.
Alternative Ansätze
- Verwenden Sie dd oder parted zum Kopieren partieller Inhalte, wenn sfdisk nicht passt.
- Für Hardware-RAID: Nutzen Sie das RAID-Controller-Tool statt mdadm.
- Snapshots/Backups: Wiederherstellung aus Backup, wenn mehrere Platten ausfallen.
Kurzanleitung / Playbook (Operator-Checkliste)
- Backup bestätigen.
- RAID-Status prüfen (cat /proc/mdstat).
- Laufwerk mit mdadm als failed markieren oder physisch entfernen.
- Neue Platte einbauen.
- Partitionstabelle kopieren (sfdisk).
- mdadm –zero-superblock auf neuen Partitionen ausführen.
- mdadm -a zum Hinzufügen.
- Auf vollständige Resynchronisation warten.
- Bootloader auf beiden Platten installieren.
- Monitoring/Logs prüfen.
Risiken & Gegenmaßnahmen
- Risiko: Datenverlust bei falscher Gerätewahl. Gegenmaßnahme: Geräte-IDs verwenden, vor Änderungen double-check.
- Risiko: Bootversagen nach Austausch. Gegenmaßnahme: Bootloader auf beiden Platten installieren und testen.
- Risiko: Langsame Resynchronisation. Gegenmaßnahme: Resync-Priorität anpassen (sysctl) und Off-Peak-Zeit wählen.
Kurzes Glossar (1-Zeiler)
- mdadm: Linux-Tool zur Verwaltung von Software-RAID.
- /proc/mdstat: Kernel-Schnittstelle, die RAID-Status anzeigt.
- superblock: Metadaten, die mdadm auf Partitionen speichert.
Links
- The Software-RAID Howto: http://tldp.org/HOWTO/Software-RAID-HOWTO.html
- Fedora: http://fedoraproject.org
Zusammenfassung
Sie haben gelernt, wie man einen Laufwerksausfall in einem RAID1 simuliert, die Partitionstabelle kopiert, ein neues Laufwerk in das Array aufnimmt und die Synchronisation überwacht. Verwenden Sie Geräte-IDs, prüfen Sie Backups und warten Sie auf eine vollständige Resynchronisation, bevor Sie das System als repariert betrachten.
Wichtig: Testen Sie diese Schritte zunächst in einer sicheren Umgebung und dokumentieren Sie jeden Schritt in Ihrem Change-Log.
Ähnliche Materialien
iPhone schneller machen – einfache, wirksame Tipps

Apps auf dem iPhone blockieren – Anleitung

Gelikte Instagram‑Beiträge finden und verwalten

Mini PC kaufen: Auswahl, Tipps & Checkliste
