PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : System spiegeln - Probleme mit mkinitrd



rund
05.11.09, 20:46
Moin moin,
ich habe hier zwei Server, einen primären und einen Backup-Server.
Damit der Backup-Server die Daten des Primärsystems hat, hat dieser ein eigenes Linux unter dem ich per rsync die Daten des Primärsystems auf zwei seperate Partitionen (Nach der Anleitung von http://www.afokken.de/linux/mirror.php) kopiere.
Damit ich von den Backupdaten einen Nutzen habe soll die kopierte Partition am Backup-Server bootbar sein. Ich habe folgende Partionsaufteilung am Backup-Server (eigenes Linux)


/dev/disk/by-id/scsi-SATA_WDC_WD800JD-75M_WD-WMAM9CAK2132-part6 / ext3 acl,user_xattr 1 1
/dev/disk/by-id/scsi-SATA_WDC_WD800JD-75M_WD-WMAM9CAK2132-part1 /Dalek ext3 acl,user_xattr 1 2
/dev/disk/by-id/scsi-SATA_WDC_WD800JD-75M_WD-WMAM9CAK2132-part2 /Dalek/home ext3 acl,user_xattr 1 2
/dev/disk/by-id/scsi-SATA_WDC_WD800JD-75M_WD-WMAM9CAK2132-part7 /home ext3 acl,user_xattr 1 2
/dev/disk/by-id/scsi-SATA_WDC_WD800JD-75M_WD-WMAM9CAK2132-part5 swap swap defaults 0 0

Der Primärserver wird unter /Dalek mit folgendem Script gespiegelt:



#!/bin/sh
# Skript zum Spiegeln von PC1 nach PC2.
# Dieses Skript muß an die jeweiligen Gegebenheiten angepasst werden.
# Nach der Anpassung die folgende Zeile entfernen:
#exit 1

# Nach Ausführung dieses Skripts muss die Datei /etc/fstab
# des pc2-Grundsystems kopiert und von Hand angepasst werden.

# Dieses Skript soll nur auf PC2 laufen
if [ "$HOSTNAME" != "Cyberman" ]; then
echo "Aufruf '$0' nur auf Cyberman zulässig"
exit 1
fi

# Variablen
rscmd="rsync -az -v --numeric-ids --delete --delete-after -e ssh"
rhost="dalek:"
root_dir="/Dalek"
home_dir="/Dalek/home"

# Mirror-Partitionen auf PC2 mounten:
mount /dev/sda1 $root_dir
mount /dev/sda2 $home_dir

# Systemverzeichnisse nur einrichten:
test ! -d $root_dir/boot && (mkdir $root_dir/boot; chmod 755 $root_dir/boot)
test ! -d $root_dir/media && (mkdir $root_dir/media; chmod 755 $root_dir/media)
test ! -d $root_dir/media/cdrom && (mkdir $root_dir/media/cdrom; chmod 755 $root_dir/media/cdrom)
test ! -d $root_dir/media/floppy && (mkdir $root_dir/media/floppy; chmod 755 $root_dir/media/floppy)
test ! -d $root_dir/lost+found && (mkdir $root_dir/lost+found; chmod 755 $root_dir/lost+found)
test ! -d $root_dir/mnt && (mkdir $root_dir/mnt; chmod 755 $root_dir/mnt)
test ! -d $root_dir/proc && (mkdir $root_dir/proc; chmod 555 $root_dir/proc)

# Systemverzeichnisse kopieren:
$rscmd $rhost/bin $root_dir
$rscmd $rhost/boot $root_dir
$rscmd $rhost/dev $root_dir
# Nächste Zeile evt. um --exclude=/etc/sysconfig/network/ifcfg-eth-id-* ergänzen (s. Text)
$rscmd $rhost/etc $root_dir --exclude=/etc/fstab --exclude=/etc/mtab
$rscmd $rhost/home $home_dir
$rscmd $rhost/lib $root_dir
$rscmd $rhost/opt $root_dir
$rscmd $rhost/root $root_dir
$rscmd $rhost/sbin $root_dir
$rscmd $rhost/srv $root_dir
$rscmd $rhost/sys $root_dir
$rscmd $rhost/tftpboot $root_dir
$rscmd $rhost/tmp $root_dir
$rscmd $rhost/usr $root_dir
$rscmd $rhost/var $root_dir

# Mirror-Partitionen wieder unmounten:
umount $root_dir
umount $home_dir

exit 0


Damit die Partition bootbar ist habe ich in der menu.lst von grub folgenden Eintrag hinzugefügt:


###Dalek Mirror - Only boot this in case of emergency - Booting will cause dublicate IPs###
title Dalek Mirror - Will cause dublicate IP if Dalek server is still online!
root (hd0,0)
kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/sda6 vga=0x31a resume=/dev/sda5 splash=silent showopts
initrd /boot/initrd-2.6.22.5-31-default


Das Booten von der Partition schlägt leider fehl, da in der initrd-File noch die alte Partition per ID referenziert ist, die Platte des Backupservers aber eine andere ID hat:


drivers/hid/usbhid/hid-core.c: v2.6: USB HID core driver
..................Could not find /dev/disk/by-id/<primäre_Platte>-part6.
Want to fall back to /dev/hda6 ? (Y/n)
y
Waiting for device /dev/hda6 to appear: ........................not found -- exiting to /bin/sh

$ (shell)



Um den Fehler zu beheben muss ich - soweit ich das verstanden habe - das initrd-Image neu erzeugen.
Ich hab allerdins noch kein gutes Manual dazu gefunden und bin auch mit der Manpage nicht zurecht gekommen.
Kann mir einer sagen, wie ich bei der hier vorliegenden Konstellation mit mkinitrd ein Bootimage erstellen kann?
Alle bisherigen Versuche endeten darin, dass der Backup-Server wieder das eigene Linux gebootet hat, aber USB nicht mehr funktioniert hat (incl. Tastatur/Maus).

Die Fstab des gespiegelten Linux habe ich auch angepasst, aber soweit ich das verstanden habe kommt die ja erst später zum Einsatz und sollte hier noch keine Rolle spielen.

glako
05.11.09, 21:09
http://www.linux-forum.de/system-spiegeln-probleme-mit-mkinitrd-31683.html

lOtz
05.11.09, 21:24
Hier auch:
http://www.linux-club.de/viewtopic.php?f=4&t=106123

Rain_maker
05.11.09, 21:39
Und als Sahnehäubchen noch auf einem System rumeiern, welches

a) Seit ein paar Tagen eh keinen Support mehr bekommt (wenn es denn openSUSE 10.3 ist, was man anhand der Kernelversion "erraten" kann)

aber auch

b) Seit Installation nicht ein einziges Sicherheitsupdate gesehen haben muss, sonst wäre da nicht kernel 2.6.22.5-31 installiert.

rund
05.11.09, 23:22
Und als Sahnehäubchen noch auf einem System rumeiern, welches

a) Seit ein paar Tagen eh keinen Support mehr bekommt (wenn es denn openSUSE 10.3 ist, was man anhand der Kernelversion "erraten" kann)

aber auch

b) Seit Installation nicht ein einziges Sicherheitsupdate gesehen haben muss, sonst wäre da nicht kernel 2.6.22.5-31 installiert.
Ja, es handelt sich um OpenSuse10.3..
Als ich den primären Server aufgesetzt habe war das der aktuelle Stand und da es bis jetzt (weil die Firma - große Führungsstruktur, wenig Ahnung von der Praxis - kein Geld locker machen wollte) kein Backupsystem gab wollte ich kein Update riskieren, bei dem ein Serverausfall den Betrieb evtl. über Tage lahmlegen könnte. Der Server steht auch nur im Intranet und hat nur über einen Proxy Internetaccess, ist also auch nicht besonders gefährdet.

Ich kann am Backupsystem auch eine aktuelle Suse-Distri aufspielen, wenn das was bringt, aber ich dachte es könnte mir im weiteren Verlauf nützlich sein, wenn der Backup-Server mir der gleichen Version wie der primäre läuft.

Zum Thema Crossposting: Hätte ich gewusst, dass in allen drei Foren die gleichen Nutzer unterwegs sind hätte ich das gelassen. So aber hatte ich die Hoffnung, bzw. habe ich auch noch, dass sich evtl. unterschiedliche Lösungswege entwickeln.

pferdefreund
06.11.09, 05:58
Um Probleme mit ner initrd zu vermeiden, kompilier ich immer alles, was zum
Starten gebraucht wird, fest ein. (Chipsatz, Festplatten- und Dateisystemtreiber)
und Ruh is

Rain_maker
06.11.09, 08:32
Zum Thema Crossposting: Hätte ich gewusst, dass in allen drei Foren die gleichen Nutzer unterwegs sind hätte ich das gelassen.

Nimms mir nicht übel, aber bei solchen Aussagen bekomme ich nen Hals wie eine Keksdose.

Daß es hier um etwas ganz Anderes geht, ist Dir offensichtlich nicht in den Sinn gekommen?

Du hast nichts verstanden, ÜBERHAUPT nichts davon, was "Community" bedeutet.

Da kann ich nicht genug essen wie ich kotzen könnte, das zeigt nicht einen Hauch Respekt vor den Leuten, die sich freiwillig und unentgeltlich für Dich Zeit nehmen um nicht nur Dein Problem zu lösen.


So aber hatte ich die Hoffnung, bzw. habe ich auch noch, dass sich evtl. unterschiedliche Lösungswege entwickeln.

Genau, weil dann die eine Hand nicht wüsste, was die andere tut und sich nicht selten Probleme durch Überschneidungen ergeben von denen natürlich niemand auf Helferseite weiß.

Und wenn Du Dir dann damit selbst ins Knie schießt, dann hast Du es Dir redlich verdient, nur die, die sich an verschiedenen Stellen Gedanken gemacht haben, haben ihre Zeit verschwendet, aber die sind ja Deiner Ansicht nach eh nicht wichtig.

Die "Community" ist nicht Euer Selbstbedienungsladen ohne Kasse!

Rain_maker
06.11.09, 08:43
Um Probleme mit ner initrd zu vermeiden, kompilier ich immer alles, was zum
Starten gebraucht wird, fest ein. (Chipsatz, Festplatten- und Dateisystemtreiber)
und Ruh is

Alternative, die natürlich mit dem selben, potentiellen Problem zu kämpfen hat (alles rein macht den Bock eben doch fett).

Eine "Monster Initrd":


-A Create a so called "monster initrd" which includes all available features and modules.
Ob das auf 10.3 schon ging, keine Ahnung, aber tote Gäule sollte man eh nicht mehr reiten.

Klarer Vorteil dieser Methode:

Man muss nicht seinen eigenen Kernel backen und pflegen.