RAID1 mit zwei Festplatten einrichten
Kurzfassung: Erstelle drei degraded RAID1-Arrays (/dev/md0, /dev/md1, /dev/md2) mit mdadm, formatiere sie, passe /etc/fstab und GRUB an, kopiere vorhandene Daten und installiere GRUB auf der zweiten Festplatte. Prüfe nach jedem Schritt mit /proc/mdstat, mount und grub-Status. Diese Anleitung zeigt die konkreten Befehle und bietet Checklisten, Abnahmekriterien und einen einfachen Rollback-Plan.
Wichtig
Bevor du startest: Mache ein Backup wichtiger Daten. Diese Anleitung geht davon aus, dass /dev/sda aktuell das System bootet und /dev/sdb die neue Festplatte ist. Einige Schritte brauchen Root-Rechte und ein Reboot ist erforderlich.
4 RAID-Arrays erstellen
Nun erstellen wir unsere RAID-Arrays /dev/md0, /dev/md1 und /dev/md2. /dev/sdb1 wird zu /dev/md0 hinzugefügt, /dev/sdb2 zu /dev/md1 und /dev/sdb3 zu /dev/md2. /dev/sda1, /dev/sda2 und /dev/sda3 können jetzt nicht hinzugefügt werden (das System läuft noch darauf), daher verwenden wir in den folgenden Befehlen als Platzhalter missing:
mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb2
mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb3
Der Befehl
cat /proc/mdstat
sollte jetzt anzeigen, dass du drei degraded RAID-Arrays hast ([U] oder [U] bedeutet degraded, [UU] bedeutet OK):
[root@server1 ~]# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sdb3[1]
4618560 blocks [2/1] [_U]
md1 : active raid1 sdb2[1]
513984 blocks [2/1] [_U]
md0 : active raid1 sdb1[1]
104320 blocks [2/1] [_U]
unused devices:
[root@server1 ~]#
Als Nächstes erzeugen wir Dateisysteme auf unseren RAID-Arrays (ext3 auf /dev/md0 und /dev/md2 und Swap auf /dev/md1):
mkfs.ext3 /dev/md0
mkswap /dev/md1
mkfs.ext3 /dev/md2
Erstelle anschließend /etc/mdadm.conf mit den Detektierungsinformationen:
mdadm --examine --scan > /etc/mdadm.conf
Inhalt anzeigen:
cat /etc/mdadm.conf
In der Datei solltest du nun Details zu unseren drei (degradierten) RAID-Arrays sehen:
| ARRAY /dev/md0 level=raid1 num-devices=2 UUID=2848a3f5:cd1c26b6:e762ed83:696752f9 ARRAY /dev/md1 level=raid1 num-devices=2 UUID=8a004bac:92261691:227767de:4adf6592 ARRAY /dev/md2 level=raid1 num-devices=2 UUID=939f1c71:be9c10fd:d9e5f8c6:a46bcd49
|
5 System auf RAID1 anpassen
Jetzt mounte /dev/md0 und /dev/md2 (das Swap-Array /dev/md1 muss nicht gemountet werden):
mkdir /mnt/md0
mkdir /mnt/md2
mount /dev/md0 /mnt/md0
mount /dev/md2 /mnt/md2
Beide Arrays sollten jetzt in der Ausgabe von
mount
sichtbar sein:
[root@server1 ~]# mount
/dev/sda3 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/md0 on /mnt/md0 type ext3 (rw)
/dev/md2 on /mnt/md2 type ext3 (rw)
[root@server1 ~]#
Bearbeite nun /etc/fstab: Ersetze LABEL=/boot durch /dev/md0, LABEL=SWAP-sda2 durch /dev/md1 und LABEL=/ durch /dev/md2, sodass die Datei wie folgt aussieht:
vi /etc/fstab
| /dev/md2 / ext3 defaults 1 1 /dev/md0 /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/md1 swap swap defaults 0 0
|
Ersetze außerdem LABEL=/boot durch /dev/md0 und LABEL=/ durch /dev/md2 in /etc/mtab:
vi /etc/mtab
| /dev/md2 / ext3 rw 0 0 proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 devpts /dev/pts devpts rw,gid=5,mode=620 0 0 /dev/md0 /boot ext3 rw 0 0 tmpfs /dev/shm tmpfs rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0
|
Nun zum GRUB-Bootloader. Öffne /boot/grub/menu.lst und füge fallback=1 direkt nach default=0 ein:
vi /boot/grub/menu.lst
| [...] default=0 fallback=1 [...]
|
Dadurch wird beim Scheitern des ersten Kernels (Index 0) eine Alternative gebootet.
Gehe im selben File ans Ende zu den Kernel-Stanzas. Kopiere die erste Strophe und füge sie vor der ersten existierenden Strophe ein; ersetze root=LABEL=/ durch root=/dev/md2 und root (hd0,0) durch root (hd1,0):
| [...] title Fedora (2.6.23.1-42.fc8) root (hd1,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img title Fedora (2.6.23.1-42.fc8) root (hd0,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img
|
Die gesamte Datei sollte in etwa so aussehen:
| # 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 Fedora (2.6.23.1-42.fc8) root (hd1,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img title Fedora (2.6.23.1-42.fc8) root (hd0,0) kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet initrd /initrd-2.6.23.1-42.fc8.img
|
root (hd1,0) bezieht sich auf /dev/sdb, das bereits Teil unserer RAID-Arrays ist. Wir werden das System gleich neu starten; das System versucht dann, von den (noch degradierten) RAID-Arrays zu booten; falls das fehlschlägt, wird /dev/sda gebootet (fallback=1).
Als Nächstes passen wir den ramdisk (initrd) an die neue Situation an:
mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig
mkinitrd /boot/initrd-`uname -r`.img `uname -r`
Jetzt kopieren wir den Inhalt von /dev/sda1 und /dev/sda3 auf /dev/md0 und /dev/md2 (die auf /mnt/md0 und /mnt/md2 gemountet sind):
cp -dpRx / /mnt/md2
cd /boot
cp -dpRx . /mnt/md0
6 GRUB vorbereiten — Teil 1
Anschließend muss der GRUB-Bootloader auf der zweiten Festplatte /dev/sdb installiert werden:
grub
Im GRUB-Shell geben wir folgende Befehle ein:
root (hd0,0)
Beispielausgabe:
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub>
Dann:
setup (hd0)
Beispielausgabe:
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... 16 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub>
Dann für die zweite Platte/Partition:
root (hd1,0)
setup (hd1)
Beispielausgabe ähnlich wie oben.
Beende die GRUB-Shell mit:
quit
Zurück in der normalen Shell: Reboot und kontrollieren, ob das System erfolgreich von den RAID-Arrays startet:
reboot
Abnahmekriterien
- /proc/mdstat zeigt nach dem Zusammensetzen mindestens [UU] für kritische Arrays oder eine schrittweise Resynchronisation an.
- /boot und / sind auf /dev/md0 und /dev/md2 gemountet (mount zeigt /dev/md0 auf /boot und /dev/md2 auf /).
- GRUB ist auf beiden Festplatten installiert und das System bootet ohne manuelle Eingriffe.
- /etc/mdadm.conf enthält die ARRAY-Einträge für md0, md1, md2.
Checkliste für Rollen
- Systemadministrator (Vorbereitungen): Backup erstellen; UUIDs notieren; Partitionierung prüfen.
- Systemadministrator (Durchführung): mdadm create, Dateisysteme anlegen, /etc/fstab und /etc/mtab anpassen, initrd erneuern.
- Operator (Inbetriebnahme): GRUB installieren, Reboot durchführen, Logs prüfen (/var/log/messages, dmesg), RAID-Resync beobachten.
Rollback-Runbook (Kurz)
- Wenn nach dem Reboot das System nicht bootet, boote von der Original-Festplatte (BIOS/UEFI-Device wechseln).
- Mount /dev/sda3 und /dev/sda1, setze /etc/fstab und /boot/grub/menu.lst zurück auf LABEL-Werte oder vorherige Backups.
- Stelle /boot/initrd-
.img_orig zurück, falls mkinitrd Probleme machte. - Entferne die gerade erstellten RAID-Geräte mit mdadm –stop /dev/mdX und mdadm –remove –force, falls nötig.
Wichtige Notizen
- Nimm dir Zeit für das erste Reboot-Testen. Ein falsch gesetzter root= Parameter in GRUB verhindert das Booten.
- /dev-Bezeichnungen können sich zwischen Reboots ändern; verwende dauerhaft UUIDs in kritischen Umgebungen.
Kurzglossar
- mdadm: Tool zur Verwaltung von Linux-Software-RAID.
- degraded: RAID-Array hat weniger aktive Geräte als vorgesehen, aber läuft noch.
- initrd/mkinitrd: initial ramdisk, erforderlich, um Kernel beim Booten mit dem richtigen Root-Dateisystem zu versorgen.
Zusammenfassung
- Erstelle die RAID-Arrays mit mdadm, formatiere und mounte sie.
- Passe fstab, mtab und GRUB an, erneuere die initrd und kopiere die Daten.
- Installiere GRUB auf beiden Festplatten und teste das Boot-Verhalten.
Wen du fertig bist: Überwache die Resynchronisation (cat /proc/mdstat) und trage die neuen RAID-Konfigurationen in deine Betriebsdokumentation ein.
Ähnliche Materialien

Fehler 0xc00000e9 in Windows beheben

Videos mit VLC zusammenfügen

Print Spooler läuft nicht: Ursachen & schnelle Fixes

Likes & Kommentare im Instagram‑Freunde‑Tab verbergen
RAID1 mit zwei Festplatten einrichten
