Linux kernel

淺談 Live Patching Technology – ksplice, kgraft and kpatch

Linux kernel 4.0 最近推出. 其中最受矚目的新功能就是Linux Kernel Live Patching Technology

其宗旨為在不重啟系統的前提下, 完成系統更新之動作. 最終達到0 down time的服務

note: live patch 目的主要是為了在不停機的前提下, 修復critical bug & security bug, 並非用來對kernel進行升級等等之大變動

目前已知的kernel live patch 技術有

1. ksplice – 2009 Oracle

2. kgraft – 2014 OpenSUSE

3. kpatch – 2014 redhat

其中kgraft and kpatch 在kernel 4.0 正式被納入, source code 位於kernel/livepatch/ 底下.

而ksplice雖然是以GPLv2 方式 open source, 但是GPLv2對於patent這方面之定義沒有像 GPLv3 這樣清楚,

加上Oracle是有名的patent tr….(消音

所以community 發展自有之live patch技術 – kgraft & kpatch

看到這裡, 一定有人會問說, 為什麼不發展一套就好了呢?

根據Redhat developer 的答覆 – 因為兩邊都不知道對方正在開發live patch的技術, 直到對方完成且公開後才知道

(這點挺令人宛爾的)

目前kgraft & kpatch 都只支援x86架構, 相信不久未來後也會支援其他 architecture.

詳情就看下面個人學習筆計投影片吧. 取之於網路,用之於網路。

發表迴響