Aufsetzen von Software RAID1 auf einem bereits installierten System (inkl. GRUB Konfiguration) (Fedora 8) - Seite 2


Um sicher zu stellen, dass keine Reste von vorherigen RAID Installationen auf /dev/sdb vorhanden sind, führen wir folgende Befehle aus:

mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdb3

Gibt es keine Reste von vorherigen RAID Installationen, wird jeder der obigen Befehlen einen Fehler wie diesen anzeigen (worüber Du Dir aber keine Sorgen machen musst):

[root@server1 ~]# mdadm --zero-superblock /dev/sdb1
mdadm: Unrecognised md component device - /dev/sdb1
[root@server1 ~]#

Anderenfalls werden die Befehle gar nichts anzeigen.

4 Unsere RAID Arrays erstellen

Lass uns nun unsere RAID arrays /dev/md0, /dev/md1 und /dev/md2 erstellen. /dev/sdb1 wird zu /dev/md0, /dev/sdb2 zu /dev/md1 und /dev/sdb3 zu /dev/md2 hinzugefügt. /dev/sda1, /dev/sda2 und /dev/sda3 können jetzt nicht hinzugefügt werden (das das System derzeit darauf ausgeführt wird), daher verwenden wir den Platzhalter missing in den folgenden drei Befehlen:

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 nun anzeigen, dass Du drei degraded RAID Arrays hast ([_U] oder [U_] bedeutet, dass ein Array degraded ist, während [UU] bedeutet, dass das Array in Ordnung ist):

[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: <none>
[root@server1 ~]#

Als Nächstes legen wir auf unseren RAID Arrays Dateisysteme an (ext3 auf /dev/md0 und /dev/md2 und swap auf /dev/md1):

mkfs.ext3 /dev/md0
mkswap /dev/md1
mkfs.ext3 /dev/md2

Als Nächstes erstellen wir /etc/mdadm.conf wie folgt:

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

Lass Dir die Inhalte der Datei anzeigen:

cat /etc/mdadm.conf

In der Datei müsstest Du nun Angaben über die drei (degraded) 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 Das System an RAID1 anpassen

Lass uns nun /dev/md0 und /dev/md2 einhängen (wir müssen das Swap Array /dev/md1 nicht einhängen):

mkdir /mnt/md0
mkdir /mnt/md2

mount /dev/md0 /mnt/md0
mount /dev/md2 /mnt/md2

Beide Arrays müsstest Du nun in der Ausgabe des folgenden Befehls sehen

mount


[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 ~]#

Als Nächstes bearbeiten wir /etc/fstab. Ersetze LABEL=/boot mit /dev/md0, LABEL=SWAP-sda2 mit /dev/md1 und LABEL=/ mit /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 nun LABEL=/boot mit /dev/md0 und LABEL=/ mit /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
Weiter mit dem GRUB Boot loader. Öffne /boot/grub/menu.lst und fügen fallback=1 direkt nach default=0 an:

vi /boot/grub/menu.lst


[...]
default=0 fallback=1 [...]
Das hat zur Folge, dass wenn der erste Kernel (das Zählen beginnt bei 0, also ist der erste Kernel 0) ausfällt, Kernel #2 gestartet wird.

Begib Dich ans Ende der (gleichen) Datei, dort siehst Du einige Kernel Zeilen. Kopiere den ersten Bereich und füge diese Kopie am Anfang ein; ersetze root=LABEL=/ mit root=/dev/md2 und root (hd0,0) mit 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 ganze 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) verweist auf /dev/sdb was bereits Teil unseres RAID Arrays ist. In wenigen Minuten werden wir unser System neu starten; das System wird dann versuchen von unseren (immer noch degraded) RAID Arrays zu starten; wenn dies fehlschlägt, wird es von /dev/sda (-> fallback 1) starten.

Als Nächstes passen wir unsere Ramdisk der neuen Situation an:

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

Nun kopieren wir die Inhalte von /dev/sda1 und /dev/sda3 nach /dev/md0 und /dev/md2 (die auf /mnt/md0 und /mnt/md2 eingehängt sind):

cp -dpRx / /mnt/md2


cd /boot
cp -dpRx . /mnt/md0

0 Kommentar(e)

Zum Posten von Kommentaren bitte