Technologieführer

Software-RAID1 auf CentOS 5.3: /dev/sda vorbereiten und GRUB anpassen

7 min read Systemadministration Aktualisiert 10 Oct 2025
RAID1 auf CentOS 5.3 vorbereiten und GRUB anpassen
RAID1 auf CentOS 5.3 vorbereiten und GRUB anpassen

Kurzversion: Ändern Sie auf dem Ersatzlaufwerk /dev/sda die Partitionstypen auf “Linux raid autodetect”, fügen Sie die Partitionen dem jeweiligen md-Array hinzu, warten Sie die Synchronisation ab, aktualisieren Sie /etc/mdadm.conf und passen Sie den GRUB-Eintrag sowie das Initramfs an. Starten Sie neu und prüfen Sie, ob das System von beiden Platten booten kann.

Ziel und Kontext

Dieser Abschnitt beschreibt die letzten Schritte beim Umstellen eines laufenden CentOS 5.3-Systems auf Software-RAID1 (mdadm). Vorausgesetzt wird, dass /dev/md0, /dev/md1 und /dev/md2 bereits existieren und momentan nur ein Mitglied je Array aktiv ist (z. B. sdb). Wir bereiten nun die zweite Festplatte (/dev/sda) vor, fügen ihre Partitionen zu den Arrays hinzu und konfigurieren den Bootloader so, dass das System auch von /dev/sda starten kann.

Wichtig: Arbeiten Sie mit Root-Rechten und erstellen Sie vorher Backups wichtiger Konfigurationen wie /boot, /etc/fstab und /etc/mdadm.conf.

Ausgabe prüfen: Laufwerke und md-Arrays

Wenn alles zuvor korrekt eingerichtet wurde, sollten Sie in der Ausgabe von df -h die md-Devices sehen:

df -h

[root@server1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md2 9.2G 1.1G 7.7G 12% /
/dev/md0 190M 14M 167M 8% /boot
tmpfs 252M 0 252M 0% /dev/shm
[root@server1 ~]#

Die Ausgabe von cat /proc/mdstat zeigt den aktuellen RAID-Status:

cat /proc/mdstat

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[1]
200704 blocks [2/1] [_U]

md1 : active raid1 sdb2[1]
522048 blocks [2/1] [_U]

md2 : active raid1 sdb3[1]
9759360 blocks [2/1] [_U]

unused devices:
[root@server1 ~]#

Hinweis: Das Format [U] zeigt an, dass pro Array ein Gerät fehlt (U = Up, = fehlendes Mitglied).

Partitionstypen von /dev/sda auf Linux raid autodetect ändern

Ziel: Die drei Partitionen auf /dev/sda müssen den Typ “fd” (Linux raid autodetect) erhalten, damit der Kernel und Tools wie mdadm diese als RAID-Partitionen erkennen.

Führen Sie fdisk auf /dev/sda aus:

fdisk /dev/sda

Beispiel-Interaktion (Benutzereingaben nach <–):

[root@server1 ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:

  1. software that runs at boot time (e.g., old versions of LILO)
  2. booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): <– t
Partition number (1-4): <– 1
Hex code (type L to list codes): <– fd
Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): <– t
Partition number (1-4): <– 2
Hex code (type L to list codes): <– fd
Changed system type of partition 2 to fd (Linux raid autodetect)

Command (m for help): <– t
Partition number (1-4): <– 3
Hex code (type L to list codes): <– fd
Changed system type of partition 3 to fd (Linux raid autodetect)

Command (m for help): <– w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@server1 ~]#

Wichtig: Die Warnung über das erneute Einlesen der Partitionstabelle ist normal, wenn die Partitionen derzeit gemountet oder in Benutzung sind. Ein Reboot spielt die neue Tabelle endgültig ein, ist aber in vielen Fällen nicht sofort nötig zum Fortfahren mit mdadm –add.

Partitionen zu den md-Arrays hinzufügen

Fügen Sie jetzt die Partitionen von /dev/sda den jeweiligen Arrays hinzu:

mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2
mdadm --add /dev/md2 /dev/sda3

Sofort danach sollte cat /proc/mdstat die laufende Resynchronisation zeigen:

cat /proc/mdstat

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

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

md2 : active raid1 sda3[2] sdb3[1]
9759360 blocks [2/1] [_U]
[====>…………….] recovery = 22.8% (2232576/9759360) finish=2.4min speed=50816K/sec

unused devices:
[root@server1 ~]#

Tipp: Mit watch cat /proc/mdstat erhalten Sie eine fortlaufende Anzeige; verlassen mit STRG+C.

Warten Sie, bis die Synchronisation abgeschlossen ist. Abschließend sollte die Ausgabe so aussehen:

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

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

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

unused devices:
[root@server1 ~]#

Hinweis: [UU] bedeutet, dass beide Mitglieder vorhanden und synchron sind.

mdadm.conf an die neue Situation anpassen

Erzeugen Sie /etc/mdadm.conf automatisch aus den erkannten Arrays:

mdadm --examine --scan > /etc/mdadm.conf

Die Datei sollte nun Einträge ähnlich dieser Form enthalten:

cat /etc/mdadm.conf

| ARRAY /dev/md0 level=raid1 num-devices=2 UUID=78d582f0:940fabb5:f1c1092a:04a55452 ARRAY /dev/md1 level=raid1 num-devices=2 UUID=8db8f7e1:f2a64674:d22afece:4a539aa7 ARRAY /dev/md2 level=raid1 num-devices=2 UUID=1baf282d:17c58efd:a8de6947:b0af9792 |

Wichtig: Prüfen Sie die UUIDs und stellen Sie sicher, dass die Anzahl der Devices und die Pfade korrekt sind. Bewahren Sie eine Sicherung der alten /etc/mdadm.conf auf.

GRUB anpassen, damit auch von /dev/sda gebootet werden kann

Der Bootloader war ursprünglich so konfiguriert, dass er von /dev/sdb (hd1) bootet. Damit das System auch vom zweiten Laufwerk startet, kopieren Sie die erste Kernel-Stanza, ändern hd1 in hd0 und kommentieren Sie alle anderen Kernel-Stanzas aus, sodass nur zwei Stanzas mit hd1 und hd0 verbleiben.

Editieren Sie die Datei:

vi /boot/grub/menu.lst

Beispielkonfiguration:

| # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda3 # initrd /initrd-version.img #boot=/dev/sda default=0 fallback=1 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-128.el5) root (hd1,0) kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/md2 initrd /initrd-2.6.18-128.el5.img title CentOS (2.6.18-128.el5) root (hd0,0) kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/md2 initrd /initrd-2.6.18-128.el5.img #title CentOS (2.6.18-128.el5) # root (hd0,0) # kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ # initrd /initrd-2.6.18-128.el5.img |

Wichtig: Vergewissern Sie sich, dass die Angabe root=/dev/md2 korrekt ist und auf das RAID-Device verweist.

Initramfs (Ramdisk) aktualisieren und System neu starten

Sichern Sie das vorhandene initrd und erstellen Sie ein neues für den laufenden Kernel:

mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig2
mkinitrd /boot/initrd-`uname -r`.img `uname -r`

Starten Sie anschließend neu:

reboot

Das System sollte nun ohne Probleme starten und sowohl /dev/sda als auch /dev/sdb als Boot-Option unterstützen.

Akzeptanzkriterien

  • Alle drei RAID-Arrays zeigen [UU] in /proc/mdstat.
  • /etc/mdadm.conf enthält aktuelle ARRAY-Einträge mit passenden UUIDs.
  • /boot/grub/menu.lst enthält mindestens zwei Einträge: einer für hd1 und einer für hd0 mit identischer kernel/initrd-Konfiguration.
  • Nach Neustart bootet das System automatisch (testen Sie optional durch zeitweises Entfernen einer Platte im Testsystem).

Troubleshooting: Häufige Probleme und Lösungen

  • Re-reading partition table failed with error 16: Device or resource busy — Normal, wenn Partitionen in Benutzung sind. Ein Reboot oder erneutes Einlesen der Partitionstabelle nach dem Entfernen der Nutzung löst das Problem.
  • mdadm add meldet “not enough superblocks” oder ähnliche Fehler — prüfen Sie mit mdadm –examine /dev/sdaX, ob auf den Partitionen bereits Superblöcke vorhanden sind, und entfernen Sie sie mit mdadm –zero-superblock, falls gewollt.
  • Nach Grub-Änderung startet das System nicht — stellen Sie sicher, dass initrd korrekt erstellt wurde und die GRUB-Einträge auf /dev/md2 verweisen; überprüfen Sie auch /etc/fstab auf korrekte UUIDs oder /dev/md* Verweise.

Rollenbezogene Checkliste

Systemadministrator (vor dem Eingriff):

  • Backup von /boot, /etc/fstab, /etc/mdadm.conf anfertigen.
  • Dokumentation des aktuellen mdstat und fdisk-Zustands speichern.

Implementierender Ingenieur (während Eingriff):

  • Partitionstypen ändern, mdadm –add ausführen, Synchronisation überwachen.
  • /etc/mdadm.conf neu erstellen und validieren.

Tester/QA (nach dem Eingriff):

  • Reboot durchführen und Bootfähigkeit prüfen.
  • RAID-Funktion testen, Platte simuliert entfernen und Wiederherstellung prüfen.

Mini-Methodik / Heuristics

  • Klein anfangen: Änderungen zuerst an Testsystemen durchführen.
  • Sicherungsregel: Vor jeder Änderung kritische Konfigurationsdateien sichern.
  • Beobachten statt Annahmen: mdstat zeigt den tatsächlichen Synchronisationsstatus — vertrauen Sie diesem Output.

Zusammenfassung

Sie haben die Partitionen auf /dev/sda auf Typ Linux raid autodetect gesetzt, die Partitionen den jeweiligen md-Arrays hinzugefügt, die Synchronisation abgewartet, /etc/mdadm.conf aktualisiert und GRUB so angepasst, dass das System auch von der zweiten Platte booten kann. Nach Erstellen eines neuen Initramfs und einem Neustart sollte das System redundant und bootfähig von beiden Platten sein.

Wichtig: Testen Sie in einer sicheren Umgebung das Ausfallen einer Platte, um das Verhalten im Fehlerfall zu verifizieren.

Autor
Redaktion

Ähnliche Materialien

NisSrv.exe prüfen & sicher verwenden
Windows Sicherheit

NisSrv.exe prüfen & sicher verwenden

Snipping Tool in Windows 11 reparieren
Windows

Snipping Tool in Windows 11 reparieren

iPhone‑Fotos löschen, aber nicht aus iCloud
Anleitungen

iPhone‑Fotos löschen, aber nicht aus iCloud

SFTP in Windows-Explorer integrieren
Anleitung

SFTP in Windows-Explorer integrieren

Facebook‑Fotos zu Google+ und Picasa migrieren
Anleitungen

Facebook‑Fotos zu Google+ und Picasa migrieren

Netflix herunterladen: Filme & Serien offline
Streaming

Netflix herunterladen: Filme & Serien offline