Kaputter Server: Verschiedene Tipps

(2012-04-29)

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:

  1. In /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.
  2. Die /etc/mtab sollte, sofern sie existiert und noch eine reguläre Datei ist, durch einen Symlink auf /proc/mounts ersetzt werden.
  3. Die initramdisk sollte via update-initramfs -k all -u aktualisiert werden.
  4. Der Bootloader sollte via grub-install --recheck /dev/sda mit aktueller device map installiert werden.
  5. Die /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.