Gestern kriegte ich bescheid gesagt, dass ein Server, den ich mitbetreue, kaputt gegangen sei. Die Hardware wurde vom Hoster getauscht, allerdings wurden auch neue Platten eingebaut. Der Hoster bot an, zusätzlich die alte Platte anzuschließen, um die Daten zu kopieren. Warum er die Daten nicht einfach selbst kopierte, verstehe ich nicht ganz.
Im Rescue-System (ein grml) konnten wir dann die alte Platte (7 Jahre
Betriebsstunden, uff) und die neuen Platten sehen. Nach einem kurzen
dd
waren die Daten dann kopiert, danach ging das Anpassen und
Debuggen los. Hier eine Checkliste, was man beachten sollte:
/etc/udev/rules.d/70-persistent-net.rules
muss man
einen entsprechenden Eintrag für die neue Netzwerkkarte hinzufügen und
die alten entfernen, damit die neue Netzwerkkarte nicht als eth1
erkannt wird und plötzlich keine Konfiguration mehr hat.
Praktischerweise kann man den nötigen Inhalt direkt aus der
/etc/udev/rules.d/70-persistent-net.rules
des
Rescue-systems kopieren./etc/mtab
sollte, sofern sie existiert und noch
eine reguläre Datei ist, durch einen Symlink auf
/proc/mounts
ersetzt werden.update-initramfs -k all -u
aktualisiert werden.grub-install --recheck
/dev/sda
mit aktueller device map installiert werden./etc/fstab
sollte angepasst werden.Alle diese Punkte hatten wir befolgt, aber nach einem Neustart kam der Server trotzdem nicht hoch. Eine serielle Schnittstelle, KVM, Remote-Hands o.ä. hatten wir nicht zur Verfügung.
Als nächstes habe ich dann netconsole probiert, um auf einem anderen Rechner die Bootmeldungen zu lesen. Das kriegt man unter Debian folgendermaßen hin:
echo 'forcedeth' >> /etc/initramfs-tools/modules echo 'netconsole [email protected]/eth0,[email protected]/00:0c:db:4e:e8:00' >> /etc/initramfs-tools/modules update-initramfs -k all -u
Wobei hier 111.222.333.444 die IP des Servers ist und 555.666.777.888 die IP
ist, an welche die Nachrichten geschickt werden. Wichtig ist hier noch, dass
die MAC-Adresse diejenige des Gateways ist, damit die Pakete ins Internet
gelangen. Die kann man mit ip -4 neighbor show
herausfinden.
Des Rätsels Lösung war dann, dass im BIOS des Rechners die alte Festplatte
zuerst gelistet war, sodass er wieder ins alte System startete. Gelöst haben
wir das dann mit dd if=/dev/zero of=/dev/sdc bs=5M count=10
, womit
man den MBR und die Partition Table (und Daten!) der alten Platte überschreibt,
sodass das BIOS diese beim Starten überspringt.