Einmal habe ich einige Kernel-Patches installiert und auf einem Live-Server, auf dem wir Hunderte von Clients hatten, ist etwas schiefgelaufen. Es gab nur einen Kernel im System. Der Server war für einige Zeit außer Betrieb und mit einer Live-CD haben wir das System in Betrieb genommen und die weiteren Reparaturarbeiten durchgeführt.
Nun meine Frage: Ist es eine gute Idee, zwei Versionen des Kernels zu haben, damit wir immer mit einem anderen verfügbaren Kernel neu starten können, wenn der Kernel beschädigt ist? Lass es mich wissen, bitte.
Ist es auch möglich, 2 Versionen desselben Kernels zu haben? Damit ich bei einer Kernel-Beschä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 die gleiche Kopie dieses Kernels haben, so dass ich den Backup-Kernel starten kann, wenn mein Kernel beschädigt ist?
Antworten:
Sowohl die RedHat- als auch die Debian-basierte Distribution behalten mehrere Kernel-Versionen bei, wenn Sie eine neue mit
yum
oderapt-get
standardmäßig installieren . Dies gilt als bewährte Methode und wird genau für den von Ihnen beschriebenen Fall durchgeführt: Wenn mit dem neuesten Kernel ein Fehler auftritt, können Sie jederzeit einen Neustart durchführen und in GRUB wählen, ob Sie mit einem der vorherigen Kernel starten möchten.In RedHat-Distributionen steuern Sie die Anzahl der Kernel, um
/etc/yum.conf
mit deninstallonly_limit
Einstellungen Schritt zu halten . 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 diesen
rpm -ivh
nicht verwendenrpm -Uvh
: Der erstere hält den älteren Kernel an seinem Platz, während der spätere ihn ersetzt.Debian behält alte Kernel, entfernt sie jedoch nicht automatisch. Wenn Sie Ihre Boot-Partition 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 auch möglich, eine 2-Version desselben Kernels zu haben? -- Ja, es ist möglich. Ich kann es momentan unter CentOS 6.5 nicht überprüfen, aber unter CentOS 7 konnte ich das gewünschte Ergebnis erzielen, indem ich nur kernelbezogene
/boot
Verzeichnisdateien duplizierte und das Grub-Menü neu erstellte:quelle
Ja, das ist möglich und ich würde sogar raten. Sie müssen lediglich den Startvorgang einrichten, um die Alternative anzubieten. In der Regel geschieht dies in der Bootloader-Konfiguration. In der Regel können Sie einfach den vorhandenen Eintrag duplizieren und den Dateinamen des Kernel-Images und die Bezeichnung des Bootmenüeintrags ändern.
Auf einem Produktionsserver ist dies normalerweise kein Problem, aber bei jedem Upgrade des Kernels ist es ratsam, ein Backup vorzuhalten. Einige Linux-Distributionen bieten ein Rollback (normalerweise mit Snapshot-Funktionen für Dateisysteme) für Paketaktualisierungen an, um den Vorgang so einfach wie möglich zu gestalten, aber selbst in diesen Fällen würde ich ein Backup in der Regel bereithalten.
Bezüglich mehrerer Kopien desselben Kernels - auch das wäre sinnvoll, aber wie @goldilocks im folgenden Kommentar ausführt, sollten Sie darüber nachdenken, die Hardware auszutauschen, wenn Ihr Kernel beschädigt wird. Wenn Sie das Duplikat jedoch auf eine andere physische Festplatte legen, können Sie Probleme vermeiden. Aber bedenken Sie , dass die Kernel - Image - Datei wird nur immer beim Booten verwendet.
quelle
bash
Binärdateien beschädigt, dielibc
beschädigt wurden usw. All dies würde das System unbrauchbar machen. Diese Dateien sollten nicht "beschädigt" werden. Wenn dies der Fall ist, ersetzen Sie Ihre Hardware.