Comment les serveurs Linux mettent à jour leur noyau sans redémarrer

13

Selon mes informations, la mise à niveau du noyau Linux nécessite un redémarrage. Le redémarrage d'un ordinateur personnel n'est pas un problème, mais je ne pense pas que ce soit la même chose pour un serveur.

Les serveurs qui utilisent les distributions Linux redémarrent-ils après la mise à niveau du noyau, ou utilisent-ils une sorte d'astuce pour éviter de démarrer ??

Sidahmed
la source

Réponses:

8

Un changement de noyau devrait obtenir un redémarrage. Vous pouvez installer le noyau, et dans certains cas, vous pouvez insérer et supprimer des modules de différents noyaux, mais je ne le conseillerais pas.

Un serveur pourrait être redémarré et le service ne serait pas affecté si le serveur fait partie d'un cluster. Vous pouvez également créer des clusters pare-feu / routeur, de sorte qu'il n'y ait pas de point de défaillance central (SPOF). Pour ce faire, vous utilisez ce que l'on appelle une adresse IP virtuelle (VIP) qui est partagée entre plusieurs systèmes.

Si vous voulez expérimenter cette idée, vous pouvez utiliser QEMU ou VirtualBox et autres pour créer des réseaux virtuels.

Ed Neville
la source
8
Qu'en est-il des correctifs du noyau en direct?
jiggunjer
La question n'était pas spécifique aux correctifs mineurs, mais mentionne la «mise à niveau» que je considérerai comme des mises à niveau de versions majeures. Par conséquent, pour «mettre à niveau» de 2.6 à> 3.0, je recommanderais de laisser tomber la machine de la charge avant de commencer le travail de mise à niveau. Après les modifications du noyau, je redémarrerais. Étant donné que grub / lilo aura probablement besoin de modifications, je suggère un redémarrage de courtoisie de toute façon.
Ed Neville
15

Oui, ils font un "redémarrage", mais pourraient faire un appel système kexec_load pour précharger le nouveau noyau.

Il y a aussi la possibilité de patcher le noyau en cours d'exécution, redhat kpatch par exemple. Toutes les choses que je connais ne peuvent pas changer les structures de données.

Bien sûr, les machines lisp étaient capables de patcher leurs noyaux en cours d'exécution au siècle dernier.

icare
la source
1
Il y a aussi vanilla kexec, pour simplement démarrer le nouveau noyau immédiatement. Selon votre définition de «redémarrage», cela peut être considéré comme une mise à niveau du noyau sans redémarrage.
Patrick