Software-Raid-1 nachträglich unter Ubuntu 6.10 einrichten
Viele kennen das Problem: Das System ist eingerichtet und nachträglich will man ein RAID-1 einrichten. Hier eine kurze Anleitung.
Zuerst muss der Linux-Software-Raid-Manager installiert werden:
# apt-get install mdadm
Wir vergewissern uns, dass beide Festplatten (in diesem Fall /dev/sda und /dev/sdb) von fdisk erkannt wurden:
# fdisk -l
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 512 = 8225280 bytes
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 512 = 8225280 bytes
Für jede Partition, die ins Raid aufgenommen werden soll, muss der Typ auf „Linux raid Autodetect„ geändert werden:
Dies nehmen wir nun auf der ersten Platte vor:
# fdisk /dev/sda
Folgendes ist einzugeben
Command (m for help): t
Partition number (1-8): 1
Hex code (type L to list codes): fd
Dies wird für alle Partitionen wiederholt. (in unserem Fall nur 1 und 5 –> „/“ und „swap“) Das Ganze sollte dann nachher wie folgt aussehen:
#fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 1 30024 241167748+ fd Linux raid autodetect
/dev/sda2 30025 30401 3028252+ 5 Extended
/dev/sda5 30025 30401 3028221 fd Linux raid autodetect
Mit abschließender Eingabe von “w” wird die Konfiguration geschrieben.
Nun wird die Partitionstabelle der ersten Platte auf die zweite Platte kopiert:
# sfdisk -d /dev/sda | sfdisk /dev/sdb
Dies muss dann noch einmal kontrolliert werden:
# fdisk –l
Device Boot Start End Blocks Id System
/dev/sda1 1 30024 241167748+ fd Linux raid autodetect
/dev/sda2 30025 30401 3028252+ 5 Extended
/dev/sda5 30025 30401 3028221 fd Linux raid autodetect
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 30024 241167748+ fd Linux raid autodetect
/dev/sdb2 30025 30401 3028252+ 5 Extended
/dev/sdb5 30025 30401 3028221 fd Linux raid autodetect
Wenn beide Platten nun übereinstimmen, kann das Array erstellt werden: Das Array wird, zum Schutz vor Datenverlust während der Installation, vorerst nur auf sdb1 erstellt. Die andere Platte wird später erst eingebunden.
# mdadm -C /dev/.static/dev/md0 -l 1 -n 2 missing /dev/sdb1
# mdadm -C /dev/.static/dev/md1 -l 1 -n 2 missing /dev/sdb5
Formatieren
# mkfs.ext3 /dev/md0
# mkswap /dev/md1
Temporäre Mountpoints erstellen
# mkdir /mnt/src
# mkdir /mnt/dst
Ursprungssystem mounten:
# mount -o bind / /mnt/src
Das neue RAID-Array mounten:
# mount /dev/md0 /mnt/dst
Daten kopieren:
# rsync -avH –progress /mnt/src/ /mnt/dst/
Die Grub-Konfiguration anpassen
# vi /mnt/dst/boot/grub/menu.lst
Hier wird /dev/sda1 gegen /dev/md0 ausgetauscht.
title Ubuntu, kernel 2.6.17-10-386
root (hd0,0)
kernel /boot/vmlinuz-2.6.17-10-386 root=/dev/md0 ro quiet splash locale=de_DE
initrd /boot/initrd.img-2.6.17-10-386
quiet
savedefault
boot
Die fstab-Konfiguration anpassen:
1. (sda1 gegen md0 austauschen)
/etc/fstab
/dev/md0 / ext3 defaults,errors=remount-ro 0 1
2. Die Swap-Partition wird über eine UUID in die Fstab eingebunden. Diese ist über
# blkid oder # lshal
herauszufinden. Die neue ID muss dann in den entsprechenden Bereich eingetragen werden.
# /dev/md1
UUID=XXXXXXXXXXXXXXXXXXXX none swap sw 0 0
Daraufhin beide Konfigdateien in das alte System kopieren:
cp -dp /mnt/etc/fstab /etc/fstab
cp -dp /mnt/boot/grub/menu.lst /boot/grub
Neustarten, beten, dass alles klappt
und über ein # df kontrollieren, ob md0 eingehängt wurde:
root@kss:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/md0 237383680 766676 224558620 1% /
varrun 517924 120 517804 1% /var/run
varlock 517924 0 517924 0% /var/lock
procbususb 10240 80 10160 1% /proc/bus/usb
udev 10240 80 10160 1% /dev
devshm 517924 0 517924 0% /dev/shm
lrm 517924 18136 499788 4% /lib/modules/2.6.17-10-386/volatile
Daraufhin können die Partitionen der ersten Platte ebenfalls dem RAID hinzugefügt werden:
# mdadm –add /dev/md0 /dev/sda1
# mdadm –add /dev/md1 /dev/sda5
Status beobachten:
# watch cat /proc/mdstat
Das Duplizieren dauert ca. 80 Minuten, Status abwarten und das System laufen lassen!
3…2….1…und fertig ist das Raid.
18. Januar 2008 um 1:02 am
# mdadm -C /dev/.static/dev/md0 -l 1 -n 2 missing /dev/sdb1
# mdadm -C /dev/.static/dev/md1 -l 1 -n 2 missing /dev/sdb5
geht bei 7.10 nicht da werden die /dev/md0p1 schon erstellt??
oder habe ich was falsch gemacht?
15. April 2008 um 11:40 pm
Toll! Leider hat mein Provider im Standardimage noch LILO drauf. Auf was muss ich bei LILO achten um beim reboot nicht in die Falle zu laufen?