Linux 4.0 不再需要重啟
來源:易賢網(wǎng) 閱讀:1064 次 日期:2015-04-02 14:03:17
溫馨提示:易賢網(wǎng)小編為您整理了“Linux 4.0 不再需要重啟”,方便廣大網(wǎng)友查閱!

Linux 4.0 里,你可能再也不需要重啟你的操作系統(tǒng)。

在大多數(shù)的服務(wù)器或者數(shù)據(jù)中心里,喜歡用linux的一個(gè)原因是你不需要頻繁的進(jìn)行重啟操作。誠然,某些關(guān)鍵性的補(bǔ)丁必須要進(jìn)行重啟,但你也可以等到數(shù)月后再做此操作。現(xiàn)在,得益于 linux 內(nèi)核的最新更新 你也許可以數(shù)年間都不用重啟。

感謝 Ksplice 項(xiàng)目,使得這一特性在2009年就可以實(shí)現(xiàn)。此項(xiàng)目在對(duì)原始和打過補(bǔ)丁的內(nèi)核進(jìn)行比較后,使用一個(gè)定制的內(nèi)核模塊將新的代碼加入到運(yùn)行內(nèi)核中。在支持Ksplice的內(nèi)核中,每個(gè)將被修補(bǔ)的功能都攜帶有一套特殊標(biāo)志用以進(jìn)行區(qū)分。Ksplice進(jìn)程會(huì)監(jiān)視正在修補(bǔ)該函數(shù)的代碼是不是當(dāng)前不在使用,當(dāng)當(dāng),打上補(bǔ)丁,你的服務(wù)器上繼續(xù)運(yùn)行。

Oracle 在 2011 年收購了 Ksplice 項(xiàng)目,并將其作為 RHEL 的一項(xiàng)可選服務(wù),使其應(yīng)用于它自己的Oracle Linux 中(一個(gè)RHEL(Red Hat Enterprise Linux ) 的克隆版本)。這將此項(xiàng)技術(shù)隔離于其他企業(yè)版和服務(wù)器版 Linux 之外。

后來 KemelCare 為大部分企業(yè)發(fā)行版 Linux 發(fā)布了一項(xiàng)提供非啟動(dòng)式補(bǔ)丁服務(wù)。此程序作為專利軟件,只能通過按月支付來享有此服務(wù)。這從而很難滿足大多數(shù)Linux系統(tǒng)管理員。

所以,Red Hat 和 SUSE 開始著手完全開源的為 Linux 安裝嚴(yán)重補(bǔ)丁的非重啟方案。Red Had 的項(xiàng)目命名為 kpatch, SUSE的項(xiàng)目命名為 kGraft.

兩個(gè)公司采用了不同的途徑。Kpatch 發(fā)布了一個(gè) stop_machine() 命令。之后,它著眼于現(xiàn)有的棧處理去使用ftrace,如果打補(bǔ)丁可以被做得很安全,它會(huì)重定向運(yùn)行著的代碼到補(bǔ)丁函數(shù),而后就刪除現(xiàn)在過時(shí)的代碼。

比過去好的是,數(shù)據(jù)中心被運(yùn)行在世界各處,但是它們中的許多都需要一個(gè)21世紀(jì)式的重啟。今天的數(shù)據(jù)中心必須更有效率,更有魯棒性和靈活性,這超過以往任何時(shí)候。我們檢查怎樣才能運(yùn)行好你的數(shù)據(jù)中心,與之相對(duì)的是外包到一個(gè)云或者一個(gè)服務(wù)提供商,或是采取混合的方式。

Kgraft 一直使用ftrace,盡管它是工作在線程級(jí)的。當(dāng)一個(gè)老的函數(shù)被調(diào)用,它會(huì)定位到線程的一個(gè)點(diǎn),然后將其切換到新的函數(shù)。

雖然最終結(jié)果相同,即操作系統(tǒng)在打補(bǔ)丁的時(shí)候保持運(yùn)行,但還是有顯著的性能差異的。當(dāng)kGraft可能花費(fèi)數(shù)分鐘的時(shí)候,Kpatch可以只需要1到40毫秒,但他們從不會(huì)停機(jī)。

在2014年10月召開的linux 開發(fā)者大會(huì)上,兩個(gè)小組合二為一并且開始致力于聯(lián)合最好的程序使linux打補(bǔ)丁時(shí)不再重啟。實(shí)際上,他們最終是把kpatch和kGraft都丟進(jìn)了Linux內(nèi)核。

Jiri Kosina,一位SUSE軟件工程師和Linux內(nèi)核開發(fā)者解釋說,Linux內(nèi)核的熱補(bǔ)丁將會(huì)“為函數(shù)提供一個(gè)基本基礎(chǔ)設(shè)施”  熱補(bǔ)?。ɡ纾捍a重定向),包括為了包含實(shí)際補(bǔ)丁的內(nèi)核模塊的API(應(yīng)用程序接口),和為了在用戶空間可以操作補(bǔ)丁的API/ABI(應(yīng)用二進(jìn)制接口),這是“相對(duì)簡單和簡約的,因?yàn)樗M可能多的利用了已有的內(nèi)核基礎(chǔ)(名為ftrace)。它也是自包含的,在某種意義上說,它不在任何其他的內(nèi)核子系統(tǒng)中調(diào)用自身(它甚至不接觸其他任何代碼)”

Linux 4.0 RC 版現(xiàn)在已經(jīng)放出,Kosina 聲稱:”現(xiàn)在實(shí)施的x86架構(gòu)只是作為一個(gè)參考架構(gòu),對(duì)于powerpc, s390 和 arm 的支持工作已經(jīng)在進(jìn)行中了“。確實(shí),對(duì)于這些架構(gòu)的支持源代碼已經(jīng)在 Live Patching Git code 上了。

簡單的代碼僅僅只是開始,你的發(fā)行版將通過補(bǔ)丁來支持和使用它。隨著 Red Hat 和 SUSE 的支持,live 補(bǔ)丁將很快默認(rèn)在所有商業(yè)Linux發(fā)行版中。

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看技術(shù)文章
易賢網(wǎng)手機(jī)網(wǎng)站地址:Linux 4.0 不再需要重啟
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)