web-dev-qa-db-fra.com

Comment puis-je mettre à niveau le noyau de mon serveur sans redémarrer?

C'est une question chargée parce que je suis déjà au courant de et qui m'intéresse beaucoup ksplice. Le problème est que, depuis qu’ils ont été achetés par Oracle, ils ont été forcés d’extraire de nombreuses distributions de serveurs des offres. La réponse n’est pas aussi simple qu’elle l’était.

J'ai remarqué ne question sur Unix.SE qui dit:

Vous pouvez créer vos propres correctifs ksplice à charger dynamiquement dans votre propre noyau.

Génial! Mais comment?!

J'ai installé le package ksplice gratuit dans le référentiel de mon bureau (et non le ksplice-uptrack qui n'est pas libre) et souhaite maintenant générer et appliquer des mises à jour. Quel est le processus? Existe-t-il des scripts pour automatiser le processus?

De plus, si toutes les machines requises pour les mises à niveau sans redémarrage se trouvent dans le noyau (et le paquet ksplice), pourquoi n’en tirons-nous pas avantage par défaut?


Assez récemment kGraft a été annoncé . Il semble y avoir à peu près le même résultat, donc si vous avez une réponse à ce sujet, je serais tout aussi heureux de cela. Il est actuellement à quelques mois de sa libération.


Remarque 1: Je suis heureux d'avoir une solution à côté de ksplice, mais il doit fournir la même chose: des mises à jour progressives du noyau pouvant être appliquées sans redémarrer l'ordinateur. serveur.

Note 2: Je le répète; le "service" principal de ksplice ne prend pas en charge Ubuntu Server. C'était l'habitude mais ce n'est plus le cas. Lorsque je parle de vouloir utiliser ksplice, je parle des outils open source du package ksplice. Toute réponse qui parle de ksplice-uptrack n’est probablement pas ce que je cherche, car c’est la partie qui s’intègre directement avec le "service" susmentionné.

29
Oli

Toutes les autres réponses ici sont excellentes, mais pour Ubuntu en particulier, Canonical offre maintenant ce service le 16.04.

Ceci utilise la technologie de mise à jour dynamique du noyau Linux en amont depuis la publication de la version 4.0.

6
dpb

Je ne connais pas grand chose à ksplice, mais je pensais le mentionner - avez-vous entendu parler de kexec? Cela pourrait être ce dont vous avez besoin.

En ce qui concerne la question, pourquoi n’avons-nous pas adopté ce mécanisme par défaut? Eh bien, écraser la mémoire du noyau actuel pendant son exécution peut causer des problèmes. Il s'attend également à ce que les périphériques matériels soient dans un état bien défini, ce qui n'est pas toujours possible.

Vous pouvez consulter le développeur IBM travaille article à ce sujet pour décider si cela répond à vos besoins.

6
Marcin Kaminski

ksplice autorisera l’échange de noyau sans avoir besoin de redémarrer. Uptrack fonctionne dans ksplice et contient un fichier de configuration modifiable dans /etc/uptrack/uptrack.conf.

3
blindfett

Il existe quelques alternatives totalement ouvertes à Ksplice qui ont toutes deux été soumises pour inclusion dans le noyau Linux principal. Il est trop tôt pour dire qui se retrouvera dans le noyau, mais vous pouvez toujours les essayer si vous êtes assez courageux:

Pour en savoir plus sur les deux, cliquez ici: correctifs SUSE Posts, Kraft, correctifs Kpatch pour Red Hat

2
bmaupin

Le wiki Arch Linux avait des instructions: https://wiki.archlinux.org/index.php/ksplice

La seule chose qui semble être spécifique à la distribution est la façon d’installer ksplice lui-même. Puisque vous avez déjà compris cela, semble-t-il, je pense que cela devrait vous mettre sur la bonne voie.

1
bobpaul

Depuis le 16 juillet 2015, "Oracle Ksplice est offert gratuitement sur Fedora et Ubuntu Desktop Editions.", Officiellement.

Il suffit d'installer le fichier .deb téléchargé vous pouvez obtenir ici .

Si vous essayez Sudo dpkg -i ksplice-uptrack.deb, vous devrez peut-être réparer les dépendances avec Sudo apt-get install -f.

0
Pablo Bianchi