[Hetzner] RoundUp Kernel 2.6.32-5-amd64 / apt-get upgrade error ( Squeeze )

  • Thread starter Thread starter HxD
  • Start date Start date
H

HxD

Guest
Guten Morgen,

wer einen Hetzner betreibt mit den Hauseigenen Repos, der wird, wenn er Debian Squeeze in der 64bit Version laufen lässt eventuell folgenden Fehler beim Upgrade auf den Kernel 2.6.32-5-amd64 bekommen:

Code:
root@alpha ~ # aptitude safe-upgrade
The following partially installed packages will be configured:
  linux-image-2.6.32-5-amd64
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
Setting up linux-image-2.6.32-5-amd64 (2.6.32-35squeeze2) ...
Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
run-parts: executing /etc/kernel/postinst.d/zz-lilo 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
Warning: Not updating LILO; /etc/lilo.conf not found
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
Generating grub.cfg ...
/usr/sbin/grub-probe: error: no such disk.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.32-5-amd64.postinst line 799.
dpkg: error processing linux-image-2.6.32-5-amd64 (--configure):
 subprocess installed post-installation script returned error exit status 2
configured to not write apport reports
                                      Errors were encountered while processing:
 linux-image-2.6.32-5-amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:
Setting up linux-image-2.6.32-5-amd64 (2.6.32-35squeeze2) ...
Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.32-5-amd64
W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
run-parts: executing /etc/kernel/postinst.d/zz-lilo 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
Warning: Not updating LILO; /etc/lilo.conf not found
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.32-5-amd64 /boot/vmlinuz-2.6.32-5-amd64
Generating grub.cfg ...
/usr/sbin/grub-probe: error: no such disk.
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-2.6.32-5-amd64.postinst line 799.
dpkg: error processing linux-image-2.6.32-5-amd64 (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 linux-image-2.6.32-5-amd64

----------------------------------------------------------------------------------------------------------------------------------------------------------------

ACHTUNG: Wenn ihr ÄLTERE Realtek Karten im Server habt, kann auch folgende Fehlermeldung mit ausgespuckt werden:

Code:
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r8169

Dafür einfach das FW-Update der Realtek Karte ausführen

Code:
aptitude install firmware-realtek

update-initramfs -u

----------------------------------------------------------------------------------------------------------------------------------------------------------------

So, nun widmen wir uns dem Fehler, wie ihr sehen könnt, kann der Kernel nicht geupdatet werden, weil LILO fehlt bzw. Grub falsch Konfiguriert ist. /etc/mdadm.conf hat keine arrays. Wenn dies der Fall ist, aber bei cat /proc/mdstat euer Raid korrekt ausgegeben wird, einfach folgendes eingeben, Temporär bekommt ihr so das System wieder zum laufen. ( Würde ansonsten bei einem Hardreset abschmieren )

Code:
grub-install --recheck /dev/sda
grub-install --recheck /dev/sdb

update-grub

Danach normal mit aptitude safe-upgrade den neuen Kernel installieren.
Wieso jedoch in der mdadm.conf keine array Daten stehen, kann ich aktuell auch noch nicht sagen. Soweit bin ich noch nicht...

Eventuell erspare ich so einigen direkt das nervige Gefrickel nach der Lösung...
 
Ist bei mir in einer VM auch aufgetreten, nach dem ich das Standard Hetzner 64bit Image per PXE installiert hatte. Nach dem update grub musste ich nur einen Neustart machen und schon ging es! Raid war bei mir nicht eingerichtet, hat irgendwie auch wenig Sinn in einer VM :D
 
Einen guten Tag,
Das gleiche Problem hat mich vor einigen Tagen auch ein wenig angenervt. Gerade wenn man als Root-Administrator plötzlich sowas auf der Console lesen muss, es stimmt was mit Netzwerkkarte nicht! OH NEIN, ausgerechnet die Hardware, die eine Verbindung zum Server überhaupt ermöglicht! ;) Da kann einem schon mal ganz merkwürdig werden!

Zu dem Problem mit mdadm.conf ohne ARRAY's:
Ich gehe mal davon aus, dass bei Hetzner auf einem System-Image eine bestückte mdadm.conf nicht viel Sinn macht, da diese Images ja auf verschiedenen Systemen mit unterschiedlichen Partitionierungen installiert werden. Allerdings wäre es löblich, wenn sie das install-script ein wenig erweitern.
Code:
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
Dies sollte auch das letzte Problemchen beseitigen!

Aber danke, im Namen aller, die hier ihre ersehnte Lösung finden! Ich wäre froh gewesen, ich hätte diese Seite schon früher entdeckt! :)
 
Last edited by a moderator:
Vielen Dank für diese effektive Hinweise ;)

Aber nun nach alle gute upgrades und fehlerfreie GRUB setups, bekam ich heute diese Meldung:

The GRUB boot loader was previously installed to a disk that is no longer present, or whose unique identifier has changed for some reason. It is important to make sure that the installed GRUB core image stays in sync with GRUB modules and grub.cfg. Please check again to make sure that GRUB is written to the appropriate boot devices.
/snip/
GRUB install devices:
[ ] /dev/sda (750156 MB; SAMSUNG_HD753LJ)
[ ] /dev/sdb (750156 MB; SAMSUNG_HD753LJ)
[ ] /dev/md1 (271 MB; ???)
[ ] /dev/md2 (747727 MB; ???)

Ich habe die beide festplatten sda/sdb ausgewaehlt. War das richtig????

H.
 
Danke

Ich wollte mich an dieser Stelle herzlich für die detailreiche Anleitung zur Fehlerbehebung bedanken.

DANKE :)
 
Ich habe mich an Hetzner gewendet um die auf den Fehler aufmerksam zu machen,d amit er aus den neueren Images verschwindet.

Gewohnt schnell und kompetent bekam ich dieses Feedback:

das im Link genannte Verhalten bestand nicht aufgrund der mdadm.conf. Ursache war das die device.map für grub nicht neu generiert bzwl gelöscht wurde und daher fälschlicherweise auf nicht vorhandene Festplatten gezeigt hat.

Dies wurde kurze Zeit später behoben. Die mdadm.conf sollte lediglich "DEVICES /dev/[hs]d*" und die Arrays enthalten.

Wir haben das Verhalten jetzt weiter vereinheitlicht, so daß direkt über das in mdadm enthaltene Skript mkconf eine vollständige Konfiguration generiert wird, wie es bereits bei Ubuntu der Fall ist.

Sie können sich eine mdadm.conf durch das Skript mkconf generieren lassen.
Die Ausgabe kann auch direkt in die mdadm.conf umgeleitet, nachdem Sie zuvor ein Backup erstellt haben:

/usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf

Die grub device.map können sie über das Kommando 'grub-mkdevicemap' neu erstellen lassen. Hierbei werden die HDDs mit ihren eindeutigen IDs eingetragen. Wir empfehlen aber stattdessen aber die generischen /dev/sda bzw. /dev/sdb Bezeichner einzutragen, um einen späteren Festplattentausch zu vereinfachen.

-----------------%<-----------------
# /boot/grub/device.map
(hd0) /dev/sda
(hd1) /dev/sdb
-----------------%<-----------------

Hetzner Service = +1
 
Back
Top