天翼云為尤拉社群貢獻首個C++熱補丁 加速推進聯創技術落地應用
天翼雲與尤拉社群開展關鍵技術聯合創新 熱補丁實現主機崩潰線上修復
天翼雲與尤拉社群共研支援 aarch64及x86平臺libcareplus熱補丁功能
近日,中國電信天翼雲基礎架構技術團隊與 openEuler社群合作共研了全面支援aarch64及x86平臺的libcareplus熱補丁功能,併為尤拉社群貢獻首個C++熱補丁,實現主機崩潰線上修復。這是天翼雲與尤拉社群聯合開展關鍵技術創新取得的又一成果。
之前雙方已成功研發了基於 Libcareplus工具的Qemu熱補丁功能。據天翼雲科技有限公司副總經理兼技術長廣小明在今年4月尤拉大會上介紹,Qemu熱補丁功能使主機分批序列升級轉變為並行同步升級,支撐現網補丁實施週期由月縮減到周,極大縮短了補丁的實施週期。
目前,新研熱補丁工具普適性已得到極大提升,應用場景更廣泛。而作為落地應用之一,天翼云為尤拉社群貢獻的首個 C++熱補丁實現了雲主機不用重啟修復bug的能力,保障客戶業務不中斷,真正做到“為飛行中的飛機更換髮動機”。
熱補丁技術能夠在不影響現網業務的情況下完成程式修復、適用於需要快速響應的場景,可謂是短小精悍。其中 libcareplus熱補丁技術更是集萬千寵愛於一身。
據瞭解, ibcareplus熱補丁技術是基於上游社群libcare獨立發展的分支,由openEuler社群進行自主孵化,主要包括熱補丁製作、補丁管理和補丁加/解除安裝等。相比於上游社群的libcare,libcareplus作為一個使用者態程式熱補丁框架,可以在不重啟程式的情況下,支援對x86和aarch64架構中Linux系統上執行的目標程式進行熱補丁操作。同時,libcareplus全面支援openEuler Qemu元件,支援函式級過濾、增量補丁、以及補丁檔案解析等。
此次天翼雲聯合尤拉社群打造的 libcareplus熱補丁功能,可以應用於CVE漏洞修復,也可應用於不中斷應用服務的緊急bug修復。
而且在合 作 研 發 過程中,天翼雲基礎架構技術團隊還針對全域性變數、區域性靜態變數等熱補丁功能缺失的痛點進行深度研發。 以前增加全域性變數補丁會導致目標程式崩潰,只能採用分配記憶體等方式規避,經優化後增強了補丁程式碼的易修改和易維護性。這些功能成功適配多個主流 Q emu版本,大大提高了libcareplus熱補丁工具的適用性,為大規模批量應用奠定了堅實的基礎。
同時 在實際業務應用場景中,天翼雲發現 libcareplus在處理g++高版本生成的彙編檔案時,在彙編檔案比對和生成過程中,程式碼塊結構劃分異常,進而導致生成的彙編檔案無法被as彙編器正確解析。天翼雲聯合尤拉社群針對該場景進行優化創新,基於尤拉社群libcareplus 擴充套件增加支援g++8特性,實現libcareplus支援C++軟體熱補丁製作及管理能力 。
目前 ,該 特性原始碼及單元測試用例已貢獻到尤拉社群,並在尤拉社群虛擬化SIG組進行技術分享,相關特性已被尤拉社群收錄至22.03 LTS發行版。
新研熱補丁工具普適性增強,應用場景更加廣泛
經過 天翼雲基礎架構技術團隊與openEuler社群共同優化後,libcareplus熱補丁工具的應用場景得到了極大的擴充套件。
1.為單函式修改製作單個補丁
2.為多個函式修改製作多個補丁
3.新增函式
4.新增全域性變數
5.TLS變數
6.冷熱塊重排
加速聯創技術落地 天翼云為尤拉社群貢獻首個 C++熱補丁
對很多使用者來說,最怕在業務辦理過程中突然中斷、等待修機,但這種現象卻不時發生。當尤拉系統下的雲主機出現 Qemu崩潰時, 通常情況下該問題可以通過重啟雲主機冷補丁方式進行修復 ,但會帶來客戶業務出現短暫的中斷。
為了解決線上部分 Q emu crash導致雲主機重啟問題,中國電信天翼雲彈性儲存技術團隊深入程式碼分析,發現原生librbd存在嚴重的程式碼bug。為了保證客戶雲上業務連續不中斷,提供更高的雲端儲存可用性 , 中國電信天翼雲彈性儲存技術團隊 通過 不斷反覆驗證和實驗 , 利用libcareplus C++熱補丁技術,librbd熱補丁程式碼在不進行換行、不新增介面的情況下,通過程式碼資料結構,計算變數在記憶體中的地址偏移的方式對程式碼進行修復,最終在記憶體中更新librbd補丁,實現不 需 重啟虛擬機器打librbd熱補丁能力 ,即 雲主機不用重啟 也能 修復bug的能力, 既 保 障客戶 雲上業務連續性 又 大大縮短運維時間 ,真正 做到了 “ 為 飛行中的飛機更換髮動機 ”。
目前,該項熱補丁技術成為了尤拉社群第一個 C++熱補丁,已在南寧、昌吉、蘭州等資源池正式上線,部署超過10萬臺雲主機,覆蓋金融、醫療、政企等眾多行業客戶。
未來,天翼雲 將與 尤拉開源社群持續合作,開展更多聯合創新, 包括 在提升雲主機資源利用效率方面,開展虛擬機器高低優先順序混部、容器線上離線混部創新;在可信雲主機方面,開展機密計算創新;在DPU解除安裝上,開展分散式儲存解除安裝、容器網路解除安裝創新;在雲原生全棧方面,開展安全容器、KubeEdge 邊雲協同創新 等。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014251/viewspace-2900354/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 創新的力量 天翼雲推動科技創新技術實踐落地
- 天翼雲成為首個加入openGauss社群的運營商雲
- 《金融電子化》2021 金融業新技術應用創新突出貢獻獎。
- 熱更新應用--熱補丁Hotfix學習筆記筆記
- 首個能源區塊鏈應用落地推動清潔能源互聯共享區塊鏈
- 技術貢獻解讀 浪潮雲海OpenStack X版本技術貢獻中國第一
- 尤拉函式的應用函式
- 天翼雲:加速推進雲網融合 共贏算力時代
- 平凱星辰獲評 《金融電子化》2021 金融業新技術應用創新突出貢獻獎
- 博睿APM獲《金融電子化》2021年金融業新技術應用創新突出貢獻獎
- 渝中區:找準場景應用,區塊鏈技術加速落地區塊鏈
- 再次登頂,浪潮雲海OpenStack Y版本社群技術貢獻中國第一
- 微信 Android 熱補丁實踐演進之路Android
- 為何《貢獻者許可協議》不利於開源社群?協議
- 為抗擊新肺炎貢獻一份技術力量-App研發APP
- 天翼雲4.0首亮相!
- 探討計算機視覺前沿技術,加速智慧城市落地應用 | CNCC 2019計算機視覺
- 樹莓派使用入門:如何為樹莓派社群做出貢獻樹莓派
- 訓練營 | 如何成為一名開源社群貢獻者?
- 【補丁】Oracle補丁的知識及術語Oracle
- 戰碼先鋒直播預告丨參與文件貢獻,開啟OpenHarmony社群貢獻之旅
- 尤拉計劃751:串聯重合
- NULS社群為了承載商業應用落地所累積的區塊鏈技術思維 - 模組篇區塊鏈
- 大模型基礎應用框架(ReACTSFTRAG)技術創新及零售業務落地應用大模型框架React
- 加速機器人產業落地 思嵐科技榮獲 “抗議先鋒卓越貢獻獎”機器人產業
- 天翼雲混合雲容災技術解析
- 乾貨!天翼雲DPU技術解碼
- 尤拉計劃700:尤拉幣
- 感謝!12個國家的122位分析師,你們為機器之心貢獻了158篇技術原創文章
- Android熱補丁之Robust(二)自動化補丁原理解析Android
- LoadRunner關聯技術的應用
- 尤拉計劃713:圖蘭熱水系統
- Oracle 19c- 19.8應用32242453補丁Oracle
- Apache SeaTunnel 4月回顧:明星貢獻者與技術突破Apache
- GitHub Contribution 貢獻圖手辦 | 簡單上手 | 技術點評Github
- 全球首個品牌鏈上線:“品牌星球”DAPP應用落地APP
- 為什麼要貢獻開源
- Microsoft AI Day:支援開放合作,普及技術應用, 推進行業企業智慧化創新ROSAI行業