Hallo zusammen,
ich verzweifel seit Tagen an einem Restore-Szenario.
Ich habe von meinem System ein Tar-Image erstellt und möchte nun in einer VMWare den Restore-Fall nach einem Hardware-Totalausfall simulieren. Die Daten- und Bootmanagerwiederherstellung funtioniert bestens. Allerdings bekomme ich das verwendete mdadm-Raid nicht mehr zum Rennen und sehe beim Booten nur folgende Meldung:
Das Problem ist also, dass das Raid nicht zusammen geführt werden kann. Aber mir fallen keine Stellschrauben mehr ein. Ich habe ein neues Raid erstellt, die mdadm.conf angepasst und sicherheitshalber ein neues initramfs geschrieben. Habe ich irgendwo einen Denkfehler? Hier mein detailiertes Vorgehen:
Ohne Raid funktioniert das zuverlässig. Das Einzige was mir jetzt noch einfällt ist, dass der Superblock den die Systemrescuecd schreibt für das Debian4 aus dem Tar-Archiv nicht lesbar ist. Deshalb habe ich Version 0.90 bei mdadm angegeben, weil das laut mdadm auf meinem Originalsystem der Defaultwert ist. Wie man aber die tatsächliche Version des Superblocks auslesen kann, habe ich noch nicht rausgefunden.
Wer hat eine Idee, wie ich hier weiter komme? Ich bin echt ratlos. Eine defekte Platte in einem Raid gegen eine neue Austauschen ist ja mehr oder weniger Alltag. Aber es muss doch auch möglich sein, dass Ganze auf komplett neuer Hardware zum Laufen zu bringen, oder?
Danke für eure Hilfe!
-Zeaq-
ich verzweifel seit Tagen an einem Restore-Szenario.
Ich habe von meinem System ein Tar-Image erstellt und möchte nun in einer VMWare den Restore-Fall nach einem Hardware-Totalausfall simulieren. Die Daten- und Bootmanagerwiederherstellung funtioniert bestens. Allerdings bekomme ich das verwendete mdadm-Raid nicht mehr zum Rennen und sehe beim Booten nur folgende Meldung:
Begin: Mounting root file system... ...
Begin: Running /scruots/local-top ...
Begin: Loading MD modules ...
Success: loaded module raid1.
Done.
Begin: Assembling all MD arrays ...
mdadm: No devices listed in conf file were found.
failure: failed to assemble all arrays.
Done.
Done.
Begin: Waiting for root file system... ...
Das Problem ist also, dass das Raid nicht zusammen geführt werden kann. Aber mir fallen keine Stellschrauben mehr ein. Ich habe ein neues Raid erstellt, die mdadm.conf angepasst und sicherheitshalber ein neues initramfs geschrieben. Habe ich irgendwo einen Denkfehler? Hier mein detailiertes Vorgehen:
#Booten über aktuelle Systemrescuecd
#Partitionstabelle auf /dev/sda und /dev/sdb erstellen
cfdisk /dev/sda
# sda1 Boot Primäre Linux raid autodetect 57,58
# sda2 Primäre Linux swap / Solaris 1077,52
# sda3 Primäre Linux raid autodetect 248921,65
sfdisk -d /dev/sda | sfdisk /dev/sdb
#Raid-Verbund erstellen / superblock updaten
mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 /dev/sdb1 --metadata=0.90
mdadm --create /dev/md1 --level=mirror --raid-devices=2 /dev/sda3 /dev/sdb3 --metadata=0.90
#Dateisystem erstellen
mkfs.ext3 /dev/md0
mkfs.ext3 /dev/md1
mkswap /dev/sda2
mkswap /dev/sdb2
#Archiv einspielen
mount /dev/md1 /mnt/
mkdir /mnt/boot
mount /dev/md0 /mnt/boot/
cd /mnt
time ncftpget -c -V -u user -p pass 192.168.0.100 archiv.tar.bz2 | tar -xjpf - -C /mnt
#chroot starten:
chroot /mnt /usr/bin/env -i HOME=/root TERM=$TERM PS1='\u:\w\$ ' PATH=/usr/sbin:/usr/bin:/sbin:/bin /bin/bash +h
mount -t proc /proc proc
#Bootloader installieren
grub --no-floppy
root (hd0,0)
setup (hd0)
quit
#neue uuid des Raids ermitteln
mdadm --detail --scan
>ARRAY /dev/md0 level=raid1 num-devices=2 UUID=e89b1f50:4b91fcbe:c44c77eb:7ee19756
>ARRAY /dev/md1 level=raid1 num-devices=2 UUID=431cee17:6513c31f:c44c77eb:7ee19756
#uuid in mdadm.conf anpassen
mcedit /etc/mdadm/mdadm.conf
# ARRAY /dev/md1 level=raid1 num-devices=2 UUID=431cee17:6513c31f:c44c77eb:7ee19756
# ARRAY /dev/md0 level=raid1 num-devices=2 UUID=e89b1f50:4b91fcbe:c44c77eb:7ee19756
#initramfs aktualisieren
mkinitramfs -o /boot/initrd.img-2.6.18-6-686 2.6.18-6-686
#chroot beenden
umount /proc
exit
cd /
umount /mnt/boot
umount /mnt
reboot
Ohne Raid funktioniert das zuverlässig. Das Einzige was mir jetzt noch einfällt ist, dass der Superblock den die Systemrescuecd schreibt für das Debian4 aus dem Tar-Archiv nicht lesbar ist. Deshalb habe ich Version 0.90 bei mdadm angegeben, weil das laut mdadm auf meinem Originalsystem der Defaultwert ist. Wie man aber die tatsächliche Version des Superblocks auslesen kann, habe ich noch nicht rausgefunden.
Wer hat eine Idee, wie ich hier weiter komme? Ich bin echt ratlos. Eine defekte Platte in einem Raid gegen eine neue Austauschen ist ja mehr oder weniger Alltag. Aber es muss doch auch möglich sein, dass Ganze auf komplett neuer Hardware zum Laufen zu bringen, oder?
Danke für eure Hilfe!
-Zeaq-