天天看點

不重新開機不當機!Linux核心熱更新檔的四種技術不重新開機不當機!Linux核心熱更新檔的四種技術

不重新開機不當機!Linux核心熱更新檔的四種技術不重新開機不當機!Linux核心熱更新檔的四種技術

供圖: shutterstock

有多種技術在競争成為實作linux核心熱更新檔的最優方案。

沒人喜歡重新開機機器,尤其是涉及到一個核心問題的最新更新檔程式。

為達到不重新開機的目的,目前有3個項目在朝這方面努力,将為大家提供核心更新時打熱更新檔的機制,這樣就可以做到完全不重新開機機器。

<a target="_blank"></a>

首先要介紹的項目是ksplice,它是熱更新檔技術的創始者,并于2008年建立了與項目同名的公司。ksplice在替換新核心時,不需要預先修改;隻需要一個diff檔案,列出核心即将接受的修改即可。ksplice公司免費提供軟體,但技術支援是需要收費的,目前能夠支援大部分常用的linux發行版本。

kgraft和ksplice在工作原理上很相似,都是使用一組diff檔案來計算核心中需要修改的部分。但與ksplice不同的是,kgraft在做替換時,不需要完全停止核心。 在打更新檔時,正在運作的函數可以先使用老版本或新核心中對應的部分,當更新檔打完後就可以完全切換新的版本。

和kgraft一樣,kpatch不僅僅可以在red hat的發行版本上使用,同時也被送出到了核心主線,作為一個可能的候選。 壞消息是red hat還未将此技術內建到産品中。 它隻是被合入到了red hat enterprise linux 7的技術預覽版中。

這項建立議也意味着兩個方案都還需要更長的時間,才能被linux核心正式采納。盡管suse步子邁得更快,并把kgraft應用到了最新的enterprise版本中。讓我們也關注一下red hat和canonical近期是否會跟進。

原文釋出時間:2015-01-13

本文來自雲栖合作夥伴“linux中國”

繼續閱讀