CentOS 6.5 neuer Kernel nach Neustart nicht aktiv

7

Heute habe ich einige leckere Updates ausgeführt und wollte überprüfen, ob alles gut gelaufen ist, indem ich sichergestellt habe, dass ich einen neuen Kernel habe. Zu meiner Überraschung bemerkte ich, dass CentOS immer noch 2.6.32-431.5.1.el6.x86_64 ausführte, obwohl es so aussah, als ob 2.6.32-431.23.3.el6 installiert war.

In der Tat wird 2.6.32-431.23.3.el6 in /etc/grub.conf angezeigt, jedoch nicht in den Startoptionen für den Start. Irgendwelche Ideen warum?

Im Update-Protokoll steht:

---> Package kernel-firmware.noarch 0:2.6.32-431.5.1.el6 will be updated
---> Package kernel-firmware.noarch 0:2.6.32-431.23.3.el6 will be an update

Könnte dies der Grund sein? Was bedeutet "wird ein Update sein"?

Meine /etc/grub.conf:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/VolGroup00-root
#          initrd /initrd-[generic-]version.img
#boot=/dev/vda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
password --encrypted $1$auui(i$sODM4ni/Zts9IlMWu.wWF/
title CentOS (2.6.32-431.23.3.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.23.3.el6.x86_64 ro root=/dev/mapper/VolGroup00-root rd_NO_LUKS LANG=en_US.UTF-8  KEYBOARDTYPE=pc KEYTABLE=sv-latin1 rd_NO_MD rd_LVM_LV=VolGroup00/swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup00/root rd_NO_DM rhgb quiet rhgb quiet audit=1
    initrd /initramfs-2.6.32-431.23.3.el6.x86_64.img
title CentOS (2.6.32-431.5.1.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.5.1.el6.x86_64 ro root=/dev/mapper/VolGroup00-root rd_NO_LUKS LANG=en_US.UTF-8  KEYBOARDTYPE=pc KEYTABLE=sv-latin1 rd_NO_MD rd_LVM_LV=VolGroup00/swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup00/root rd_NO_DM rhgb quiet rhgb quiet audit=1
    initrd /initramfs-2.6.32-431.5.1.el6.x86_64.img
title CentOS (2.6.32-431.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup00-root rd_NO_LUKS LANG=en_US.UTF-8  KEYBOARDTYPE=pc KEYTABLE=sv-latin1 rd_NO_MD rd_LVM_LV=VolGroup00/swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup00/root rd_NO_DM rhgb quiet rhgb quiet audit=1
    initrd /initramfs-2.6.32-431.el6.x86_64.img
Kristofer
quelle
Ist das eine virtuelle Maschine? Mit welchem ​​Anbieter?
Michael Hampton
Ja, es lebt in einem KVM-Hypervisor
Kristofer

Antworten:

4

Das Problem gefunden ... Anscheinend synchronisiert CentOS 6 /etc/grub.conf nicht richtig mit /boot/grub/grub.conf, also /boot/grub/grub.conf, das während des Startvorgangs gelesen wurde. Behoben mit:

rm /boot/grub/grub.conf
mv /etc/grub.conf /boot/grub/ 
ln -s /boot/grub/grub.conf /etc/grub.conf
Kristofer
quelle
Ich habe mich darüber gewundert. /boot/grub/grub.confist die richtige Datei, und sie sollte dort vorhanden sein, nicht in /etc.
Michael Hampton
Das scheint aus. Es gibt immer einen symbolischen Link von /etc/grub.conf zu ../boot/grub/grub.conf - Ist irgendwann etwas mit Ihrer / boot-Partition passiert?
ewwhite
1
Ich glaube nicht, wir haben bemerkt, dass dies auf allen unseren CentOS 6-Boxen passiert. Könnte irgendwie mit unserer automatisierten Installation zusammenhängen, aber ich bezweifle es, da wir im Installationsskript nicht mit grub herumspielen.
Kristofer
2

Sie müssen Linux neu starten, damit ein neuer Kernel aktiv wird.

Wenn Sie bemerken, wird der neu installierte Kernel, Version 2.6.32-431.23.3.el6.x86_64, als Standard in der Grub-Konfiguration festgelegt (Standard = 0).

Haben Sie überprüft, ob Sie nach Ihren Updates einen Systemneustart durchgeführt haben?


  • Können Sie den freien Speicherplatz in / boot überprüfen?
  • Sie können eine yum-Neuinstallation der Kernel-Pakete ausführen, um sicherzustellen, dass alles ordnungsgemäß installiert ist.
  • Wenn Sie einen Neustart durchführen, sehen Sie, was nach der POST-Sequenz des Systems im GRUB-Menü angezeigt wird.
ewwhite
quelle
Ja, ich bin sicher, es wurde sogar mehrmals neu gestartet. Ich habe mir sogar das Grub-Menü angesehen, das nur die letzten beiden Einträge zeigt.
Kristofer
Wie viel freier Speicherplatz ist in / boot?
ewwhite
Dies geschah auch auf mehreren Maschinen. Ich habe vor und nach dem Update eine Bereinigung alter Kernel (package-cleanup -y --oldkernels --count = 2) durchgeführt, da unsere Boot-Partitionen klein sind. Nach der Reinigung und der Installation beider Kernel sind 45 MB frei. Ich habe eine weitere Neuinstallation ohne Erfolg durchgeführt ...
Kristofer
1

Stellen Sie sicher, dass Sie den direkten Kernelstart nicht aktiviert haben , um einen Kernel von außerhalb der virtuellen Maschine zu starten.

Direkter Kernel-Boot im Virt-Manager

Das direkte Kernel-Boot-XML sieht folgendermaßen aus:

  <os>
    <kernel>/var/lib/libvirt/images/vmlinuz-3.15.8-200.fc20.armv7hl</kernel>
    <initrd>/var/lib/libvirt/images/initramfs-3.15.8-200.fc20.armv7hl.img</initrd>
    <cmdline>console=ttyAMA0,115200n8 rw root=/dev/mapper/armv9-root rootwait</cmdline>
    <dtb>/var/lib/libvirt/images/vexpress-v2p-ca9.dtb</dtb>
  </os>

Einige Anbieter wie Digital Ocean starten alle virtuellen Maschinen über einen direkten Kernel-Start, und in solchen Fällen führt kein Weg daran vorbei.

Michael Hampton
quelle
Gerade überprüft und "direkter Kernel-Boot" ist nicht aktiviert
Kristofer