成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

零代價修復服務器內核缺陷 UCloud內核熱補丁技術揭秘

運維 服務器運維
對于一個擁有成千上萬臺服務器的公司,Linux內核缺陷導致的死機屢見不鮮。讓工程師們糾結的是,到底要不要通過給服務器升級內核來修復缺陷?升級意味者服務器重啟、業務中斷以及繁重的準備工作;不升級則擔心服務器死機,同樣造成業務中斷和繁重的善后工作。

7月18日,由InfoQ主辦的ArchSummit全球架構師峰會在深圳拉開帷幕,此次會議重點選擇了6個當前最受關注的領域,包括:游戲、電商、移動互聯網等等。UCloud作為國內專注服務上述垂直領域的云服務商,受邀參加了本次大會。會上,UCloud資深工程師邱模炯還以《UCloud云平臺的內核實踐》為主題,給大家揭開了UCloud云平臺內核技術的神秘面紗。其中,“UCloud內核熱補丁技術”更是引發了全場架構師們的極大關注。

如何零代價修復海量服務器的Linux內核缺陷?

對于一個擁有成千上萬臺服務器的公司,Linux內核缺陷導致的死機屢見不鮮。讓工程師們糾結的是,到底要不要通過給服務器升級內核來修復缺陷?升級意味者服務器重啟、業務中斷以及繁重的準備工作;不升級則擔心服務器死機,同樣造成業務中斷和繁重的善后工作。

而在今天的云計算時代,一臺宿主機往往運行多個云主機,每一次重啟不管是主動升級還是被動死機,都意味著中斷其上運行的所有云主機。因此,宿主機內核缺陷的修復更加棘手。

而作為一個支撐著上萬家企業用戶IT基礎架構的云服務商,UCloud云平臺上的海量宿主機又是如何修復內核缺陷的呢?

邱模炯透露,如果按照傳統的重啟方式來修復,那么無論是對于UCloud或是用戶,都意味著繁重的運維和業務中斷。但是,UCloud通過“內核熱補丁技術”——即給運行中的內核打上二進制補丁,UCloud已經做到了零代價免重啟修復海量服務器的內核缺陷!目前為止,UCloud對所發現的上游內核10+個缺陷全以熱補丁方式修復,累計數萬臺次,無一例失敗且無任何副作用;理論上避免了相應次數的宿主機重啟及所隱含的云主機業務中斷。這項技術在UCloud已經成熟。

UCloud 內核熱補丁技術揭秘

UCloud的熱補丁技術基于多年前的開源ksplice加以定制優化而來,通過加載一個特殊準備的熱補丁模塊來修復內核。其過程如下圖所示:

 

 

熱補丁模塊由ksplice程序編譯生成,包含有缺陷的二進制指令和修復后的二進制指令(這些二進制按函數級別組織);模塊加載后,自動定位到內核的缺陷處并以修復指令動態替換缺陷指令。

除了免重啟修復,熱補丁還用于內核開發過程的性能分析和故障定位。比如,加上性能統計代碼生成熱補丁,就可以在線分析感興趣的性能問題;加入額外調試代碼捕捉運行中內核的異常。這些非常有用,更是海量服務器里捕捉不可重現內核異常的不二法寶。由于熱補丁不需要重啟服務器,既可打入也可撤銷,所以不會有副作用。

UCloud對開源Ksplice的優化主要在以下三個方面:

支持高版本內核

熱補丁技術與內核緊密耦合。不同版本的內核在指令結構體,符合表結構體和一些特性上(比如早期內核沒有ftrace)有所不同,直接影響熱補丁成敗。UCloud研究了各版本內核的區別,使得同一份ksplice支持各個版本的Linux內核。值得一提的是,解決了ftrace與ksplice不兼容的問題。

允許熱修復頻繁調用的函數

不管什么樣的熱補丁技術,兩種類型的內核函數難以熱補丁:頻繁使用的內核函數如schedule, hrtimer;經常處于線程棧內核部分頂部的函數,如sys_poll, sys_read。UCloud更改了ksplice相關內核代碼和用戶態工具,成功解除了這些限制,比如UCloud現網服務器已打入了三個hrtimer熱補丁。

減少業務中斷時間

ksplice是在stop_machine后替換二進制指令的。雖然單次stop_machine對業務造成的中斷在一毫秒左右,但有些頻繁使用的內核函數需要大量重試才能碰到合適的熱補丁時機,于是會造成最長達上百毫秒的中斷。UCloud在此做過一點優化,使得業務中斷時間控制在十毫秒級別。

海量服務器環境下熱補丁技術可用來零代價且無副作用地修復內核缺陷,而且內核開發也因熱補丁能走得更遠更好。以前因為缺乏輔助分析手段和懼怕內核BUG,即使適合在內核實現的特性也被告誡移到用戶態實現,然而有了熱補丁,相關觀念也可以適當調整,內核開發也可以更加大膽和跳脫。

責任編輯:路途 來源: 互聯網
相關推薦

2019-01-16 10:33:41

Linux

2015-12-18 17:57:17

TiC

2010-01-18 17:32:03

2010-11-17 09:11:38

Linux內核補丁

2017-12-08 09:56:28

內核服務器性能

2018-12-27 10:56:04

Linux內核現狀

2013-12-20 13:08:12

Linux內核服務器

2025-04-08 04:00:00

Linux內核頁面回收

2017-08-24 11:24:10

2010-05-18 18:47:31

2019-01-10 11:12:15

Nginx服務器架構

2010-01-15 09:46:24

2011-08-22 13:11:28

linux

2013-12-12 17:46:37

2011-11-29 12:10:57

2010-01-14 20:29:51

2010-06-10 10:32:35

openSUSE使用教

2014-04-01 16:52:10

SUSEkGraftLinux內核

2010-01-15 10:42:40

2010-07-28 15:16:03

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品亚洲一区二区三区在线 | 成人av在线播放 | 免费亚洲网站 | 国产欧美日韩精品在线观看 | 热久久999 | 久久久久久国产精品免费免费狐狸 | 在线观看国产 | 亚洲性爰 | 中文字幕在线第一页 | 国产精品久久久久久婷婷天堂 | 欧美亚洲视频在线观看 | 亚洲久草| 国产精品一区二区三区在线播放 | 欧美一区2区三区4区公司二百 | 91精品国产综合久久精品 | 久久精品免费观看 | 久久久久久久久久久成人 | 欧美日韩在线综合 | av在线视 | 免费看91 | 欧美精品91爱爱 | 日韩毛片在线免费观看 | com.国产 | 国产成视频在线观看 | 懂色av色香蕉一区二区蜜桃 | 国产精品视频一二三区 | 超碰人人人人 | 亚洲一区精品在线 | 欧美中文字幕一区二区 | 国产在线网址 | 色综合视频 | 欧美无乱码久久久免费午夜一区 | 成人av电影网 | 久久国产精品视频免费看 | 久久久www成人免费无遮挡大片 | 国内毛片毛片毛片毛片 | 欧美 视频 | 日韩欧美网| 精品国产一区二区三区久久久蜜月 | 久久久久国产一区二区三区 | 国户精品久久久久久久久久久不卡 |