Re: mdadm --create /dev/md0 ... -> error ...: No such file
Hi,
ich bin u.a. nach
http://www.eggmouse.com/phpwiki.php?pagename=RaidMitMdadmUnterDebian
und
http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Software-RAID-HOWTO.html
vorgegangen. Ich habe ein RAID1 auf zwei identischen Platten erstellt,
von denen auf einer schon aktiv das System lief, zusätzlich lief der
grub auf einer vorhandenen Platte hda, also nicht auf einem raid-device.
- bei identischen Platten mit
sfdisk -d /dev/hdb | sfdisk /dev/hde
die Partitionstabelle von der (vorhandenen) hdb auf die neue hde
kopieren.
- mit fdisk -l /dev/hdb und fdisk -l /dev/hde vergleichen
- mit cfdisk den Partitionstyp der zu spiegelnden Partitionen von 83
(Linux) auf FD (RAID autodetect) umstellen.
- Erstellung der RAID-Partitionen auf der NEUEN Festplatte:
mdadm -Cva /dev/md0 -l1 -n2 missing /dev/hde2
mdadm -Cva /dev/md1 -l1 -n2 missing /dev/hde3
- Erstellung von /etc/mdadm/mdadm.conf:
echo DEVICE /dev/hdb[23] /dev/hde[23] > /etc/mdadm/mdadm.conf
mdadm -D --brief /dev/md[01] >> /etc/mdadm/mdadm.conf
- jetzt mkfs.xfs /dev/md0
- von /dev/hdb booten und die Daten von hdb2 nach md0
kopieren, ebenso fuer /hdb3:
tar cf - /* --exclude "/proc/*" --exclude "/sys/*" --exclude "/mnt/*" --exclude "/test/*" | tar xf -
(Nicht vergessen, evtl. die ausgesparten Mountpunkte auf dem neuen
Device neu zu erstellen!!!)
- Das boot-Device /dev/md0 nach /test mounten und dort chrooten:
cd /test
chroot .
mount proc
rdev /vmlinuz /dev/md0
- in der fstab auf /dev/md0 die /dev/hdb-Eintraege gegen die passenden
/dev/md-Eintraege austauschen.
- in /etc/mkinitrd/modules die Module md und raid1 eintragen.
- Neue initrd erstellen:
mkinitrd -r /dev/md0 -o /boot/initrd.img-2.6.8-2-686raid
rm /initrd.img
ln -s /boot /initrd.img-2.6.8-2-686raid /initrd.img
- neuerstellte initrd.img zur Kontrolle mounten:
mount /boot/initrd.img-2.6.8-2-686raid /mnt/ -t cramfs -o loop
- Dort eingetragene UUID mit der vorher ausgelesenen vergleichen:
- ausgelesene UUID:
mdadm -D /dev/md0
- UUID in der initrd.img:
less script
(Hilfsbefehl um md zu mounten:
mdadm -A -s -a
mdadm /dev/md0 -a /dev/hdb2
- in lilo.conf root=/dev/md0 eintragen (oder grub bearbeiten).
- lilo ausfuehren.
- REBOOT
- Wenns funktioniert hat, die vorher noch nicht eingebundenen Partitionen
von ehemals /dev/hdb2 auch auf FD setzen (mit cfdisk oder wie hier
mit sfdisk):
sfdisk -c /dev/hdb2 fd
sfdisk -c /dev/hdb3 fd
- Partitionen zum RAID hinzufuegen:
mdadm /dev/md0 -a /dev/hdb2
mdadm /dev/md1 -a /dev/hdb3
- Warten, bzw. mit cat /proc/mdstat oder watch -n10 cat /proc/mdstat
den Fortschritt beobachten.
- /etc/mdadm/mdadm.conf editieren:
mdadm -D --brief /dev/md[01] >> /etc/mdadm/mdadm.conf
- mcedit /etc/mdadm/mdadm.conf
Das Ergebnis sollte ungefaehr so aussehen:
DEVICE /dev/hdb2 /dev/hdb3 /dev/hde2 /dev/hde3
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=456789bb:12345039:267854cb:1235c111
devices=/dev/hdb2,/dev/hde2 auto=yes
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=12345647:3445697b:111789ca:de542111
devices=/dev/hdb3,/dev/hde3 auto=yes
- Wieder neue Ramdisk erstellen:
mkinitrd -r /dev/md0 -o /boot/initrd.img-2.6.8-2-686raid
rm /initrd.img
ln -s /boot /initrd.img-2.6.8-2-686raid /initrd.img
- neuerstellte initrd.img zur Kontrolle mounten:
mount /boot/initrd.img-2.6.8-2-686raid /mnt/ -t cramfs -o loop
- Dort eingetragene UUID mit der vorher ausgelesenen vergleichen:
- ausgelesene UUID:
mdadm -D /dev/md0
- UUID in der initrd.img:
less script
- dpkg-reconfigure mdadm
(auto jetzt mit yes beantworten)
Hilfsweise:
Devices erstellen mit
mknod /dev/md0 b 9 0
mknod /dev/md1 b 9 1
Ist jetzt vielleicht alles ein wenig wirr, aber es hilft hoffentlich.
ciao, Dirk
--
| Akkuschrauber Kaufberatung and AEG GSM stuff |
| Visit my homepage: http://www.nutrimatic.ping.de/ |
| FIDO: Dirk Salva 2:244/6305.10 Internet: dsalvaATgmx.de |
| The "Ruhrgebiet", best place to live in Germany! |
Reply to: