Ist es gut, mehrere Versionen des Linux-Kernels zu haben?

Ist es gut, mehrere Versionen des Linux-Kernels zu haben?

Einmal war ich gerade dabei, Kernel-Patches zu installieren, und auf einem Live-Server, auf dem wir Hunderte von Clients hatten, ging etwas schief. Im System war nur ein Kernel vorhanden. Der Server war also für einige Zeit ausgefallen, und mithilfe einer Live-CD haben wir das System wieder zum Laufen gebracht und die weiteren Reparaturarbeiten durchgeführt.

Nun meine Frage: Ist es eine gute Idee, zwei Versionen des Kernels zu haben, sodass wir bei einer Beschädigung des Kernels immer mit einem anderen verfügbaren Kernel neu starten können? Bitte lassen Sie es mich wissen.

Ist es außerdem möglich, zwei Versionen desselben Kernels zu haben? So dass ich bei einer Kernelbeschädigung einen anderen Kernel auswählen kann?

Edited:
My Server Details:
2.6.32-431.el6.x86_64
CentOS release 6.5 (Final)

Wie kann ich über dieselbe Kopie dieses Kernels verfügen, sodass ich den Sicherungskernel starten kann, wenn mein Kernel beschädigt ist?

Antwort1

Sowohl RedHat- als auch Debian-basierte Distributionen behalten standardmäßig mehrere Kernel-Versionen bei, wenn Sie eine neue mit yumoder installieren apt-get. Das gilt als bewährte Vorgehensweise und wird genau für den von Ihnen beschriebenen Fall durchgeführt: Wenn mit dem neuesten Kernel etwas schief geht, können Sie jederzeit neu starten und in GRUB wählen, ob Sie mit einem der vorherigen Kernel booten möchten.

In RedHat-Distributionen können Sie die Anzahl der Kernel steuern, die in /etc/yum.confden installonly_limitEinstellungen beibehalten werden sollen. Bei meiner neuen CentOS 7-Installation ist der Standardwert 5.

Auch wenn Sie unter RedHat einen neuen Kernel aus einem RPM-Paket installieren, sollten Sie verwenden rpm -ivh, nicht rpm -Uvh: Ersteres behält den älteren Kernel bei, während letzteres ihn ersetzt.

Debian behält alte Kernel, entfernt sie aber nicht automatisch. Wenn Sie Ihre Bootpartition freigeben müssen, müssen Sie alte Kernel manuell entfernen (denken Sie daran, mindestens einen der vorherigen Kernel zu belassen). Um alle Kernel-Installations- und Kernel-Header-Pakete aufzulisten, verwenden Sie dpkg -l | egrep "linux-(im|he)".

Beantwortung Ihrer Frage -Ist es außerdem möglich, zwei Versionen desselben Kernels zu haben?-- Ja, das ist möglich. Ich kann es derzeit nicht auf CentOS 6.5 überprüfen, aber auf CentOS 7 konnte ich das gewünschte Ergebnis erzielen, indem ich einfach die kernelbezogenen Dateien des /bootVerzeichnisses duplizierte und das Grub-Menü neu erstellte:

cd /boot

# Duplicate kernel files; 
# "3.10.0-123.el7" is a substring in the name of the current kernel
ls -1 | grep "3.10.0-123.el7" | { while read i; \
    do cp $i $(echo $i | sed 's/el7/el7.backup/'); done; }

# Backup the grub configuration, just in case
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup

# Rebuild grub configuration
grub2-mkconfig -o /boot/grub2/grub.cfg

# At this point you can reboot and see that a new kernel is available 
# for you to choose in GRUB menu

Antwort2

Ja, das ist möglich und ich würde sogar sagen, es ist ratsam. Sie müssen lediglich den Bootvorgang so einrichten, dass Ihnen die Alternative angeboten wird. Normalerweise geschieht dies in der Bootloader-Konfiguration – normalerweise können Sie den vorhandenen Eintrag einfach duplizieren und den Dateinamen des Kernel-Images sowie die Bezeichnung des Bootmenüeintrags ändern.

Auf einem Produktionsserver ist dies normalerweise kein Problem, aber wenn Sie den Kernel aktualisieren, ist es eine gute Idee, ein Backup zur Hand zu haben. Einige Linux-Distributionen bieten Rollback (normalerweise unterstützt durch Snapshot-Funktionen des Dateisystems) bei Paketaktualisierungen, um den Vorgang so unkompliziert wie möglich zu gestalten, aber selbst in diesen Fällen würde ich dazu neigen, ein Backup bereitzuhalten.

Was das Anlegen mehrerer Kopien desselben Kernels angeht – selbst das wäre sinnvoll, aber wie @goldilocks im Kommentar unten anmerkt, sollten Sie bei einer Beschädigung Ihres Kernels über einen Hardwareaustausch nachdenken. Andererseits könnte Ihnen das Speichern des Duplikats auf einer anderen physischen Festplatte einige Probleme ersparen. Bedenken Sie jedoch, dass die Kernel-Image-Datei nurimmerwird während des Bootvorgangs verwendet.

verwandte Informationen