En route vers une mise à jour dynamique du Kernel Linux

Depuis le début de l’histoire du système d’exploitation Linux, mettre à jour le noyau implique un redémarrage et donc la prévision d’un certain « downtime » lorsqu’il s’agit d’un serveur de production. Cela va cependant changer en 2014 puisqu’il y a au moins trois projets distincts  qui nous promettent le « zero downtime » pour patcher le noyau des serveurs.

Le tout dernier effort en ce sens est le projet « kpatch » de Red Hat qui a révélé le projet pour la toute première fois le 26 février dernier dans un blog. Red Hat arrive tout de même sur le tard car Oracle travaille également sur un tel projet depuis l’acquisition de Ksplice.

Michele Casey, Directeur de la gestion des produit chez Oracle indique que plusieurs facteurs sont à considérer lorsqu’il s’agit de mise à jour un noyau sans l’arrêter.

Orage a l’avantage d’être le premier

« Ksplice a permis de faire des milliers de mises à jour au Kernel sur plusieurs systèmes de production depuis déjà quelques années, » dit Casey. « En fait, il y a eu plus d’un millions de patches réalisés par Ksplice durant la courte vie de la technologie. »

Casey explique pour que les failles de sécurité ou les bogues soient appliquées sans un redémarrage du système, qu’il faut connaître toutes les différentes fonctions appelées et de changer les bouts de codes chauds au cœur du noyau.

Elle ajoute qu’il est essentiel d’avoir les composants de l’infrastructure exacts pour assurer les contrôles nécessaires afin d’assurer que la mise à jour stable et prête pour le déploiement en production.

« Ksplice offre les outils et l’expertise nécessaires pour surveiller les correctifs et déterminer ce qui devrait être converti tout en offrant de multiples méthodes pour l’installation et la gestion de ces mises à jour, telles que l’interface web de Ksplice et son client qui n’ont pas besoin d’Internet», a déclaré Casey. « En outre, l’évolutivité a été créé au sein de l’infrastructure et des outils pour aider à assurer tous les errata de noyau libérés à être corrigés par Ksplice de Ksplice. »

Oracle n’a pas non plus une vue particulièrement enthousiaste des autres technologies de leurs rivaux Red Hat et SUSE. Casey a déclaré que d’après ce que Oracle a vu jusqu’à présent des deux autres technologies, ils sont au mieux à l’étape de concept.

« Kgraft (suse) est très limitée et lourd, nécessitant beaucoup de duplication de code et d’édition de code », a déclaré Casey. « En aucun cas cette technologie très conceptuelle a démontré la capacité de faire quelque chose de plus que de créer un simple patch. Il n’y a aucune infrastructure pour gérer la construction de patch à grande échelle pour une grande variété de noyaux. »

SUSE adopte une approche différente en amont du noyau avec kGraft

 

Vojtech Pavlik, directeur de SUSE Labs, a expliqué à ServerWatch que kGraft n’a  jamais besoin de stopper le noyau pour faire un patch et il est même capable de patcher les fonctions du noyau qui sont exécutées activement par le système d’exploitation.

« KGraft est destiné à être intégré au noyau Linux en amont et de devenir un projet open-source à vie », a déclaré Pavlik. « Il s’appuie dessus et améliore l’infrastructure Linux existante pour s’intégrer parfaitement dans le noyau Linux. »

Pavlik a noté que la différence essentielle entre Ksplice et kGraft est l’approche du noyau en amont. Pavlik a noté que Ksplice a essayé puis échoué pour obtenir l’acceptation en 2008, principalement en raison de la complexité des changements requis.

« Notre objectif est l’adoption de notre projet, et donc nous avons décidé de prendre un nouveau départ, ce qui a permis à kGraft d’être plus petit, plus simple et plus léger afin de lui donner une meilleure chance d’être accepté dans arborescence du noyau en amont de Linux », a déclaré Pavlik. « Après notre annonce initiale de kGraft, il est devenu évident que nous n’étions pas les seuls à suivre cette ligne de pensée – Kpatch (Red Hat) était probablement né de la même manière. »

En termes de timing du noyau de Linux en amont, Pavlik a dit que l’attente de SUSE est d’ouvrir le code avant la fin du mois de Mars et soumettre des commentaires à la liste de diffusion du noyau Linux peu de temps après. Il y a aussi la possibilité d’une certaine forme de collaboration entre l’effort de Red Hat Kpatch et kGraft de SUSE.

« Nous nous félicitons de ce travail sur le même sujet et nous sommes impatients de travailler avec l’équipe Kpatch et la communauté des développeurs du noyau en général sur une solution en amont commun pour patcher le noyau « live », qui peut à la fin se révéler tout à fait différente « , a déclaré Pavlik.

Source: ServerWatch

Relu par Yann ;-)